@crawlee/memory-storage 4.0.0-beta.6 → 4.0.0-beta.60

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 (53) hide show
  1. package/README.md +9 -5
  2. package/background-handler/fs-utils.d.ts +2 -1
  3. package/background-handler/fs-utils.d.ts.map +1 -1
  4. package/background-handler/fs-utils.js +2 -4
  5. package/background-handler/fs-utils.js.map +1 -1
  6. package/background-handler/index.d.ts +2 -1
  7. package/background-handler/index.d.ts.map +1 -1
  8. package/background-handler/index.js +4 -4
  9. package/background-handler/index.js.map +1 -1
  10. package/cache-helpers.d.ts.map +1 -1
  11. package/cache-helpers.js +9 -9
  12. package/cache-helpers.js.map +1 -1
  13. package/fs/key-value-store/fs.d.ts +1 -0
  14. package/fs/key-value-store/fs.d.ts.map +1 -1
  15. package/fs/key-value-store/fs.js +7 -3
  16. package/fs/key-value-store/fs.js.map +1 -1
  17. package/fs/key-value-store/index.d.ts +2 -0
  18. package/fs/key-value-store/index.d.ts.map +1 -1
  19. package/fs/key-value-store/index.js.map +1 -1
  20. package/memory-storage.d.ts +21 -10
  21. package/memory-storage.d.ts.map +1 -1
  22. package/memory-storage.js +127 -39
  23. package/memory-storage.js.map +1 -1
  24. package/package.json +5 -5
  25. package/resource-clients/dataset.d.ts +5 -3
  26. package/resource-clients/dataset.d.ts.map +1 -1
  27. package/resource-clients/dataset.js +48 -47
  28. package/resource-clients/dataset.js.map +1 -1
  29. package/resource-clients/key-value-store.d.ts +14 -2
  30. package/resource-clients/key-value-store.d.ts.map +1 -1
  31. package/resource-clients/key-value-store.js +161 -74
  32. package/resource-clients/key-value-store.js.map +1 -1
  33. package/resource-clients/request-queue.d.ts +1 -2
  34. package/resource-clients/request-queue.d.ts.map +1 -1
  35. package/resource-clients/request-queue.js +61 -98
  36. package/resource-clients/request-queue.js.map +1 -1
  37. package/utils.d.ts +50 -2
  38. package/utils.d.ts.map +1 -1
  39. package/utils.js +141 -2
  40. package/utils.js.map +1 -1
  41. package/resource-clients/dataset-collection.d.ts +0 -14
  42. package/resource-clients/dataset-collection.d.ts.map +0 -1
  43. package/resource-clients/dataset-collection.js +0 -49
  44. package/resource-clients/dataset-collection.js.map +0 -1
  45. package/resource-clients/key-value-store-collection.d.ts +0 -14
  46. package/resource-clients/key-value-store-collection.d.ts.map +0 -1
  47. package/resource-clients/key-value-store-collection.js +0 -53
  48. package/resource-clients/key-value-store-collection.js.map +0 -1
  49. package/resource-clients/request-queue-collection.d.ts +0 -14
  50. package/resource-clients/request-queue-collection.d.ts.map +0 -1
  51. package/resource-clients/request-queue-collection.js +0 -53
  52. package/resource-clients/request-queue-collection.js.map +0 -1
  53. package/tsconfig.build.tsbuildinfo +0 -1
@@ -5,7 +5,6 @@ import { AsyncQueue } from '@sapphire/async-queue';
5
5
  import { s } from '@sapphire/shapeshift';
6
6
  import { move } from 'fs-extra/esm';
7
7
  import { scheduleBackgroundTask } from '../background-handler/index.js';
8
- import { findRequestQueueByPossibleId } from '../cache-helpers.js';
9
8
  import { StorageTypes } from '../consts.js';
10
9
  import { createRequestQueueStorageImplementation } from '../fs/request-queue/index.js';
11
10
  import { purgeNullsFromObject, uniqueKeyToRequestId } from '../utils.js';
@@ -43,21 +42,9 @@ export class RequestQueueClient extends BaseClient {
43
42
  this.requestQueueDirectory = resolve(options.baseStorageDirectory, this.name ?? this.id);
44
43
  this.client = options.client;
45
44
  }
46
- async getQueue() {
47
- const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id);
48
- if (!existingQueueById) {
49
- this.throwOnNonExisting(StorageTypes.RequestQueue);
50
- }
51
- existingQueueById.updateTimestamps(false);
52
- return existingQueueById;
53
- }
54
- async get() {
55
- const found = await findRequestQueueByPossibleId(this.client, this.name ?? this.id);
56
- if (found) {
57
- found.updateTimestamps(false);
58
- return found.toRequestQueueInfo();
59
- }
60
- return undefined;
45
+ async getMetadata() {
46
+ this.updateTimestamps(false);
47
+ return this.toRequestQueueInfo();
61
48
  }
62
49
  async update(newFields) {
63
50
  // The validation is intentionally loose to prevent issues
@@ -68,31 +55,27 @@ export class RequestQueueClient extends BaseClient {
68
55
  })
69
56
  .passthrough()
70
57
  .parse(newFields);
71
- const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id);
72
- if (!existingQueueById) {
73
- this.throwOnNonExisting(StorageTypes.RequestQueue);
74
- }
75
58
  // Skip if no changes
76
59
  if (!parsed.name) {
77
- return existingQueueById.toRequestQueueInfo();
60
+ return this.toRequestQueueInfo();
78
61
  }
79
62
  // Check that name is not in use already
80
- const existingQueueByName = this.client.requestQueuesHandled.find((queue) => queue.name?.toLowerCase() === parsed.name.toLowerCase());
63
+ const existingQueueByName = this.client.requestQueueCache.find((queue) => queue.name?.toLowerCase() === parsed.name.toLowerCase());
81
64
  if (existingQueueByName) {
82
65
  this.throwOnDuplicateEntry(StorageTypes.RequestQueue, 'name', parsed.name);
83
66
  }
84
- existingQueueById.name = parsed.name;
85
- const previousDir = existingQueueById.requestQueueDirectory;
86
- existingQueueById.requestQueueDirectory = resolve(this.client.requestQueuesDirectory, parsed.name ?? existingQueueById.name ?? existingQueueById.id);
87
- await move(previousDir, existingQueueById.requestQueueDirectory, { overwrite: true });
67
+ this.name = parsed.name;
68
+ const previousDir = this.requestQueueDirectory;
69
+ this.requestQueueDirectory = resolve(this.client.requestQueuesDirectory, parsed.name ?? this.name ?? this.id);
70
+ await move(previousDir, this.requestQueueDirectory, { overwrite: true });
88
71
  // Update timestamps
89
- existingQueueById.updateTimestamps(true);
90
- return existingQueueById.toRequestQueueInfo();
72
+ this.updateTimestamps(true);
73
+ return this.toRequestQueueInfo();
91
74
  }
92
75
  async delete() {
93
- const storeIndex = this.client.requestQueuesHandled.findIndex((queue) => queue.id === this.id);
76
+ const storeIndex = this.client.requestQueueCache.findIndex((queue) => queue.id === this.id);
94
77
  if (storeIndex !== -1) {
95
- const [oldClient] = this.client.requestQueuesHandled.splice(storeIndex, 1);
78
+ const [oldClient] = this.client.requestQueueCache.splice(storeIndex, 1);
96
79
  oldClient.pendingRequestCount = 0;
97
80
  oldClient.requests.clear();
98
81
  await rm(oldClient.requestQueueDirectory, { recursive: true, force: true });
@@ -112,17 +95,13 @@ export class RequestQueueClient extends BaseClient {
112
95
  limit: s.number().optional().default(100),
113
96
  })
114
97
  .parse(options);
115
- const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id);
116
- if (!existingQueueById) {
117
- this.throwOnNonExisting(StorageTypes.RequestQueue);
118
- }
119
- existingQueueById.updateTimestamps(false);
98
+ this.updateTimestamps(false);
120
99
  const items = [];
121
100
  // Tracks processed request IDs to avoid duplicates when a request is in both `forefrontRequestIds` and `requests`.
122
101
  const seenRequestIds = new Set();
123
102
  // Tracks handled request IDs from `forefrontRequestIds` to be removed.
124
103
  const handledForefrontIds = new Set();
125
- for (const requestId of this.requestKeyIterator(existingQueueById)) {
104
+ for (const requestId of this.requestKeyIterator(this)) {
126
105
  if (items.length === limit) {
127
106
  break;
128
107
  }
@@ -130,7 +109,7 @@ export class RequestQueueClient extends BaseClient {
130
109
  continue;
131
110
  }
132
111
  seenRequestIds.add(requestId);
133
- const storageEntry = existingQueueById.requests.get(requestId);
112
+ const storageEntry = this.requests.get(requestId);
134
113
  let { orderNo } = storageEntry;
135
114
  let loaded;
136
115
  // Uncached entry
@@ -150,7 +129,7 @@ export class RequestQueueClient extends BaseClient {
150
129
  return {
151
130
  limit,
152
131
  hadMultipleClients: false,
153
- queueModifiedAt: existingQueueById.modifiedAt,
132
+ queueModifiedAt: this.modifiedAt,
154
133
  items: items.sort((a, b) => a.orderNo - b.orderNo).map(({ json }) => this._jsonToRequest(json)),
155
134
  };
156
135
  }
@@ -161,17 +140,17 @@ export class RequestQueueClient extends BaseClient {
161
140
  lockSecs: s.number(),
162
141
  })
163
142
  .parse(options);
164
- const queue = await this.getQueue();
143
+ this.updateTimestamps(false);
165
144
  const start = Date.now();
166
145
  const isLocked = (request) => !request.orderNo || request.orderNo > start || request.orderNo < -start;
167
146
  const items = [];
168
- await queue.mutex.wait();
147
+ await this.mutex.wait();
169
148
  try {
170
149
  // Tracks processed request IDs to avoid duplicates (when a request is in both `forefrontRequestIds` and `requests`).
171
150
  const seenRequestIds = new Set();
172
151
  // Tracks handled request IDs from `forefrontRequestIds` (to be all removed at once).
173
152
  const handledForefrontIds = new Set();
174
- for (const requestId of this.requestKeyIterator(queue)) {
153
+ for (const requestId of this.requestKeyIterator(this)) {
175
154
  if (items.length === limit) {
176
155
  break;
177
156
  }
@@ -179,7 +158,7 @@ export class RequestQueueClient extends BaseClient {
179
158
  continue;
180
159
  }
181
160
  seenRequestIds.add(requestId);
182
- const storageEntry = queue.requests.get(requestId);
161
+ const storageEntry = this.requests.get(requestId);
183
162
  // This is set to null when the request has been handled, so we don't need to re-fetch from fs
184
163
  if (storageEntry.orderNo === null) {
185
164
  if (this.forefrontRequestIds.includes(requestId)) {
@@ -201,12 +180,12 @@ export class RequestQueueClient extends BaseClient {
201
180
  limit,
202
181
  lockSecs,
203
182
  hadMultipleClients: false,
204
- queueModifiedAt: queue.modifiedAt,
183
+ queueModifiedAt: this.modifiedAt,
205
184
  items: items.map(({ json }) => this._jsonToRequest(json)),
206
185
  };
207
186
  }
208
187
  finally {
209
- queue.mutex.shift();
188
+ this.mutex.shift();
210
189
  }
211
190
  }
212
191
  async prolongRequestLock(id, options) {
@@ -217,15 +196,15 @@ export class RequestQueueClient extends BaseClient {
217
196
  forefront: s.boolean().optional().default(false),
218
197
  })
219
198
  .parse(options);
220
- const queue = await this.getQueue();
221
- const request = queue.requests.get(id);
199
+ this.updateTimestamps(false);
200
+ const request = this.requests.get(id);
222
201
  const internalRequest = await request?.get();
223
202
  if (!internalRequest) {
224
- throw new Error(`Request with ID ${id} not found in queue ${queue.name ?? queue.id}`);
203
+ throw new Error(`Request with ID ${id} not found in queue ${this.name ?? this.id}`);
225
204
  }
226
205
  const canProlong = (r) => !!r.orderNo;
227
206
  if (!canProlong(internalRequest)) {
228
- throw new Error(`Request with ID ${id} has already been handled in queue ${queue.name ?? queue.id}`);
207
+ throw new Error(`Request with ID ${id} has already been handled in queue ${this.name ?? this.id}`);
229
208
  }
230
209
  const unlockTimestamp = Math.abs(internalRequest.orderNo) + lockSecs * 1000;
231
210
  internalRequest.orderNo = forefront ? -unlockTimestamp : unlockTimestamp;
@@ -243,17 +222,17 @@ export class RequestQueueClient extends BaseClient {
243
222
  forefront: s.boolean().optional().default(false),
244
223
  })
245
224
  .parse(options);
246
- const queue = await this.getQueue();
247
- const request = queue.requests.get(id);
225
+ this.updateTimestamps(false);
226
+ const request = this.requests.get(id);
248
227
  const internalRequest = await request?.get();
249
228
  if (!internalRequest) {
250
- throw new Error(`Request with ID ${id} not found in queue ${queue.name ?? queue.id}`);
229
+ throw new Error(`Request with ID ${id} not found in queue ${this.name ?? this.id}`);
251
230
  }
252
231
  const start = Date.now();
253
232
  // If there is no `orderNo` -> request was marked as handled
254
233
  const isLocked = (r) => r.orderNo && (r.orderNo > start || r.orderNo < -start);
255
234
  if (!isLocked(internalRequest)) {
256
- throw new Error(`Request with ID ${id} is not locked in queue ${queue.name ?? queue.id}`);
235
+ throw new Error(`Request with ID ${id} is not locked in queue ${this.name ?? this.id}`);
257
236
  }
258
237
  internalRequest.orderNo = forefront ? -start : start;
259
238
  if (forefront)
@@ -263,16 +242,12 @@ export class RequestQueueClient extends BaseClient {
263
242
  async addRequest(request, options = {}) {
264
243
  requestShapeWithoutId.parse(request);
265
244
  requestOptionsShape.parse(options);
266
- const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id);
267
- if (!existingQueueById) {
268
- this.throwOnNonExisting(StorageTypes.RequestQueue);
269
- }
270
245
  const requestModel = this._createInternalRequest(request, options.forefront);
271
- const existingRequestWithIdEntry = existingQueueById.requests.get(requestModel.id);
246
+ const existingRequestWithIdEntry = this.requests.get(requestModel.id);
272
247
  // We already have the request present, so we return information about it
273
248
  if (existingRequestWithIdEntry) {
274
249
  const existingRequestWithId = await existingRequestWithIdEntry.get();
275
- existingQueueById.updateTimestamps(false);
250
+ this.updateTimestamps(false);
276
251
  return {
277
252
  requestId: existingRequestWithId.id,
278
253
  wasAlreadyHandled: existingRequestWithId.orderNo === null,
@@ -280,18 +255,18 @@ export class RequestQueueClient extends BaseClient {
280
255
  };
281
256
  }
282
257
  const newEntry = createRequestQueueStorageImplementation({
283
- persistStorage: existingQueueById.client.persistStorage,
258
+ persistStorage: this.client.persistStorage,
284
259
  requestId: requestModel.id,
285
- storeDirectory: existingQueueById.requestQueueDirectory,
260
+ storeDirectory: this.requestQueueDirectory,
286
261
  });
287
262
  await newEntry.update(requestModel);
288
- existingQueueById.requests.set(requestModel.id, newEntry);
289
- existingQueueById.updateTimestamps(true);
263
+ this.requests.set(requestModel.id, newEntry);
264
+ this.updateTimestamps(true);
290
265
  if (requestModel.orderNo) {
291
- existingQueueById.pendingRequestCount += 1;
266
+ this.pendingRequestCount += 1;
292
267
  }
293
268
  else {
294
- existingQueueById.handledRequestCount += 1;
269
+ this.handledRequestCount += 1;
295
270
  }
296
271
  if (options.forefront) {
297
272
  this.forefrontRequestIds.push(requestModel.id);
@@ -307,17 +282,13 @@ export class RequestQueueClient extends BaseClient {
307
282
  async batchAddRequests(requests, options = {}) {
308
283
  batchRequestShapeWithoutId.parse(requests);
309
284
  requestOptionsShape.parse(options);
310
- const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id);
311
- if (!existingQueueById) {
312
- this.throwOnNonExisting(StorageTypes.RequestQueue);
313
- }
314
285
  const result = {
315
286
  processedRequests: [],
316
287
  unprocessedRequests: [],
317
288
  };
318
289
  for (const model of requests) {
319
290
  const requestModel = this._createInternalRequest(model, options.forefront);
320
- const existingRequestWithIdEntry = existingQueueById.requests.get(requestModel.id);
291
+ const existingRequestWithIdEntry = this.requests.get(requestModel.id);
321
292
  if (existingRequestWithIdEntry) {
322
293
  const existingRequestWithId = await existingRequestWithIdEntry.get();
323
294
  result.processedRequests.push({
@@ -329,17 +300,17 @@ export class RequestQueueClient extends BaseClient {
329
300
  continue;
330
301
  }
331
302
  const newEntry = createRequestQueueStorageImplementation({
332
- persistStorage: existingQueueById.client.persistStorage,
303
+ persistStorage: this.client.persistStorage,
333
304
  requestId: requestModel.id,
334
- storeDirectory: existingQueueById.requestQueueDirectory,
305
+ storeDirectory: this.requestQueueDirectory,
335
306
  });
336
307
  await newEntry.update(requestModel);
337
- existingQueueById.requests.set(requestModel.id, newEntry);
308
+ this.requests.set(requestModel.id, newEntry);
338
309
  if (requestModel.orderNo) {
339
- existingQueueById.pendingRequestCount += 1;
310
+ this.pendingRequestCount += 1;
340
311
  }
341
312
  else {
342
- existingQueueById.handledRequestCount += 1;
313
+ this.handledRequestCount += 1;
343
314
  }
344
315
  if (options.forefront) {
345
316
  this.forefrontRequestIds.push(requestModel.id);
@@ -353,26 +324,22 @@ export class RequestQueueClient extends BaseClient {
353
324
  wasAlreadyPresent: false,
354
325
  });
355
326
  }
356
- existingQueueById.updateTimestamps(true);
327
+ this.updateTimestamps(true);
357
328
  return result;
358
329
  }
359
330
  async getRequest(id) {
360
331
  s.string().parse(id);
361
- const queue = await this.getQueue();
362
- const json = (await queue.requests.get(id)?.get())?.json;
332
+ this.updateTimestamps(false);
333
+ const json = (await this.requests.get(id)?.get())?.json;
363
334
  return this._jsonToRequest(json);
364
335
  }
365
336
  async updateRequest(request, options = {}) {
366
337
  requestShape.parse(request);
367
338
  requestOptionsShape.parse(options);
368
- const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id);
369
- if (!existingQueueById) {
370
- this.throwOnNonExisting(StorageTypes.RequestQueue);
371
- }
372
339
  const requestModel = this._createInternalRequest(request, options.forefront);
373
340
  // First we need to check the existing request to be
374
341
  // able to return information about its handled state.
375
- const existingRequestEntry = existingQueueById.requests.get(requestModel.id);
342
+ const existingRequestEntry = this.requests.get(requestModel.id);
376
343
  // Undefined means that the request is not present in the queue.
377
344
  // We need to insert it, to behave the same as API.
378
345
  if (!existingRequestEntry) {
@@ -380,24 +347,24 @@ export class RequestQueueClient extends BaseClient {
380
347
  }
381
348
  const existingRequest = await existingRequestEntry.get();
382
349
  const newEntry = createRequestQueueStorageImplementation({
383
- persistStorage: existingQueueById.client.persistStorage,
350
+ persistStorage: this.client.persistStorage,
384
351
  requestId: requestModel.id,
385
- storeDirectory: existingQueueById.requestQueueDirectory,
352
+ storeDirectory: this.requestQueueDirectory,
386
353
  });
387
354
  await newEntry.update(requestModel);
388
355
  // When updating the request, we need to make sure that
389
356
  // the handled counts are updated correctly in all cases.
390
- existingQueueById.requests.set(requestModel.id, newEntry);
357
+ this.requests.set(requestModel.id, newEntry);
391
358
  const isRequestHandledStateChanging = typeof existingRequest.orderNo !== typeof requestModel.orderNo;
392
359
  const requestWasHandledBeforeUpdate = existingRequest.orderNo === null;
393
360
  const requestIsHandledAfterUpdate = requestModel.orderNo === null;
394
361
  if (isRequestHandledStateChanging) {
395
- existingQueueById.pendingRequestCount += requestWasHandledBeforeUpdate ? 1 : -1;
362
+ this.pendingRequestCount += requestWasHandledBeforeUpdate ? 1 : -1;
396
363
  }
397
364
  if (requestIsHandledAfterUpdate) {
398
- existingQueueById.handledRequestCount += 1;
365
+ this.handledRequestCount += 1;
399
366
  }
400
- existingQueueById.updateTimestamps(true);
367
+ this.updateTimestamps(true);
401
368
  if (options.forefront && !requestIsHandledAfterUpdate) {
402
369
  this.forefrontRequestIds.push(requestModel.id);
403
370
  }
@@ -408,20 +375,16 @@ export class RequestQueueClient extends BaseClient {
408
375
  };
409
376
  }
410
377
  async deleteRequest(id) {
411
- const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id);
412
- if (!existingQueueById) {
413
- this.throwOnNonExisting(StorageTypes.RequestQueue);
414
- }
415
- const entry = existingQueueById.requests.get(id);
378
+ const entry = this.requests.get(id);
416
379
  if (entry) {
417
380
  const request = await entry.get();
418
- existingQueueById.requests.delete(id);
419
- existingQueueById.updateTimestamps(true);
381
+ this.requests.delete(id);
382
+ this.updateTimestamps(true);
420
383
  if (request.orderNo) {
421
- existingQueueById.pendingRequestCount -= 1;
384
+ this.pendingRequestCount -= 1;
422
385
  }
423
386
  else {
424
- existingQueueById.handledRequestCount -= 1;
387
+ this.handledRequestCount -= 1;
425
388
  }
426
389
  await entry.delete();
427
390
  }
@@ -458,7 +421,7 @@ export class RequestQueueClient extends BaseClient {
458
421
  id: this.name ?? this.id,
459
422
  writeMetadata: this.client.writeMetadata,
460
423
  persistStorage: this.client.persistStorage,
461
- });
424
+ }, this.client.logger);
462
425
  }
463
426
  _jsonToRequest(requestJson) {
464
427
  if (!requestJson)
@@ -1 +1 @@
1
- {"version":3,"file":"request-queue.js","sourceRoot":"","sources":["../../src/resource-clients/request-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-queue.js","sourceRoot":"","sources":["../../src/resource-clients/request-queue.ts"],"names":[],"mappings":"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"}
package/utils.d.ts CHANGED
@@ -10,8 +10,6 @@ export declare function purgeNullsFromObject<T>(object: T): T;
10
10
  export declare function uniqueKeyToRequestId(uniqueKey: string): string;
11
11
  export declare function isBuffer(value: unknown): boolean;
12
12
  export declare function isStream(value: any): boolean;
13
- // @ts-ignore optional peer dependency or compatibility with es2022
14
- export declare const memoryStorageLog: import("@apify/log").Log;
15
13
  export type BackgroundHandlerReceivedMessage = BackgroundHandlerUpdateMetadataMessage;
16
14
  export type BackgroundHandlerUpdateMetadataMessage = MetadataUpdate<'datasets', storage.DatasetInfo> | MetadataUpdate<'keyValueStores', storage.KeyValueStoreInfo> | MetadataUpdate<'requestQueues', storage.RequestQueueInfo>;
17
15
  type EntityType = 'datasets' | 'keyValueStores' | 'requestQueues';
@@ -24,5 +22,55 @@ interface MetadataUpdate<Type extends EntityType, DataType> {
24
22
  writeMetadata: boolean;
25
23
  persistStorage: boolean;
26
24
  }
25
+ /**
26
+ * Creates a hybrid Promise + AsyncIterable for offset-based pagination (Dataset.listItems).
27
+ *
28
+ * The returned object can be:
29
+ * - Awaited directly to get the first page (backward compatible)
30
+ * - Used with `for await...of` to iterate through all items
31
+ */
32
+ export declare function createPaginatedList<Data>(getPage: (offset: number, limit: number) => Promise<storage.PaginatedList<Data>>, options?: {
33
+ offset?: number;
34
+ limit?: number;
35
+ }): AsyncIterable<Data> & Promise<storage.PaginatedList<Data>>;
36
+ /**
37
+ * Creates a hybrid Promise + AsyncIterable for cursor-based pagination (KeyValueStore.listKeys).
38
+ *
39
+ * The returned object can be:
40
+ * - Awaited directly to get the first page (backward compatible)
41
+ * - Used with `for await...of` to iterate through all keys
42
+ */
43
+ export declare function createKeyList(getPage: (exclusiveStartKey?: string) => Promise<storage.KeyValueStoreClientListData>, options?: {
44
+ exclusiveStartKey?: string;
45
+ limit?: number;
46
+ }): AsyncIterable<storage.KeyValueStoreItemData> & Promise<storage.KeyValueStoreClientListData>;
47
+ /**
48
+ * Creates a hybrid Promise + AsyncIterable that yields only key strings (KeyValueStore.keys).
49
+ *
50
+ * The returned object can be:
51
+ * - Awaited directly to get the first page (backward compatible)
52
+ * - Used with `for await...of` to iterate through all key strings
53
+ */
54
+ export declare function createKeyStringList(getPage: (exclusiveStartKey?: string) => Promise<storage.KeyValueStoreClientListData>, options?: {
55
+ exclusiveStartKey?: string;
56
+ limit?: number;
57
+ }): AsyncIterable<string> & Promise<storage.KeyValueStoreClientListData>;
58
+ /**
59
+ * Creates a hybrid Promise + AsyncIterable for offset-based pagination with index-value entries (Dataset.listEntries).
60
+ *
61
+ * The returned object can be:
62
+ * - Awaited directly to get the first page with [index, item] tuples (backward compatible)
63
+ * - Used with `for await...of` to iterate through all entries as [index, item] tuples
64
+ */
65
+ export declare function createPaginatedEntryList<Data>(getPage: (offset: number, limit: number) => Promise<storage.PaginatedList<Data>>, options?: {
66
+ offset?: number;
67
+ limit?: number;
68
+ }): AsyncIterable<[number, Data]> & Promise<storage.PaginatedList<[number, Data]>>;
69
+ /**
70
+ * Creates an object that acts as both a lazy Promise and an AsyncIterable.
71
+ * - When awaited, it triggers `promiseFactory` (bulk fetch, cached after first call).
72
+ * - When iterated with `for await...of`, it uses `iteratorFactory` (streaming, no bulk fetch).
73
+ */
74
+ export declare function createLazyIterablePromise<TPromise, TElement>(promiseFactory: () => Promise<TPromise>, iteratorFactory: () => AsyncGenerator<TElement>): AsyncIterable<TElement> & Promise<TPromise>;
27
75
  export {};
28
76
  //# sourceMappingURL=utils.d.ts.map
package/utils.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAO/C;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAQpD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO9D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQhD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAM5C;AAED,eAAO,MAAM,gBAAgB,0BAAgD,CAAC;AAE9E,MAAM,MAAM,gCAAgC,GAAG,sCAAsC,CAAC;AAEtF,MAAM,MAAM,sCAAsC,GAC5C,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,GAC/C,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAC3D,cAAc,CAAC,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAEhE,KAAK,UAAU,GAAG,UAAU,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAElE,UAAU,cAAc,CAAC,IAAI,SAAS,UAAU,EAAE,QAAQ;IACtD,UAAU,EAAE,IAAI,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CAC3B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}