@crawlee/core 4.0.0-beta.10 → 4.0.0-beta.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/README.md +17 -13
  2. package/autoscaling/autoscaled_pool.d.ts +69 -156
  3. package/autoscaling/autoscaled_pool.js +97 -252
  4. package/autoscaling/client_load_signal.d.ts +59 -0
  5. package/autoscaling/client_load_signal.js +73 -0
  6. package/autoscaling/concurrency_system.d.ts +283 -0
  7. package/autoscaling/concurrency_system.js +350 -0
  8. package/autoscaling/cpu_load_signal.d.ts +44 -0
  9. package/autoscaling/cpu_load_signal.js +46 -0
  10. package/autoscaling/event_loop_load_signal.d.ts +54 -0
  11. package/autoscaling/event_loop_load_signal.js +60 -0
  12. package/autoscaling/index.d.ts +6 -1
  13. package/autoscaling/index.js +6 -1
  14. package/autoscaling/load_signal.d.ts +99 -0
  15. package/autoscaling/load_signal.js +103 -0
  16. package/autoscaling/memory_load_signal.d.ts +56 -0
  17. package/autoscaling/memory_load_signal.js +106 -0
  18. package/autoscaling/snapshotter.d.ts +61 -163
  19. package/autoscaling/snapshotter.js +45 -263
  20. package/autoscaling/system_status.d.ts +63 -83
  21. package/autoscaling/system_status.js +90 -120
  22. package/autoscaling/weighted_avg.d.ts +5 -0
  23. package/autoscaling/weighted_avg.js +14 -0
  24. package/byte_utils.d.ts +17 -0
  25. package/byte_utils.js +42 -0
  26. package/configuration.d.ts +96 -223
  27. package/configuration.js +170 -222
  28. package/cookie_utils.d.ts +4 -3
  29. package/cookie_utils.js +22 -13
  30. package/crawlers/context_pipeline.d.ts +70 -0
  31. package/crawlers/context_pipeline.js +122 -0
  32. package/crawlers/crawler_commons.d.ts +96 -40
  33. package/crawlers/crawler_commons.js +15 -24
  34. package/crawlers/error_snapshotter.d.ts +3 -3
  35. package/crawlers/error_snapshotter.js +2 -3
  36. package/crawlers/error_tracker.d.ts +2 -2
  37. package/crawlers/error_tracker.js +0 -1
  38. package/crawlers/index.d.ts +1 -3
  39. package/crawlers/index.js +1 -3
  40. package/crawlers/internals/types.d.ts +7 -0
  41. package/crawlers/internals/types.js +1 -0
  42. package/crawlers/statistics.d.ts +28 -23
  43. package/crawlers/statistics.js +38 -34
  44. package/debug.d.ts +36 -0
  45. package/debug.js +70 -0
  46. package/enqueue_links/enqueue_links.d.ts +59 -68
  47. package/enqueue_links/enqueue_links.js +57 -62
  48. package/enqueue_links/index.d.ts +0 -1
  49. package/enqueue_links/index.js +0 -1
  50. package/enqueue_links/shared.d.ts +39 -26
  51. package/enqueue_links/shared.js +89 -67
  52. package/errors.d.ts +53 -4
  53. package/errors.js +70 -5
  54. package/events/event_manager.d.ts +34 -8
  55. package/events/event_manager.js +8 -10
  56. package/events/index.d.ts +0 -1
  57. package/events/index.js +0 -1
  58. package/events/local_event_manager.d.ts +15 -3
  59. package/events/local_event_manager.js +37 -11
  60. package/index.d.ts +6 -4
  61. package/index.js +5 -3
  62. package/iterables.d.ts +79 -0
  63. package/iterables.js +134 -0
  64. package/log.d.ts +82 -3
  65. package/log.js +102 -1
  66. package/memory-storage/consts.d.ts +4 -0
  67. package/memory-storage/consts.js +4 -0
  68. package/memory-storage/index.d.ts +1 -0
  69. package/memory-storage/index.js +1 -0
  70. package/memory-storage/memory-storage.d.ts +46 -0
  71. package/memory-storage/memory-storage.js +136 -0
  72. package/memory-storage/resource-clients/common/base-client.d.ts +4 -0
  73. package/memory-storage/resource-clients/common/base-client.js +6 -0
  74. package/memory-storage/resource-clients/dataset.d.ts +40 -0
  75. package/memory-storage/resource-clients/dataset.js +113 -0
  76. package/memory-storage/resource-clients/key-value-store.d.ts +63 -0
  77. package/memory-storage/resource-clients/key-value-store.js +203 -0
  78. package/memory-storage/resource-clients/request-queue.d.ts +96 -0
  79. package/memory-storage/resource-clients/request-queue.js +421 -0
  80. package/memory-storage/utils.d.ts +16 -0
  81. package/memory-storage/utils.js +41 -0
  82. package/owned_or_injected.d.ts +60 -0
  83. package/owned_or_injected.js +98 -0
  84. package/package.json +13 -12
  85. package/proxy_configuration.d.ts +29 -152
  86. package/proxy_configuration.js +21 -173
  87. package/recoverable_state.d.ts +120 -0
  88. package/recoverable_state.js +143 -0
  89. package/request.d.ts +85 -15
  90. package/request.js +107 -28
  91. package/router.d.ts +194 -19
  92. package/router.js +177 -32
  93. package/serialization.d.ts +0 -1
  94. package/serialization.js +1 -2
  95. package/service_locator.d.ts +156 -0
  96. package/service_locator.js +244 -0
  97. package/session_pool/consts.d.ts +1 -2
  98. package/session_pool/consts.js +1 -2
  99. package/session_pool/errors.d.ts +0 -1
  100. package/session_pool/errors.js +0 -1
  101. package/session_pool/fingerprint.d.ts +9 -0
  102. package/session_pool/fingerprint.js +30 -0
  103. package/session_pool/index.d.ts +0 -2
  104. package/session_pool/index.js +0 -2
  105. package/session_pool/session.d.ts +37 -75
  106. package/session_pool/session.js +49 -102
  107. package/session_pool/session_pool.d.ts +85 -90
  108. package/session_pool/session_pool.js +131 -120
  109. package/storages/access_checking.d.ts +1 -2
  110. package/storages/access_checking.js +5 -2
  111. package/storages/dataset.d.ts +103 -54
  112. package/storages/dataset.js +174 -132
  113. package/storages/index.d.ts +8 -7
  114. package/storages/index.js +6 -7
  115. package/storages/key_value_store.d.ts +167 -39
  116. package/storages/key_value_store.js +274 -127
  117. package/storages/key_value_store_codec.d.ts +32 -0
  118. package/storages/key_value_store_codec.js +113 -0
  119. package/storages/request_dedup_cache.d.ts +23 -0
  120. package/storages/request_dedup_cache.js +48 -0
  121. package/storages/request_list.d.ts +54 -98
  122. package/storages/request_list.js +99 -75
  123. package/storages/request_loader.d.ts +96 -0
  124. package/storages/request_loader.js +1 -0
  125. package/storages/request_manager.d.ts +33 -0
  126. package/storages/request_manager.js +1 -0
  127. package/storages/request_manager_tandem.d.ts +106 -0
  128. package/storages/request_manager_tandem.js +197 -0
  129. package/storages/request_queue.d.ts +287 -47
  130. package/storages/request_queue.js +620 -215
  131. package/storages/{sitemap_request_list.d.ts → sitemap_request_loader.d.ts} +38 -46
  132. package/storages/{sitemap_request_list.js → sitemap_request_loader.js} +58 -65
  133. package/storages/storage_instance_manager.d.ts +88 -0
  134. package/storages/storage_instance_manager.js +256 -0
  135. package/storages/storage_stats.d.ts +48 -0
  136. package/storages/storage_stats.js +29 -0
  137. package/storages/utils.d.ts +54 -9
  138. package/storages/utils.js +64 -13
  139. package/system-info/cpu-info.d.ts +67 -0
  140. package/system-info/cpu-info.js +216 -0
  141. package/system-info/memory-info.d.ts +31 -0
  142. package/system-info/memory-info.js +115 -0
  143. package/system-info/ps-tree.d.ts +17 -0
  144. package/system-info/ps-tree.js +144 -0
  145. package/system-info/runtime.d.ts +14 -0
  146. package/system-info/runtime.js +80 -0
  147. package/typedefs.d.ts +0 -6
  148. package/typedefs.js +0 -1
  149. package/validators.d.ts +8 -1
  150. package/validators.js +10 -3
  151. package/autoscaling/autoscaled_pool.d.ts.map +0 -1
  152. package/autoscaling/autoscaled_pool.js.map +0 -1
  153. package/autoscaling/index.d.ts.map +0 -1
  154. package/autoscaling/index.js.map +0 -1
  155. package/autoscaling/snapshotter.d.ts.map +0 -1
  156. package/autoscaling/snapshotter.js.map +0 -1
  157. package/autoscaling/system_status.d.ts.map +0 -1
  158. package/autoscaling/system_status.js.map +0 -1
  159. package/configuration.d.ts.map +0 -1
  160. package/configuration.js.map +0 -1
  161. package/cookie_utils.d.ts.map +0 -1
  162. package/cookie_utils.js.map +0 -1
  163. package/crawlers/crawler_commons.d.ts.map +0 -1
  164. package/crawlers/crawler_commons.js.map +0 -1
  165. package/crawlers/crawler_extension.d.ts +0 -12
  166. package/crawlers/crawler_extension.d.ts.map +0 -1
  167. package/crawlers/crawler_extension.js +0 -14
  168. package/crawlers/crawler_extension.js.map +0 -1
  169. package/crawlers/crawler_utils.d.ts +0 -10
  170. package/crawlers/crawler_utils.d.ts.map +0 -1
  171. package/crawlers/crawler_utils.js +0 -12
  172. package/crawlers/crawler_utils.js.map +0 -1
  173. package/crawlers/error_snapshotter.d.ts.map +0 -1
  174. package/crawlers/error_snapshotter.js.map +0 -1
  175. package/crawlers/error_tracker.d.ts.map +0 -1
  176. package/crawlers/error_tracker.js.map +0 -1
  177. package/crawlers/index.d.ts.map +0 -1
  178. package/crawlers/index.js.map +0 -1
  179. package/crawlers/statistics.d.ts.map +0 -1
  180. package/crawlers/statistics.js.map +0 -1
  181. package/enqueue_links/enqueue_links.d.ts.map +0 -1
  182. package/enqueue_links/enqueue_links.js.map +0 -1
  183. package/enqueue_links/index.d.ts.map +0 -1
  184. package/enqueue_links/index.js.map +0 -1
  185. package/enqueue_links/shared.d.ts.map +0 -1
  186. package/enqueue_links/shared.js.map +0 -1
  187. package/errors.d.ts.map +0 -1
  188. package/errors.js.map +0 -1
  189. package/events/event_manager.d.ts.map +0 -1
  190. package/events/event_manager.js.map +0 -1
  191. package/events/index.d.ts.map +0 -1
  192. package/events/index.js.map +0 -1
  193. package/events/local_event_manager.d.ts.map +0 -1
  194. package/events/local_event_manager.js.map +0 -1
  195. package/http_clients/base-http-client.d.ts +0 -134
  196. package/http_clients/base-http-client.d.ts.map +0 -1
  197. package/http_clients/base-http-client.js +0 -33
  198. package/http_clients/base-http-client.js.map +0 -1
  199. package/http_clients/form-data-like.d.ts +0 -67
  200. package/http_clients/form-data-like.d.ts.map +0 -1
  201. package/http_clients/form-data-like.js +0 -5
  202. package/http_clients/form-data-like.js.map +0 -1
  203. package/http_clients/got-scraping-http-client.d.ts +0 -15
  204. package/http_clients/got-scraping-http-client.d.ts.map +0 -1
  205. package/http_clients/got-scraping-http-client.js +0 -69
  206. package/http_clients/got-scraping-http-client.js.map +0 -1
  207. package/http_clients/index.d.ts +0 -3
  208. package/http_clients/index.d.ts.map +0 -1
  209. package/http_clients/index.js +0 -3
  210. package/http_clients/index.js.map +0 -1
  211. package/index.d.ts.map +0 -1
  212. package/index.js.map +0 -1
  213. package/log.d.ts.map +0 -1
  214. package/log.js.map +0 -1
  215. package/proxy_configuration.d.ts.map +0 -1
  216. package/proxy_configuration.js.map +0 -1
  217. package/request.d.ts.map +0 -1
  218. package/request.js.map +0 -1
  219. package/router.d.ts.map +0 -1
  220. package/router.js.map +0 -1
  221. package/serialization.d.ts.map +0 -1
  222. package/serialization.js.map +0 -1
  223. package/session_pool/consts.d.ts.map +0 -1
  224. package/session_pool/consts.js.map +0 -1
  225. package/session_pool/errors.d.ts.map +0 -1
  226. package/session_pool/errors.js.map +0 -1
  227. package/session_pool/events.d.ts +0 -3
  228. package/session_pool/events.d.ts.map +0 -1
  229. package/session_pool/events.js +0 -3
  230. package/session_pool/events.js.map +0 -1
  231. package/session_pool/index.d.ts.map +0 -1
  232. package/session_pool/index.js.map +0 -1
  233. package/session_pool/session.d.ts.map +0 -1
  234. package/session_pool/session.js.map +0 -1
  235. package/session_pool/session_pool.d.ts.map +0 -1
  236. package/session_pool/session_pool.js.map +0 -1
  237. package/storages/access_checking.d.ts.map +0 -1
  238. package/storages/access_checking.js.map +0 -1
  239. package/storages/dataset.d.ts.map +0 -1
  240. package/storages/dataset.js.map +0 -1
  241. package/storages/index.d.ts.map +0 -1
  242. package/storages/index.js.map +0 -1
  243. package/storages/key_value_store.d.ts.map +0 -1
  244. package/storages/key_value_store.js.map +0 -1
  245. package/storages/request_list.d.ts.map +0 -1
  246. package/storages/request_list.js.map +0 -1
  247. package/storages/request_provider.d.ts +0 -307
  248. package/storages/request_provider.d.ts.map +0 -1
  249. package/storages/request_provider.js +0 -555
  250. package/storages/request_provider.js.map +0 -1
  251. package/storages/request_queue.d.ts.map +0 -1
  252. package/storages/request_queue.js.map +0 -1
  253. package/storages/request_queue_v2.d.ts +0 -87
  254. package/storages/request_queue_v2.d.ts.map +0 -1
  255. package/storages/request_queue_v2.js +0 -438
  256. package/storages/request_queue_v2.js.map +0 -1
  257. package/storages/sitemap_request_list.d.ts.map +0 -1
  258. package/storages/sitemap_request_list.js.map +0 -1
  259. package/storages/storage_manager.d.ts +0 -58
  260. package/storages/storage_manager.d.ts.map +0 -1
  261. package/storages/storage_manager.js +0 -105
  262. package/storages/storage_manager.js.map +0 -1
  263. package/storages/utils.d.ts.map +0 -1
  264. package/storages/utils.js.map +0 -1
  265. package/tsconfig.build.tsbuildinfo +0 -1
  266. package/typedefs.d.ts.map +0 -1
  267. package/typedefs.js.map +0 -1
  268. package/validators.d.ts.map +0 -1
  269. package/validators.js.map +0 -1
@@ -1,27 +1,20 @@
1
- import type { DatasetClient, DatasetInfo, Dictionary, StorageClient } from '@crawlee/types';
1
+ import type { Awaitable, DatasetBackend, DatasetInfo, Dictionary } from '@crawlee/types';
2
2
  import { Configuration } from '../configuration.js';
3
- import { type Log } from '../log.js';
4
- import type { Awaitable } from '../typedefs.js';
5
- import type { StorageManagerOptions } from './storage_manager.js';
3
+ import type { CrawleeLogger } from '../log.js';
4
+ import type { DatasetStats } from './storage_stats.js';
5
+ import type { StorageOpenOptions } from './utils.js';
6
+ import type { StorageIdentifier } from './storage_instance_manager.js';
6
7
  /** @internal */
7
8
  export declare const DATASET_ITERATORS_DEFAULT_LIMIT = 10000;
8
9
  /**
9
- * Accepts a JSON serializable object as an input, validates its serializability,
10
- * and validates its serialized size against limitBytes. Optionally accepts its index
11
- * in an array to provide better error messages. Returns serialized object.
12
- * @ignore
13
- */
14
- export declare function checkAndSerialize<T>(item: T, limitBytes: number, index?: number): string;
15
- /**
16
- * Takes an array of JSONs (payloads) as input and produces an array of JSON strings
17
- * where each string is a JSON array of payloads with a maximum size of limitBytes per one
18
- * JSON array. Fits as many payloads as possible into a single JSON array and then moves
19
- * on to the next, preserving item order.
10
+ * Validates that the given value is a plain JSON-serializable object
11
+ * (not an array, not a primitive, not circular).
20
12
  *
21
- * The function assumes that none of the items is larger than limitBytes and does not validate.
13
+ * @param item The value to validate.
14
+ * @param index Optional index for error messages when validating inside an array.
22
15
  * @ignore
23
16
  */
24
- export declare function chunkBySize(items: string[], limitBytes: number): string[];
17
+ export declare function assertJsonSerializable<T>(item: T, index?: number): void;
25
18
  export interface DatasetDataOptions {
26
19
  /**
27
20
  * Number of array elements that should be skipped at the start.
@@ -67,6 +60,11 @@ export interface DatasetDataOptions {
67
60
  skipEmpty?: boolean;
68
61
  }
69
62
  export interface DatasetExportOptions extends Omit<DatasetDataOptions, 'offset' | 'limit'> {
63
+ /**
64
+ * If true, includes all unique keys from all dataset items in the CSV export header.
65
+ * If omitted or false, only keys from the first item are used.
66
+ */
67
+ collectAllKeys?: boolean;
70
68
  }
71
69
  export interface DatasetIteratorOptions extends Omit<DatasetDataOptions, 'offset' | 'limit' | 'clean' | 'skipHidden' | 'skipEmpty'> {
72
70
  /** @internal */
@@ -86,8 +84,8 @@ export interface DatasetIteratorOptions extends Omit<DatasetDataOptions, 'offset
86
84
  format?: string;
87
85
  }
88
86
  export interface DatasetExportToOptions extends DatasetExportOptions {
89
- fromDataset?: string;
90
- toKVS?: string;
87
+ fromDataset?: string | StorageIdentifier;
88
+ toKVS?: string | StorageIdentifier;
91
89
  }
92
90
  /**
93
91
  * The `Dataset` class represents a store for structured data where each object stored has the same attributes,
@@ -141,15 +139,21 @@ export interface DatasetExportToOptions extends DatasetExportOptions {
141
139
  * @category Result Stores
142
140
  */
143
141
  export declare class Dataset<Data extends Dictionary = Dictionary> {
144
- readonly config: Configuration;
142
+ readonly configuration: Configuration;
145
143
  id: string;
146
144
  name?: string;
147
- client: DatasetClient<Data>;
148
- log: Log;
145
+ backend: DatasetBackend<Data>;
146
+ log: CrawleeLogger;
147
+ private readonly statsTracker;
149
148
  /**
150
149
  * @internal
151
150
  */
152
- constructor(options: DatasetOptions, config?: Configuration);
151
+ constructor(options: DatasetOptions, configuration?: Configuration);
152
+ /**
153
+ * Backend-independent usage counters tracked for this dataset (read / write operations issued to
154
+ * the underlying storage backend). Counted per backend call.
155
+ */
156
+ get stats(): DatasetStats;
153
157
  /**
154
158
  * Stores an object or an array of objects to the dataset.
155
159
  * The function returns a promise that resolves when the operation finishes.
@@ -158,21 +162,8 @@ export declare class Dataset<Data extends Dictionary = Dictionary> {
158
162
  * **IMPORTANT**: Make sure to use the `await` keyword when calling `pushData()`,
159
163
  * otherwise the crawler process might finish before the data is stored!
160
164
  *
161
- * The size of the data is limited by the receiving API and therefore `pushData()` will only
162
- * allow objects whose JSON representation is smaller than 9MB. When an array is passed,
163
- * none of the included objects
164
- * may be larger than 9MB, but the array itself may be of any size.
165
- *
166
- * The function internally
167
- * chunks the array into separate items and pushes them sequentially.
168
- * The chunking process is stable (keeps order of data), but it does not provide a transaction
169
- * safety mechanism. Therefore, in the event of an uploading error (after several automatic retries),
170
- * the function's Promise will reject and the dataset will be left in a state where some of
171
- * the items have already been saved to the dataset while other items from the source array were not.
172
- * To overcome this limitation, the developer may, for example, read the last item saved in the dataset
173
- * and re-attempt the save of the data from this item onwards to prevent duplicates.
174
165
  * @param data Object or array of objects containing data to be stored in the default dataset.
175
- * The objects must be serializable to JSON and the JSON representation of each object must be smaller than 9MB.
166
+ * The objects must be serializable to JSON.
176
167
  */
177
168
  pushData(data: Data | Data[]): Promise<void>;
178
169
  /**
@@ -223,26 +214,21 @@ export declare class Dataset<Data extends Dictionary = Dictionary> {
223
214
  /**
224
215
  * Returns an object containing general information about the dataset.
225
216
  *
226
- * The function returns the same object as the Apify API Client's
227
- * [getDataset](https://docs.apify.com/api/apify-client-js/latest#ApifyClient-datasets-getDataset)
228
- * function, which in turn calls the
229
- * [Get dataset](https://apify.com/docs/api/v2#/reference/datasets/dataset/get-dataset)
230
- * API endpoint.
231
- *
232
217
  * **Example:**
233
218
  * ```
234
219
  * {
235
220
  * id: "WkzbQMuFYuamGv3YF",
236
221
  * name: "my-dataset",
237
- * userId: "wRsJZtadYvn4mBZmm",
238
222
  * createdAt: new Date("2015-12-12T07:34:14.202Z"),
239
223
  * modifiedAt: new Date("2015-12-13T08:36:13.202Z"),
240
224
  * accessedAt: new Date("2015-12-14T08:36:13.202Z"),
241
225
  * itemCount: 14,
242
226
  * }
243
227
  * ```
228
+ *
229
+ * @throws If the underlying storage no longer exists (e.g. it was deleted externally).
244
230
  */
245
- getInfo(): Promise<DatasetInfo | undefined>;
231
+ getInfo(): Promise<DatasetInfo>;
246
232
  /**
247
233
  * Iterates over dataset items, yielding each in turn to an `iteratee` function.
248
234
  * Each invocation of `iteratee` is called with two arguments: `(item, index)`.
@@ -308,7 +294,7 @@ export declare class Dataset<Data extends Dictionary = Dictionary> {
308
294
  * If the dataset is empty, reduce will return undefined.
309
295
  *
310
296
  * @param iteratee
311
- * @param memo Unset parameter, neccesary to be able to pass options
297
+ * @param memo Unset parameter, necessary to be able to pass options
312
298
  * @param [options] An object containing extra options for `reduce()`
313
299
  */
314
300
  reduce(iteratee: DatasetReducer<Data, Data>, memo: undefined, options: DatasetIteratorOptions): Promise<Data | undefined>;
@@ -326,6 +312,69 @@ export declare class Dataset<Data extends Dictionary = Dictionary> {
326
312
  * @param [options] An object containing extra options for `reduce()`
327
313
  */
328
314
  reduce<T>(iteratee: DatasetReducer<T, Data>, memo: T, options?: DatasetIteratorOptions): Promise<T>;
315
+ private fetchEntryPages;
316
+ private fetchPages;
317
+ /**
318
+ * Returns dataset items.
319
+ *
320
+ * When awaited (`await dataset.values()`), returns all items as a flat `Data[]` array.
321
+ * When used as an async iterable (`for await...of`), iterates over all items across pages
322
+ * without loading everything into memory at once.
323
+ *
324
+ * **Example usage:**
325
+ * ```javascript
326
+ * const dataset = await Dataset.open('my-results');
327
+ *
328
+ * // Iterate over all items (memory-efficient for large datasets)
329
+ * for await (const item of dataset.values()) {
330
+ * console.log(item);
331
+ * }
332
+ *
333
+ * // Or fetch all items at once
334
+ * const items = await dataset.values();
335
+ * console.log(items);
336
+ * ```
337
+ *
338
+ * @param options Options for the iteration.
339
+ */
340
+ values(options?: DatasetIteratorOptions): AsyncIterable<Data> & Promise<Data[]>;
341
+ /**
342
+ * Returns dataset entries (index-value pairs).
343
+ *
344
+ * When awaited (`await dataset.entries()`), returns all entries as a flat `[index, item][]` array.
345
+ * When used as an async iterable (`for await...of`), iterates over all entries across pages
346
+ * without loading everything into memory at once.
347
+ *
348
+ * **Example usage:**
349
+ * ```javascript
350
+ * const dataset = await Dataset.open('my-results');
351
+ *
352
+ * // Iterate over all entries
353
+ * for await (const [index, item] of dataset.entries()) {
354
+ * console.log(`Item at ${index}: ${JSON.stringify(item)}`);
355
+ * }
356
+ *
357
+ * // Or fetch all at once
358
+ * const entries = await dataset.entries();
359
+ * console.log(entries);
360
+ * ```
361
+ *
362
+ * @param options Options for the iteration.
363
+ */
364
+ entries(options?: DatasetIteratorOptions): AsyncIterable<[number, Data]> & Promise<[number, Data][]>;
365
+ /**
366
+ * Default async iterator for the dataset, iterating over items.
367
+ * Allows using the dataset directly in a `for await...of` loop.
368
+ *
369
+ * **Example usage:**
370
+ * ```javascript
371
+ * const dataset = await Dataset.open('my-results');
372
+ * for await (const item of dataset) {
373
+ * console.log(item);
374
+ * }
375
+ * ```
376
+ */
377
+ [Symbol.asyncIterator](): AsyncGenerator<Data, void, undefined>;
329
378
  /**
330
379
  * Removes the dataset either from the Apify cloud storage or from the local directory,
331
380
  * depending on the mode of operation.
@@ -340,12 +389,13 @@ export declare class Dataset<Data extends Dictionary = Dictionary> {
340
389
  *
341
390
  * For more details and code examples, see the {@link Dataset} class.
342
391
  *
343
- * @param [datasetIdOrName]
344
- * ID or name of the dataset to be opened. If `null` or `undefined`,
345
- * the function returns the default dataset associated with the crawler run.
392
+ * @param [identifier]
393
+ * ID or name of the dataset to be opened. If a string is provided, it will first be
394
+ * looked up as an ID; if no such storage exists, it will be treated as a name.
395
+ * If `null` or `undefined`, the function returns the default dataset associated with the crawler run.
346
396
  * @param [options] Storage manager options.
347
397
  */
348
- static open<Data extends Dictionary = Dictionary>(datasetIdOrName?: string | null, options?: StorageManagerOptions): Promise<Dataset<Data>>;
398
+ static open<Data extends Dictionary = Dictionary>(identifier?: string | StorageIdentifier | null, options?: StorageOpenOptions): Promise<Dataset<Data>>;
349
399
  /**
350
400
  * Stores an object or an array of objects to the default {@link Dataset} of the current crawler run.
351
401
  *
@@ -409,9 +459,9 @@ export interface DatasetReducer<T, Data> {
409
459
  (memo: T, item: Data, index: number): Awaitable<T>;
410
460
  }
411
461
  export interface DatasetOptions {
412
- id: string;
413
- name?: string;
414
- client: StorageClient;
462
+ /** Resolved metadata for the dataset, as returned by the backend's `getMetadata()`. */
463
+ metadata: DatasetInfo;
464
+ backend: DatasetBackend;
415
465
  }
416
466
  export interface DatasetContent<Data> {
417
467
  /** Total count of entries in the dataset. */
@@ -427,4 +477,3 @@ export interface DatasetContent<Data> {
427
477
  /** Should the results be in descending order. */
428
478
  desc?: boolean;
429
479
  }
430
- //# sourceMappingURL=dataset.d.ts.map