@crawlee/core 3.0.0-beta.9 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -133
- package/autoscaling/autoscaled_pool.d.ts +5 -5
- package/autoscaling/autoscaled_pool.d.ts.map +1 -1
- package/autoscaling/autoscaled_pool.js +16 -16
- package/autoscaling/autoscaled_pool.js.map +1 -1
- package/autoscaling/snapshotter.d.ts +6 -6
- package/autoscaling/snapshotter.d.ts.map +1 -1
- package/autoscaling/snapshotter.js +12 -8
- package/autoscaling/snapshotter.js.map +1 -1
- package/autoscaling/system_status.d.ts +1 -1
- package/autoscaling/system_status.d.ts.map +1 -1
- package/configuration.d.ts +77 -62
- package/configuration.d.ts.map +1 -1
- package/configuration.js +85 -87
- package/configuration.js.map +1 -1
- package/crawlers/crawler_commons.d.ts +7 -12
- package/crawlers/crawler_commons.d.ts.map +1 -1
- package/crawlers/crawler_utils.d.ts +1 -1
- package/crawlers/crawler_utils.d.ts.map +1 -1
- package/crawlers/statistics.d.ts.map +1 -1
- package/crawlers/statistics.js +1 -1
- package/crawlers/statistics.js.map +1 -1
- package/enqueue_links/enqueue_links.d.ts +25 -23
- package/enqueue_links/enqueue_links.d.ts.map +1 -1
- package/enqueue_links/enqueue_links.js +23 -23
- package/enqueue_links/enqueue_links.js.map +1 -1
- package/enqueue_links/shared.d.ts +11 -6
- package/enqueue_links/shared.d.ts.map +1 -1
- package/enqueue_links/shared.js +7 -2
- package/enqueue_links/shared.js.map +1 -1
- package/errors.d.ts +16 -0
- package/errors.d.ts.map +1 -0
- package/errors.js +22 -0
- package/errors.js.map +1 -0
- package/events/event_manager.d.ts +12 -8
- package/events/event_manager.d.ts.map +1 -1
- package/events/event_manager.js +17 -6
- package/events/event_manager.js.map +1 -1
- package/events/local_event_manager.d.ts +3 -5
- package/events/local_event_manager.d.ts.map +1 -1
- package/events/local_event_manager.js +3 -5
- package/events/local_event_manager.js.map +1 -1
- package/index.d.ts +4 -0
- package/index.d.ts.map +1 -1
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/index.mjs +6 -0
- package/package.json +22 -27
- package/proxy_configuration.d.ts +7 -14
- package/proxy_configuration.d.ts.map +1 -1
- package/proxy_configuration.js +6 -15
- package/proxy_configuration.js.map +1 -1
- package/request.d.ts +11 -6
- package/request.d.ts.map +1 -1
- package/request.js +5 -1
- package/request.js.map +1 -1
- package/router.d.ts +93 -0
- package/router.d.ts.map +1 -0
- package/router.js +137 -0
- package/router.js.map +1 -0
- package/serialization.d.ts.map +1 -1
- package/serialization.js +1 -2
- package/serialization.js.map +1 -1
- package/session_pool/session.d.ts +10 -15
- package/session_pool/session.d.ts.map +1 -1
- package/session_pool/session.js +18 -18
- package/session_pool/session.js.map +1 -1
- package/session_pool/session_pool.d.ts +3 -2
- package/session_pool/session_pool.d.ts.map +1 -1
- package/session_pool/session_pool.js +4 -5
- package/session_pool/session_pool.js.map +1 -1
- package/session_pool/session_utils.d.ts +6 -5
- package/session_pool/session_utils.d.ts.map +1 -1
- package/session_pool/session_utils.js +3 -0
- package/session_pool/session_utils.js.map +1 -1
- package/storages/dataset.d.ts +37 -15
- package/storages/dataset.d.ts.map +1 -1
- package/storages/dataset.js +44 -12
- package/storages/dataset.js.map +1 -1
- package/storages/index.d.ts +1 -0
- package/storages/index.d.ts.map +1 -1
- package/storages/index.js +1 -0
- package/storages/index.js.map +1 -1
- package/storages/key_value_store.d.ts +121 -23
- package/storages/key_value_store.d.ts.map +1 -1
- package/storages/key_value_store.js +178 -24
- package/storages/key_value_store.js.map +1 -1
- package/storages/request_list.d.ts +32 -35
- package/storages/request_list.d.ts.map +1 -1
- package/storages/request_list.js +32 -24
- package/storages/request_list.js.map +1 -1
- package/storages/request_queue.d.ts +12 -8
- package/storages/request_queue.d.ts.map +1 -1
- package/storages/request_queue.js +18 -10
- package/storages/request_queue.js.map +1 -1
- package/storages/storage_manager.d.ts +9 -5
- package/storages/storage_manager.d.ts.map +1 -1
- package/storages/storage_manager.js +28 -18
- package/storages/storage_manager.js.map +1 -1
- package/storages/utils.d.ts +16 -0
- package/storages/utils.d.ts.map +1 -0
- package/storages/utils.js +26 -0
- package/storages/utils.js.map +1 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/typedefs.d.ts +0 -2
- package/typedefs.d.ts.map +1 -1
- package/typedefs.js.map +1 -1
- package/validators.d.ts +5 -5
- package/validators.d.ts.map +1 -1
- package/validators.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/storages/dataset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/storages/dataset.ts"],"names":[],"mappings":"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"}
|
package/storages/dataset.js
CHANGED
|
@@ -7,6 +7,7 @@ const ow_1 = tslib_1.__importDefault(require("ow"));
|
|
|
7
7
|
const configuration_1 = require("../configuration");
|
|
8
8
|
const log_1 = require("../log");
|
|
9
9
|
const storage_manager_1 = require("./storage_manager");
|
|
10
|
+
const utils_1 = require("./utils");
|
|
10
11
|
/** @internal */
|
|
11
12
|
exports.DATASET_ITERATORS_DEFAULT_LIMIT = 10000;
|
|
12
13
|
const SAFETY_BUFFER_PERCENT = 0.01 / 100; // 0.01%
|
|
@@ -110,7 +111,7 @@ exports.chunkBySize = chunkBySize;
|
|
|
110
111
|
*
|
|
111
112
|
* ```javascript
|
|
112
113
|
* // Write a single row to the default dataset
|
|
113
|
-
* await
|
|
114
|
+
* await Dataset.pushData({ col1: 123, col2: 'val2' });
|
|
114
115
|
*
|
|
115
116
|
* // Open a named dataset
|
|
116
117
|
* const dataset = await Dataset.open('some-name');
|
|
@@ -130,7 +131,13 @@ class Dataset {
|
|
|
130
131
|
/**
|
|
131
132
|
* @internal
|
|
132
133
|
*/
|
|
133
|
-
constructor(options) {
|
|
134
|
+
constructor(options, config = configuration_1.Configuration.getGlobalConfig()) {
|
|
135
|
+
Object.defineProperty(this, "config", {
|
|
136
|
+
enumerable: true,
|
|
137
|
+
configurable: true,
|
|
138
|
+
writable: true,
|
|
139
|
+
value: config
|
|
140
|
+
});
|
|
134
141
|
Object.defineProperty(this, "id", {
|
|
135
142
|
enumerable: true,
|
|
136
143
|
configurable: true,
|
|
@@ -165,7 +172,7 @@ class Dataset {
|
|
|
165
172
|
* It has no result, but throws on invalid args or other errors.
|
|
166
173
|
*
|
|
167
174
|
* **IMPORTANT**: Make sure to use the `await` keyword when calling `pushData()`,
|
|
168
|
-
* otherwise the
|
|
175
|
+
* otherwise the crawler process might finish before the data is stored!
|
|
169
176
|
*
|
|
170
177
|
* The size of the data is limited by the receiving API and therefore `pushData()` will only
|
|
171
178
|
* allow objects whose JSON representation is smaller than 9MB. When an array is passed,
|
|
@@ -202,10 +209,6 @@ class Dataset {
|
|
|
202
209
|
}
|
|
203
210
|
/**
|
|
204
211
|
* Returns {@link DatasetContent} object holding the items in the dataset based on the provided parameters.
|
|
205
|
-
*
|
|
206
|
-
* If you need to get data in an unparsed format, use the {@link Actor.newClient} function to get a new
|
|
207
|
-
* `apify-client` instance and call
|
|
208
|
-
* [`datasetClient.downloadItems()`](https://github.com/apify/apify-client-js#DatasetClient+downloadItems)
|
|
209
212
|
*/
|
|
210
213
|
async getData(options = {}) {
|
|
211
214
|
try {
|
|
@@ -238,7 +241,6 @@ class Dataset {
|
|
|
238
241
|
* modifiedAt: new Date("2015-12-13T08:36:13.202Z"),
|
|
239
242
|
* accessedAt: new Date("2015-12-14T08:36:13.202Z"),
|
|
240
243
|
* itemCount: 14,
|
|
241
|
-
* cleanItemCount: 10
|
|
242
244
|
* }
|
|
243
245
|
* ```
|
|
244
246
|
*/
|
|
@@ -337,7 +339,7 @@ class Dataset {
|
|
|
337
339
|
*/
|
|
338
340
|
async drop() {
|
|
339
341
|
await this.client.delete();
|
|
340
|
-
const manager =
|
|
342
|
+
const manager = storage_manager_1.StorageManager.getManager(Dataset, this.config);
|
|
341
343
|
manager.closeStorage(this);
|
|
342
344
|
}
|
|
343
345
|
/**
|
|
@@ -351,7 +353,7 @@ class Dataset {
|
|
|
351
353
|
*
|
|
352
354
|
* @param [datasetIdOrName]
|
|
353
355
|
* ID or name of the dataset to be opened. If `null` or `undefined`,
|
|
354
|
-
* the function returns the default dataset associated with the
|
|
356
|
+
* the function returns the default dataset associated with the crawler run.
|
|
355
357
|
* @param [options] Storage manager options.
|
|
356
358
|
*/
|
|
357
359
|
static async open(datasetIdOrName, options = {}) {
|
|
@@ -359,8 +361,38 @@ class Dataset {
|
|
|
359
361
|
(0, ow_1.default)(options, ow_1.default.object.exactShape({
|
|
360
362
|
config: ow_1.default.optional.object.instanceOf(configuration_1.Configuration),
|
|
361
363
|
}));
|
|
362
|
-
|
|
363
|
-
|
|
364
|
+
options.config ?? (options.config = configuration_1.Configuration.getGlobalConfig());
|
|
365
|
+
await (0, utils_1.purgeDefaultStorages)();
|
|
366
|
+
const manager = storage_manager_1.StorageManager.getManager(Dataset, options.config);
|
|
367
|
+
return manager.openStorage(datasetIdOrName, options.config.getStorageClient());
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Stores an object or an array of objects to the default {@link Dataset} of the current crawler run.
|
|
371
|
+
*
|
|
372
|
+
* This is just a convenient shortcut for {@link Dataset.pushData}.
|
|
373
|
+
* For example, calling the following code:
|
|
374
|
+
* ```javascript
|
|
375
|
+
* await Dataset.pushData({ myValue: 123 });
|
|
376
|
+
* ```
|
|
377
|
+
*
|
|
378
|
+
* is equivalent to:
|
|
379
|
+
* ```javascript
|
|
380
|
+
* const dataset = await Dataset.open();
|
|
381
|
+
* await dataset.pushData({ myValue: 123 });
|
|
382
|
+
* ```
|
|
383
|
+
*
|
|
384
|
+
* For more information, see {@link Dataset.open} and {@link Dataset.pushData}
|
|
385
|
+
*
|
|
386
|
+
* **IMPORTANT**: Make sure to use the `await` keyword when calling `pushData()`,
|
|
387
|
+
* otherwise the crawler process might finish before the data are stored!
|
|
388
|
+
*
|
|
389
|
+
* @param item Object or array of objects containing data to be stored in the default dataset.
|
|
390
|
+
* The objects must be serializable to JSON and the JSON representation of each object must be smaller than 9MB.
|
|
391
|
+
* @ignore
|
|
392
|
+
*/
|
|
393
|
+
static async pushData(item) {
|
|
394
|
+
const dataset = await this.open();
|
|
395
|
+
return dataset.pushData(item);
|
|
364
396
|
}
|
|
365
397
|
}
|
|
366
398
|
exports.Dataset = Dataset;
|
package/storages/dataset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/storages/dataset.ts"],"names":[],"mappings":";;;;AAAA,0CAAuD;AACvD,oDAAoB;AAEpB,oDAAiD;AACjD,gCAA6B;
|
|
1
|
+
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/storages/dataset.ts"],"names":[],"mappings":"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"}
|
package/storages/index.d.ts
CHANGED
package/storages/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storages/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storages/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
|
package/storages/index.js
CHANGED
|
@@ -6,4 +6,5 @@ tslib_1.__exportStar(require("./key_value_store"), exports);
|
|
|
6
6
|
tslib_1.__exportStar(require("./request_list"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./request_queue"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./storage_manager"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./utils"), exports);
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/storages/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storages/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,4DAAkC;AAClC,yDAA+B;AAC/B,0DAAgC;AAChC,4DAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storages/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,4DAAkC;AAClC,yDAA+B;AAC/B,0DAAgC;AAChC,4DAAkC;AAClC,kDAAwB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { Dictionary, StorageClient } from '@crawlee/types';
|
|
2
3
|
import { Configuration } from '../configuration';
|
|
3
|
-
import { Awaitable } from '../typedefs';
|
|
4
|
-
import { StorageManagerOptions } from './storage_manager';
|
|
4
|
+
import type { Awaitable } from '../typedefs';
|
|
5
|
+
import type { StorageManagerOptions } from './storage_manager';
|
|
5
6
|
/**
|
|
6
7
|
* Helper function to possibly stringify value if options.contentType is not set.
|
|
7
8
|
*
|
|
@@ -14,19 +15,19 @@ export declare const maybeStringify: <T>(value: T, options: {
|
|
|
14
15
|
* The `KeyValueStore` class represents a key-value store, a simple data storage that is used
|
|
15
16
|
* for saving and reading data records or files. Each data record is
|
|
16
17
|
* represented by a unique key and associated with a MIME content type. Key-value stores are ideal
|
|
17
|
-
* for saving screenshots,
|
|
18
|
+
* for saving screenshots, crawler inputs and outputs, web pages, PDFs or to persist the state of crawlers.
|
|
18
19
|
*
|
|
19
20
|
* Do not instantiate this class directly, use the
|
|
20
21
|
* {@link KeyValueStore.open} function instead.
|
|
21
22
|
*
|
|
22
|
-
* Each
|
|
23
|
-
* for the run. By convention, the
|
|
23
|
+
* Each crawler run is associated with a default key-value store, which is created exclusively
|
|
24
|
+
* for the run. By convention, the crawler input and output are stored into the
|
|
24
25
|
* default key-value store under the `INPUT` and `OUTPUT` key, respectively.
|
|
25
26
|
* Typically, input and output are JSON files, although it can be any other format.
|
|
26
27
|
* To access the default key-value store directly, you can use the
|
|
27
|
-
* {@link
|
|
28
|
+
* {@link KeyValueStore.getValue} and {@link KeyValueStore.setValue} convenience functions.
|
|
28
29
|
*
|
|
29
|
-
* To access the input, you can also use the {@link
|
|
30
|
+
* To access the input, you can also use the {@link KeyValueStore.getInput} convenience function.
|
|
30
31
|
*
|
|
31
32
|
* `KeyValueStore` stores its data either on local disk or in the Apify cloud,
|
|
32
33
|
* depending on whether the [`APIFY_IS_AT_HOME`](/docs/guides/environment-variables#apify_is_at_home)
|
|
@@ -51,13 +52,13 @@ export declare const maybeStringify: <T>(value: T, options: {
|
|
|
51
52
|
* **Example usage:**
|
|
52
53
|
*
|
|
53
54
|
* ```javascript
|
|
54
|
-
* // Get
|
|
55
|
-
* const input = await
|
|
55
|
+
* // Get crawler input from the default key-value store.
|
|
56
|
+
* const input = await KeyValueStore.getInput();
|
|
56
57
|
* // Get some value from the default key-value store.
|
|
57
|
-
* const otherValue = await
|
|
58
|
+
* const otherValue = await KeyValueStore.getValue('my-key');
|
|
58
59
|
*
|
|
59
|
-
* // Write
|
|
60
|
-
* await
|
|
60
|
+
* // Write crawler output to the default key-value store.
|
|
61
|
+
* await KeyValueStore.setValue('OUTPUT', { myResult: 123 });
|
|
61
62
|
*
|
|
62
63
|
* // Open a named key-value store
|
|
63
64
|
* const store = await KeyValueStore.open('some-name');
|
|
@@ -79,7 +80,10 @@ export declare class KeyValueStore {
|
|
|
79
80
|
readonly config: Configuration;
|
|
80
81
|
readonly id: string;
|
|
81
82
|
readonly name?: string;
|
|
82
|
-
private client;
|
|
83
|
+
private readonly client;
|
|
84
|
+
private persistStateEventStarted;
|
|
85
|
+
/** Cache for persistent (auto-saved) values. When we try to set such value, the cache will be updated automatically. */
|
|
86
|
+
private readonly cache;
|
|
83
87
|
/**
|
|
84
88
|
* @internal
|
|
85
89
|
*/
|
|
@@ -109,12 +113,16 @@ export declare class KeyValueStore {
|
|
|
109
113
|
* @param key
|
|
110
114
|
* Unique key of the record. It can be at most 256 characters long and only consist
|
|
111
115
|
* of the following characters: `a`-`z`, `A`-`Z`, `0`-`9` and `!-_.'()`
|
|
116
|
+
* @param defaultValue
|
|
117
|
+
* Fallback that will be returned if no value if present in the storage.
|
|
112
118
|
* @returns
|
|
113
119
|
* Returns a promise that resolves to an object, string
|
|
114
120
|
* or [`Buffer`](https://nodejs.org/api/buffer.html), depending
|
|
115
121
|
* on the MIME content type of the record.
|
|
116
122
|
*/
|
|
117
|
-
getValue<T = unknown>(key: string): Promise<T | null>;
|
|
123
|
+
getValue<T = unknown>(key: string, defaultValue?: T): Promise<T | null>;
|
|
124
|
+
getAutoSavedValue<T extends Dictionary = Dictionary>(key: string, defaultValue?: T): Promise<T>;
|
|
125
|
+
private ensurePersistStateEvent;
|
|
118
126
|
/**
|
|
119
127
|
* Saves or deletes a record in the key-value store.
|
|
120
128
|
* The function returns a promise that resolves once the record has been saved or deleted.
|
|
@@ -145,7 +153,7 @@ export declare class KeyValueStore {
|
|
|
145
153
|
* {@link KeyValueStore.getValue} function.
|
|
146
154
|
*
|
|
147
155
|
* **IMPORTANT:** Always make sure to use the `await` keyword when calling `setValue()`,
|
|
148
|
-
* otherwise the
|
|
156
|
+
* otherwise the crawler process might finish before the value is stored!
|
|
149
157
|
*
|
|
150
158
|
* @param key
|
|
151
159
|
* Unique key of the record. It can be at most 256 characters long and only consist
|
|
@@ -164,11 +172,8 @@ export declare class KeyValueStore {
|
|
|
164
172
|
* depending on the mode of operation.
|
|
165
173
|
*/
|
|
166
174
|
drop(): Promise<void>;
|
|
167
|
-
/**
|
|
168
|
-
|
|
169
|
-
* access the value in the remote key-value store.
|
|
170
|
-
*/
|
|
171
|
-
getPublicUrl(key: string): string;
|
|
175
|
+
/** @internal */
|
|
176
|
+
clearCache(): void;
|
|
172
177
|
/**
|
|
173
178
|
* Iterates over key-value store keys, yielding each in turn to an `iteratee` function.
|
|
174
179
|
* Each invocation of `iteratee` is called with three arguments: `(key, index, info)`, where `key`
|
|
@@ -203,17 +208,110 @@ export declare class KeyValueStore {
|
|
|
203
208
|
*
|
|
204
209
|
* @param [storeIdOrName]
|
|
205
210
|
* ID or name of the key-value store to be opened. If `null` or `undefined`,
|
|
206
|
-
* the function returns the default key-value store associated with the
|
|
211
|
+
* the function returns the default key-value store associated with the crawler run.
|
|
207
212
|
* @param [options] Storage manager options.
|
|
208
213
|
*/
|
|
209
214
|
static open(storeIdOrName?: string | null, options?: StorageManagerOptions): Promise<KeyValueStore>;
|
|
215
|
+
/**
|
|
216
|
+
* Gets a value from the default {@link KeyValueStore} associated with the current crawler run.
|
|
217
|
+
*
|
|
218
|
+
* This is just a convenient shortcut for {@link KeyValueStore.getValue}.
|
|
219
|
+
* For example, calling the following code:
|
|
220
|
+
* ```javascript
|
|
221
|
+
* const value = await KeyValueStore.getValue('my-key');
|
|
222
|
+
* ```
|
|
223
|
+
*
|
|
224
|
+
* is equivalent to:
|
|
225
|
+
* ```javascript
|
|
226
|
+
* const store = await KeyValueStore.open();
|
|
227
|
+
* const value = await store.getValue('my-key');
|
|
228
|
+
* ```
|
|
229
|
+
*
|
|
230
|
+
* To store the value to the default key-value store, you can use the {@link KeyValueStore.setValue} function.
|
|
231
|
+
*
|
|
232
|
+
* For more information, see {@link KeyValueStore.open}
|
|
233
|
+
* and {@link KeyValueStore.getValue}.
|
|
234
|
+
*
|
|
235
|
+
* @param key Unique record key.
|
|
236
|
+
* @param defaultValue Fallback that will be returned if no value if present in the storage.
|
|
237
|
+
* @returns
|
|
238
|
+
* Returns a promise that resolves to an object, string
|
|
239
|
+
* or [`Buffer`](https://nodejs.org/api/buffer.html), depending
|
|
240
|
+
* on the MIME content type of the record, or `null`
|
|
241
|
+
* if the record is missing.
|
|
242
|
+
* @ignore
|
|
243
|
+
*/
|
|
244
|
+
static getValue<T = unknown>(key: string, defaultValue?: T): Promise<T | null>;
|
|
245
|
+
static getAutoSavedValue<T extends Dictionary = Dictionary>(key: string, defaultValue?: T): Promise<T>;
|
|
246
|
+
/**
|
|
247
|
+
* Stores or deletes a value in the default {@link KeyValueStore} associated with the current crawler run.
|
|
248
|
+
*
|
|
249
|
+
* This is just a convenient shortcut for {@link KeyValueStore.setValue}.
|
|
250
|
+
* For example, calling the following code:
|
|
251
|
+
* ```javascript
|
|
252
|
+
* await KeyValueStore.setValue('OUTPUT', { foo: "bar" });
|
|
253
|
+
* ```
|
|
254
|
+
*
|
|
255
|
+
* is equivalent to:
|
|
256
|
+
* ```javascript
|
|
257
|
+
* const store = await KeyValueStore.open();
|
|
258
|
+
* await store.setValue('OUTPUT', { foo: "bar" });
|
|
259
|
+
* ```
|
|
260
|
+
*
|
|
261
|
+
* To get a value from the default key-value store, you can use the {@link KeyValueStore.getValue} function.
|
|
262
|
+
*
|
|
263
|
+
* For more information, see {@link KeyValueStore.open}
|
|
264
|
+
* and {@link KeyValueStore.getValue}.
|
|
265
|
+
*
|
|
266
|
+
* @param key
|
|
267
|
+
* Unique record key.
|
|
268
|
+
* @param value
|
|
269
|
+
* Record data, which can be one of the following values:
|
|
270
|
+
* - If `null`, the record in the key-value store is deleted.
|
|
271
|
+
* - If no `options.contentType` is specified, `value` can be any JavaScript object, and it will be stringified to JSON.
|
|
272
|
+
* - If `options.contentType` is set, `value` is taken as is, and it must be a `String` or [`Buffer`](https://nodejs.org/api/buffer.html).
|
|
273
|
+
* For any other value an error will be thrown.
|
|
274
|
+
* @param [options]
|
|
275
|
+
* @ignore
|
|
276
|
+
*/
|
|
277
|
+
static setValue<T>(key: string, value: T | null, options?: RecordOptions): Promise<void>;
|
|
278
|
+
/**
|
|
279
|
+
* Gets the crawler input value from the default {@link KeyValueStore} associated with the current crawler run.
|
|
280
|
+
*
|
|
281
|
+
* This is just a convenient shortcut for [`keyValueStore.getValue('INPUT')`](core/class/KeyValueStore#getValue).
|
|
282
|
+
* For example, calling the following code:
|
|
283
|
+
* ```javascript
|
|
284
|
+
* const input = await KeyValueStore.getInput();
|
|
285
|
+
* ```
|
|
286
|
+
*
|
|
287
|
+
* is equivalent to:
|
|
288
|
+
* ```javascript
|
|
289
|
+
* const store = await KeyValueStore.open();
|
|
290
|
+
* await store.getValue('INPUT');
|
|
291
|
+
* ```
|
|
292
|
+
*
|
|
293
|
+
* Note that the `getInput()` function does not cache the value read from the key-value store.
|
|
294
|
+
* If you need to use the input multiple times in your crawler,
|
|
295
|
+
* it is far more efficient to read it once and store it locally.
|
|
296
|
+
*
|
|
297
|
+
* For more information, see {@link KeyValueStore.open}
|
|
298
|
+
* and {@link KeyValueStore.getValue}.
|
|
299
|
+
*
|
|
300
|
+
* @returns
|
|
301
|
+
* Returns a promise that resolves to an object, string
|
|
302
|
+
* or [`Buffer`](https://nodejs.org/api/buffer.html), depending
|
|
303
|
+
* on the MIME content type of the record, or `null`
|
|
304
|
+
* if the record is missing.
|
|
305
|
+
* @ignore
|
|
306
|
+
*/
|
|
307
|
+
static getInput<T = Dictionary | string | Buffer>(): Promise<T | null>;
|
|
210
308
|
}
|
|
211
309
|
/**
|
|
212
310
|
* User-function used in the {@link KeyValueStore.forEachKey} method.
|
|
213
311
|
*/
|
|
214
312
|
export interface KeyConsumer {
|
|
215
313
|
/**
|
|
216
|
-
* @param key Current {
|
|
314
|
+
* @param key Current {@link KeyValueStore} key being processed.
|
|
217
315
|
* @param index Position of the current key in {@link KeyValueStore}.
|
|
218
316
|
* @param info Information about the current {@link KeyValueStore} entry.
|
|
219
317
|
* @param info.size Size of the value associated with the current key in bytes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key_value_store.d.ts","sourceRoot":"","sources":["../../src/storages/key_value_store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"key_value_store.d.ts","sourceRoot":"","sources":["../../src/storages/key_value_store.ts"],"names":[],"mappings":"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"}
|