@libp2p/utils 7.0.15 → 7.0.17
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/dist/index.min.js +4 -9
- package/dist/index.min.js.map +4 -4
- package/dist/src/abstract-stream.d.ts +2 -2
- package/dist/src/abstract-stream.js +1 -1
- package/dist/src/adaptive-timeout.js +1 -1
- package/dist/src/errors.d.ts +1 -1
- package/dist/src/filters/bloom-filter.d.ts +1 -1
- package/dist/src/filters/bloom-filter.js +1 -1
- package/dist/src/filters/bucket.d.ts +1 -1
- package/dist/src/filters/bucket.js +2 -2
- package/dist/src/filters/cuckoo-filter.d.ts +2 -2
- package/dist/src/filters/cuckoo-filter.js +4 -4
- package/dist/src/filters/fingerprint.d.ts +1 -1
- package/dist/src/filters/index.d.ts +6 -6
- package/dist/src/filters/index.js +3 -3
- package/dist/src/filters/scalable-cuckoo-filter.d.ts +2 -2
- package/dist/src/filters/scalable-cuckoo-filter.js +3 -3
- package/dist/src/get-thin-waist-addresses.js +1 -1
- package/dist/src/index.d.ts +31 -31
- package/dist/src/index.js +31 -31
- package/dist/src/message-queue.js +1 -1
- package/dist/src/mock-muxer.js +1 -1
- package/dist/src/multiaddr/index.d.ts +5 -5
- package/dist/src/multiaddr/index.js +5 -5
- package/dist/src/peer-queue.d.ts +2 -2
- package/dist/src/peer-queue.js +1 -1
- package/dist/src/priority-queue.d.ts +2 -2
- package/dist/src/priority-queue.js +1 -1
- package/dist/src/queue/index.d.ts +5 -4
- package/dist/src/queue/index.d.ts.map +1 -1
- package/dist/src/queue/index.js +4 -3
- package/dist/src/queue/index.js.map +1 -1
- package/dist/src/queue/job.d.ts +5 -4
- package/dist/src/queue/job.d.ts.map +1 -1
- package/dist/src/queue/job.js +10 -5
- package/dist/src/queue/job.js.map +1 -1
- package/dist/src/queue/recipient.d.ts +5 -2
- package/dist/src/queue/recipient.d.ts.map +1 -1
- package/dist/src/queue/recipient.js +4 -2
- package/dist/src/queue/recipient.js.map +1 -1
- package/dist/src/rate-limiter.js +1 -1
- package/dist/src/stream-utils.js +1 -1
- package/package.json +9 -7
- package/src/abstract-stream.ts +2 -2
- package/src/adaptive-timeout.ts +1 -1
- package/src/errors.ts +1 -1
- package/src/filters/bloom-filter.ts +2 -2
- package/src/filters/bucket.ts +2 -2
- package/src/filters/cuckoo-filter.ts +6 -6
- package/src/filters/fingerprint.ts +1 -1
- package/src/filters/index.ts +6 -6
- package/src/filters/scalable-cuckoo-filter.ts +6 -6
- package/src/get-thin-waist-addresses.ts +1 -1
- package/src/index.ts +31 -31
- package/src/message-queue.ts +1 -1
- package/src/mock-muxer.ts +1 -1
- package/src/multiaddr/index.ts +5 -5
- package/src/peer-queue.ts +2 -2
- package/src/priority-queue.ts +2 -2
- package/src/queue/index.ts +10 -6
- package/src/queue/job.ts +13 -7
- package/src/queue/recipient.ts +7 -3
- package/src/rate-limiter.ts +1 -1
- package/src/stream-utils.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractMessageStream } from './abstract-message-stream.
|
|
2
|
-
import type { MessageStreamInit } from './abstract-message-stream.
|
|
1
|
+
import { AbstractMessageStream } from './abstract-message-stream.ts';
|
|
2
|
+
import type { MessageStreamInit } from './abstract-message-stream.ts';
|
|
3
3
|
import type { AbortOptions, Stream } from '@libp2p/interface';
|
|
4
4
|
export interface AbstractStreamInit extends MessageStreamInit {
|
|
5
5
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { anySignal } from 'any-signal';
|
|
2
2
|
import { setMaxListeners } from 'main-event';
|
|
3
|
-
import { MovingAverage } from
|
|
3
|
+
import { MovingAverage } from "./moving-average.js";
|
|
4
4
|
export const DEFAULT_TIMEOUT_MULTIPLIER = 1.2;
|
|
5
5
|
export const DEFAULT_FAILURE_MULTIPLIER = 2;
|
|
6
6
|
export const DEFAULT_MIN_TIMEOUT = 5_000;
|
package/dist/src/errors.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { randomBytes } from '@libp2p/crypto';
|
|
|
3
3
|
import { Uint8ArrayList } from 'uint8arraylist';
|
|
4
4
|
import { alloc } from 'uint8arrays/alloc';
|
|
5
5
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
6
|
-
import { fnv1a } from
|
|
6
|
+
import { fnv1a } from "./hashes.js";
|
|
7
7
|
const LN2_SQUARED = Math.LN2 * Math.LN2;
|
|
8
8
|
export class BloomFilter {
|
|
9
9
|
seeds;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Hash } from './hashes.
|
|
2
|
-
import type { Filter } from './index.
|
|
1
|
+
import type { Hash } from './hashes.ts';
|
|
2
|
+
import type { Filter } from './index.ts';
|
|
3
3
|
export interface CuckooFilterInit {
|
|
4
4
|
/**
|
|
5
5
|
* How many items the filter is expected to contain
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
2
|
-
import { Bucket } from
|
|
3
|
-
import { Fingerprint, MAX_FINGERPRINT_SIZE } from
|
|
4
|
-
import { fnv1a } from
|
|
5
|
-
import { getRandomInt } from
|
|
2
|
+
import { Bucket } from "./bucket.js";
|
|
3
|
+
import { Fingerprint, MAX_FINGERPRINT_SIZE } from "./fingerprint.js";
|
|
4
|
+
import { fnv1a } from "./hashes.js";
|
|
5
|
+
import { getRandomInt } from "./utils.js";
|
|
6
6
|
const maxCuckooCount = 500;
|
|
7
7
|
export class CuckooFilter {
|
|
8
8
|
bucketSize;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { BloomFilter, createBloomFilter, type BloomFilterOptions } from './bloom-filter.
|
|
2
|
-
export { CuckooFilter, createCuckooFilter, type CuckooFilterInit } from './cuckoo-filter.
|
|
3
|
-
export { ScalableCuckooFilter, createScalableCuckooFilter, type ScalableCuckooFilterInit } from './scalable-cuckoo-filter.
|
|
4
|
-
export type { Bucket } from './bucket.
|
|
5
|
-
export type { Fingerprint } from './fingerprint.
|
|
6
|
-
export type { Hash } from './hashes.
|
|
1
|
+
export { BloomFilter, createBloomFilter, type BloomFilterOptions } from './bloom-filter.ts';
|
|
2
|
+
export { CuckooFilter, createCuckooFilter, type CuckooFilterInit } from './cuckoo-filter.ts';
|
|
3
|
+
export { ScalableCuckooFilter, createScalableCuckooFilter, type ScalableCuckooFilterInit } from './scalable-cuckoo-filter.ts';
|
|
4
|
+
export type { Bucket } from './bucket.ts';
|
|
5
|
+
export type { Fingerprint } from './fingerprint.ts';
|
|
6
|
+
export type { Hash } from './hashes.ts';
|
|
7
7
|
export interface Filter {
|
|
8
8
|
add(item: Uint8Array | string): void;
|
|
9
9
|
has(item: Uint8Array | string): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { BloomFilter, createBloomFilter } from
|
|
2
|
-
export { CuckooFilter, createCuckooFilter } from
|
|
3
|
-
export { ScalableCuckooFilter, createScalableCuckooFilter } from
|
|
1
|
+
export { BloomFilter, createBloomFilter } from "./bloom-filter.js";
|
|
2
|
+
export { CuckooFilter, createCuckooFilter } from "./cuckoo-filter.js";
|
|
3
|
+
export { ScalableCuckooFilter, createScalableCuckooFilter } from "./scalable-cuckoo-filter.js";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CuckooFilterInit } from './cuckoo-filter.
|
|
2
|
-
import type { Filter } from './index.
|
|
1
|
+
import type { CuckooFilterInit } from './cuckoo-filter.ts';
|
|
2
|
+
import type { Filter } from './index.ts';
|
|
3
3
|
export interface ScalableCuckooFilterInit extends CuckooFilterInit {
|
|
4
4
|
/**
|
|
5
5
|
* A number to multiply maxItems by when adding new sub-filters
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
2
|
-
import { CuckooFilter, optimize } from
|
|
3
|
-
import { fnv1a } from
|
|
4
|
-
import { getRandomInt } from
|
|
2
|
+
import { CuckooFilter, optimize } from "./cuckoo-filter.js";
|
|
3
|
+
import { fnv1a } from "./hashes.js";
|
|
4
|
+
import { getRandomInt } from "./utils.js";
|
|
5
5
|
export class ScalableCuckooFilter {
|
|
6
6
|
filterSize;
|
|
7
7
|
bucketSize;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import os from 'node:os';
|
|
2
|
-
import { isLinkLocalIp } from
|
|
2
|
+
import { isLinkLocalIp } from "./link-local-ip.js";
|
|
3
3
|
import { getNetConfig } from "./multiaddr/get-net-config.js";
|
|
4
4
|
import { netConfigToMultiaddr } from "./multiaddr/utils.js";
|
|
5
5
|
const FAMILIES = { 4: 'IPv4', 6: 'IPv6' };
|
package/dist/src/index.d.ts
CHANGED
|
@@ -3,35 +3,35 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This module contains utility functions used by libp2p modules.
|
|
5
5
|
*/
|
|
6
|
-
export * from './filters/index.
|
|
7
|
-
export * from './multiaddr/index.
|
|
8
|
-
export * from './queue/index.
|
|
9
|
-
export * from './abstract-message-stream.
|
|
10
|
-
export * from './abstract-multiaddr-connection.
|
|
11
|
-
export * from './abstract-stream-muxer.
|
|
12
|
-
export * from './abstract-stream.
|
|
13
|
-
export * from './adaptive-timeout.
|
|
14
|
-
export * from './debounce.
|
|
15
|
-
export * from './errors.
|
|
16
|
-
export * from './get-thin-waist-addresses.
|
|
17
|
-
export * from './global-unicast-ip.
|
|
18
|
-
export * from './ip-port-to-multiaddr.
|
|
19
|
-
export * from './is-async-generator.
|
|
20
|
-
export * from './is-generator.
|
|
21
|
-
export * from './is-promise.
|
|
22
|
-
export * from './length-prefixed-decoder.
|
|
23
|
-
export * from './link-local-ip.
|
|
24
|
-
export * from './mock-muxer.
|
|
25
|
-
export * from './mock-stream.
|
|
26
|
-
export * from './moving-average.
|
|
27
|
-
export * from './multiaddr-connection-pair.
|
|
28
|
-
export * from './peer-queue.
|
|
29
|
-
export * from './priority-queue.
|
|
30
|
-
export * from './private-ip.
|
|
31
|
-
export * from './rate-limiter.
|
|
32
|
-
export * from './repeating-task.
|
|
33
|
-
export * from './stream-pair.
|
|
34
|
-
export * from './stream-utils.
|
|
35
|
-
export * from './tracked-list.
|
|
36
|
-
export * from './tracked-map.
|
|
6
|
+
export * from './filters/index.ts';
|
|
7
|
+
export * from './multiaddr/index.ts';
|
|
8
|
+
export * from './queue/index.ts';
|
|
9
|
+
export * from './abstract-message-stream.ts';
|
|
10
|
+
export * from './abstract-multiaddr-connection.ts';
|
|
11
|
+
export * from './abstract-stream-muxer.ts';
|
|
12
|
+
export * from './abstract-stream.ts';
|
|
13
|
+
export * from './adaptive-timeout.ts';
|
|
14
|
+
export * from './debounce.ts';
|
|
15
|
+
export * from './errors.ts';
|
|
16
|
+
export * from './get-thin-waist-addresses.ts';
|
|
17
|
+
export * from './global-unicast-ip.ts';
|
|
18
|
+
export * from './ip-port-to-multiaddr.ts';
|
|
19
|
+
export * from './is-async-generator.ts';
|
|
20
|
+
export * from './is-generator.ts';
|
|
21
|
+
export * from './is-promise.ts';
|
|
22
|
+
export * from './length-prefixed-decoder.ts';
|
|
23
|
+
export * from './link-local-ip.ts';
|
|
24
|
+
export * from './mock-muxer.ts';
|
|
25
|
+
export * from './mock-stream.ts';
|
|
26
|
+
export * from './moving-average.ts';
|
|
27
|
+
export * from './multiaddr-connection-pair.ts';
|
|
28
|
+
export * from './peer-queue.ts';
|
|
29
|
+
export * from './priority-queue.ts';
|
|
30
|
+
export * from './private-ip.ts';
|
|
31
|
+
export * from './rate-limiter.ts';
|
|
32
|
+
export * from './repeating-task.ts';
|
|
33
|
+
export * from './stream-pair.ts';
|
|
34
|
+
export * from './stream-utils.ts';
|
|
35
|
+
export * from './tracked-list.ts';
|
|
36
|
+
export * from './tracked-map.ts';
|
|
37
37
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.js
CHANGED
|
@@ -3,35 +3,35 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This module contains utility functions used by libp2p modules.
|
|
5
5
|
*/
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
9
|
-
export * from
|
|
10
|
-
export * from
|
|
11
|
-
export * from
|
|
12
|
-
export * from
|
|
13
|
-
export * from
|
|
14
|
-
export * from
|
|
15
|
-
export * from
|
|
16
|
-
export * from
|
|
17
|
-
export * from
|
|
18
|
-
export * from
|
|
19
|
-
export * from
|
|
20
|
-
export * from
|
|
21
|
-
export * from
|
|
22
|
-
export * from
|
|
23
|
-
export * from
|
|
24
|
-
export * from
|
|
25
|
-
export * from
|
|
26
|
-
export * from
|
|
27
|
-
export * from
|
|
28
|
-
export * from
|
|
29
|
-
export * from
|
|
30
|
-
export * from
|
|
31
|
-
export * from
|
|
32
|
-
export * from
|
|
33
|
-
export * from
|
|
34
|
-
export * from
|
|
35
|
-
export * from
|
|
36
|
-
export * from
|
|
6
|
+
export * from "./filters/index.js";
|
|
7
|
+
export * from "./multiaddr/index.js";
|
|
8
|
+
export * from "./queue/index.js";
|
|
9
|
+
export * from "./abstract-message-stream.js";
|
|
10
|
+
export * from "./abstract-multiaddr-connection.js";
|
|
11
|
+
export * from "./abstract-stream-muxer.js";
|
|
12
|
+
export * from "./abstract-stream.js";
|
|
13
|
+
export * from "./adaptive-timeout.js";
|
|
14
|
+
export * from "./debounce.js";
|
|
15
|
+
export * from "./errors.js";
|
|
16
|
+
export * from "./get-thin-waist-addresses.js";
|
|
17
|
+
export * from "./global-unicast-ip.js";
|
|
18
|
+
export * from "./ip-port-to-multiaddr.js";
|
|
19
|
+
export * from "./is-async-generator.js";
|
|
20
|
+
export * from "./is-generator.js";
|
|
21
|
+
export * from "./is-promise.js";
|
|
22
|
+
export * from "./length-prefixed-decoder.js";
|
|
23
|
+
export * from "./link-local-ip.js";
|
|
24
|
+
export * from "./mock-muxer.js";
|
|
25
|
+
export * from "./mock-stream.js";
|
|
26
|
+
export * from "./moving-average.js";
|
|
27
|
+
export * from "./multiaddr-connection-pair.js";
|
|
28
|
+
export * from "./peer-queue.js";
|
|
29
|
+
export * from "./priority-queue.js";
|
|
30
|
+
export * from "./private-ip.js";
|
|
31
|
+
export * from "./rate-limiter.js";
|
|
32
|
+
export * from "./repeating-task.js";
|
|
33
|
+
export * from "./stream-pair.js";
|
|
34
|
+
export * from "./stream-utils.js";
|
|
35
|
+
export * from "./tracked-list.js";
|
|
36
|
+
export * from "./tracked-map.js";
|
|
37
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -3,7 +3,7 @@ import delay from 'delay';
|
|
|
3
3
|
import { TypedEventEmitter } from 'main-event';
|
|
4
4
|
import { raceSignal } from 'race-signal';
|
|
5
5
|
import { isUint8ArrayList, Uint8ArrayList } from 'uint8arraylist';
|
|
6
|
-
import { Queue } from
|
|
6
|
+
import { Queue } from "./queue/index.js";
|
|
7
7
|
const DEFAULT_CHUNK_SIZE = 1024 * 64;
|
|
8
8
|
/**
|
|
9
9
|
* Accepts events to emit after a short delay, and with a configurable maximum
|
package/dist/src/mock-muxer.js
CHANGED
|
@@ -4,7 +4,7 @@ import { pushable } from 'it-pushable';
|
|
|
4
4
|
import { Uint8ArrayList } from 'uint8arraylist';
|
|
5
5
|
import { AbstractStreamMuxer } from "./abstract-stream-muxer.js";
|
|
6
6
|
import { AbstractStream } from "./abstract-stream.js";
|
|
7
|
-
import { Queue } from
|
|
7
|
+
import { Queue } from "./queue/index.js";
|
|
8
8
|
class MockMuxedStream extends AbstractStream {
|
|
9
9
|
sendMessage;
|
|
10
10
|
dataQueue;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './get-net-config.ts';
|
|
2
|
-
export * from './is-global-unicast.
|
|
3
|
-
export * from './is-link-local.
|
|
4
|
-
export * from './is-loopback.
|
|
5
|
-
export * from './is-network-address.
|
|
6
|
-
export * from './is-private.
|
|
2
|
+
export * from './is-global-unicast.ts';
|
|
3
|
+
export * from './is-link-local.ts';
|
|
4
|
+
export * from './is-loopback.ts';
|
|
5
|
+
export * from './is-network-address.ts';
|
|
6
|
+
export * from './is-private.ts';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from "./get-net-config.js";
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
2
|
+
export * from "./is-global-unicast.js";
|
|
3
|
+
export * from "./is-link-local.js";
|
|
4
|
+
export * from "./is-loopback.js";
|
|
5
|
+
export * from "./is-network-address.js";
|
|
6
|
+
export * from "./is-private.js";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/src/peer-queue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Queue } from './queue/index.
|
|
2
|
-
import type { Job } from './queue/job.
|
|
1
|
+
import { Queue } from './queue/index.ts';
|
|
2
|
+
import type { Job } from './queue/job.ts';
|
|
3
3
|
import type { AbortOptions, PeerId } from '@libp2p/interface';
|
|
4
4
|
export interface PeerQueueJobOptions extends AbortOptions {
|
|
5
5
|
peerId: PeerId;
|
package/dist/src/peer-queue.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Queue } from './queue/index.
|
|
2
|
-
import type { QueueInit } from './queue/index.
|
|
1
|
+
import { Queue } from './queue/index.ts';
|
|
2
|
+
import type { QueueInit } from './queue/index.ts';
|
|
3
3
|
import type { AbortOptions } from '@libp2p/interface';
|
|
4
4
|
export interface PriorityQueueJobOptions extends AbortOptions {
|
|
5
5
|
priority: number;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { TypedEventEmitter } from 'main-event';
|
|
2
|
-
import { Job } from './job.
|
|
2
|
+
import { Job } from './job.ts';
|
|
3
3
|
import type { AbortOptions, Metrics } from '@libp2p/interface';
|
|
4
|
-
|
|
5
|
-
export type {
|
|
4
|
+
import type { ProgressOptions } from 'progress-events';
|
|
5
|
+
export type { Job, JobTimeline } from './job.ts';
|
|
6
|
+
export type { JobRecipient } from './recipient.ts';
|
|
6
7
|
export interface Comparator<T> {
|
|
7
8
|
(a: T, b: T): -1 | 0 | 1;
|
|
8
9
|
}
|
|
@@ -92,7 +93,7 @@ export interface QueueEvents<JobReturnType, JobOptions extends AbortOptions = Ab
|
|
|
92
93
|
* 1. Items remain at the head of the queue while they are running so `queue.size` includes `queue.pending` items - this is so interested parties can join the results of a queue item while it is running
|
|
93
94
|
* 2. The options for a job are stored separately to the job in order for them to be modified while they are still in the queue
|
|
94
95
|
*/
|
|
95
|
-
export declare class Queue<JobReturnType = unknown, JobOptions extends AbortOptions = AbortOptions> extends TypedEventEmitter<QueueEvents<JobReturnType, JobOptions>> {
|
|
96
|
+
export declare class Queue<JobReturnType = unknown, JobOptions extends AbortOptions & ProgressOptions = AbortOptions> extends TypedEventEmitter<QueueEvents<JobReturnType, JobOptions>> {
|
|
96
97
|
concurrency: number;
|
|
97
98
|
maxSize: number;
|
|
98
99
|
queue: Array<Job<JobOptions, JobReturnType>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAI9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/queue/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import { TypedEventEmitter } from 'main-event';
|
|
|
4
4
|
import { pEvent } from 'p-event';
|
|
5
5
|
import { debounce } from '../debounce.js';
|
|
6
6
|
import { QueueFullError } from '../errors.js';
|
|
7
|
-
import { Job } from
|
|
7
|
+
import { Job } from "./job.js";
|
|
8
8
|
/**
|
|
9
9
|
* Heavily influence by `p-queue` with the following differences:
|
|
10
10
|
*
|
|
@@ -120,8 +120,7 @@ export class Queue extends TypedEventEmitter {
|
|
|
120
120
|
const job = new Job(fn, options);
|
|
121
121
|
this.enqueue(job);
|
|
122
122
|
this.safeDispatchEvent('add');
|
|
123
|
-
|
|
124
|
-
return job.join(options)
|
|
123
|
+
const result = job.join(options)
|
|
125
124
|
.then(result => {
|
|
126
125
|
this.safeDispatchEvent('completed', { detail: result });
|
|
127
126
|
this.safeDispatchEvent('success', { detail: { job, result } });
|
|
@@ -140,6 +139,8 @@ export class Queue extends TypedEventEmitter {
|
|
|
140
139
|
this.safeDispatchEvent('failure', { detail: { job, error: err } });
|
|
141
140
|
throw err;
|
|
142
141
|
});
|
|
142
|
+
this.tryToStartAnother();
|
|
143
|
+
return result;
|
|
143
144
|
}
|
|
144
145
|
/**
|
|
145
146
|
* Clear the queue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AA6G9B;;;;;GAKG;AACH,MAAM,OAAO,KAAiG,SAAQ,iBAAyD;IACtK,WAAW,CAAQ;IACnB,OAAO,CAAQ;IACf,KAAK,CAAuC;IAC3C,OAAO,CAAQ;IACN,IAAI,CAA6C;IAC1D,MAAM,CAAS;IAEvB,YAAa,OAA6C,EAAE;QAC1D,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,iBAAiB,CAAA;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,iBAAiB,CAAA;QACvD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QAEnB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE;gBACjD,SAAS,EAAE,GAAG,EAAE;oBACd,OAAO;wBACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;wBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO;qBACzC,CAAA;gBACH,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QAEf,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACvB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC1B,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,EAAE,CAAA;YAEhB,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,EAAE,CAAA;YACjB,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,GAA+C,CAAA;YAEnD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC1B,GAAG,GAAG,CAAC,CAAA;oBACP,MAAK;gBACP,CAAC;YACH,CAAC;YAED,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAChB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YAEhC,IAAI,CAAC,OAAO,EAAE,CAAA;YAEd,KAAK,GAAG,CAAC,GAAG,EAAE;iBACX,OAAO,CAAC,GAAG,EAAE;gBACZ,gCAAgC;gBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBACvB,MAAK;oBACP,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,OAAO,EAAE,CAAA;gBACd,IAAI,CAAC,iBAAiB,EAAE,CAAA;gBACxB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;YAEJ,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,OAAO,CAAE,GAAmC;QAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAE,EAA0C,EAAE,OAAoB;QACzE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QAEjC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,cAAc,EAAE,CAAA;QAC5B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAA4B,EAAE,EAAE,OAAO,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACjB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAE7B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;aAC7B,IAAI,CAAC,MAAM,CAAC,EAAE;YACb,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;YACvD,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;YAE9D,OAAO,MAAM,CAAA;QACf,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC5B,oEAAoE;gBACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;wBACvB,MAAK;oBACP,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YAElE,MAAM,GAAG,CAAA;QACX,CAAC,CAAC,CAAA;QAEJ,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExB,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAE,OAAsB;QACnC,0CAA0C;QAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;QAED,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,cAAc,CAAE,KAAa,EAAE,OAAsB;QACzD,2CAA2C;QAC3C,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE;YACzB,GAAG,OAAO;YACV,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK;SAChC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAE,OAAsB;QAClC,kEAAkE;QAClE,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAM;QACR,CAAC;QAED,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAA;IACzC,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAE,WAAW,CAAE,OAAsB;QACzC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QAEjC,MAAM,MAAM,GAAG,QAAQ,CAAgB;YACrC,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAQ,EAAE;YACpC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,EAAE,CAAA;YACd,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,EAAE,CAAA;YACd,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC,CAAA;QAED,MAAM,kBAAkB,GAAG,CAAC,GAA+B,EAAQ,EAAE;YACnE,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC;QACH,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,GAA4D,EAAQ,EAAE;YAC5F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,GAAS,EAAE;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC,CAAA;QAED,oDAAoD;QACpD,MAAM,aAAa,GAAG,GAAS,EAAE;YAC/B,OAAO,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC,CAAA;QAC1C,CAAC,CAAA;QAED,gBAAgB;QAChB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;QACtD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;QAChD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAC1C,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QAEzD,IAAI,CAAC;YACH,KAAM,CAAC,CAAC,MAAM,CAAA;QAChB,CAAC;gBAAS,CAAC;YACT,mBAAmB;YACnB,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;YACzD,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YACnD,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;YAC7C,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YAE5D,mEAAmE;YACnE,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;CACF"}
|
package/dist/src/queue/job.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { JobRecipient } from './recipient.
|
|
2
|
-
import type { JobStatus } from './index.
|
|
1
|
+
import { JobRecipient } from './recipient.ts';
|
|
2
|
+
import type { JobStatus } from './index.ts';
|
|
3
3
|
import type { AbortOptions } from '@libp2p/interface';
|
|
4
|
+
import type { ProgressOptions } from 'progress-events';
|
|
4
5
|
export interface JobTimeline {
|
|
5
6
|
created: number;
|
|
6
7
|
started?: number;
|
|
7
8
|
finished?: number;
|
|
8
9
|
}
|
|
9
|
-
export declare class Job<JobOptions extends AbortOptions = AbortOptions, JobReturnType = unknown> {
|
|
10
|
+
export declare class Job<JobOptions extends AbortOptions & ProgressOptions = AbortOptions, JobReturnType = unknown> {
|
|
10
11
|
id: string;
|
|
11
12
|
fn: (options: JobOptions) => Promise<JobReturnType>;
|
|
12
13
|
options: JobOptions;
|
|
@@ -17,7 +18,7 @@ export declare class Job<JobOptions extends AbortOptions = AbortOptions, JobRetu
|
|
|
17
18
|
constructor(fn: (options: JobOptions) => Promise<JobReturnType>, options: any);
|
|
18
19
|
abort(err: Error): void;
|
|
19
20
|
onAbort(): void;
|
|
20
|
-
join(options?:
|
|
21
|
+
join(options?: Partial<Pick<JobOptions, 'signal' | 'onProgress'>>): Promise<JobReturnType>;
|
|
21
22
|
run(): Promise<void>;
|
|
22
23
|
cleanup(): void;
|
|
23
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/queue/job.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/queue/job.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAStD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,GAAG,CAAE,UAAU,SAAS,YAAY,GAAG,eAAe,GAAG,YAAY,EAAE,aAAa,GAAG,OAAO;IAClG,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IACnD,OAAO,EAAE,UAAU,CAAA;IACnB,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAA;IAC9C,MAAM,EAAE,SAAS,CAAA;IACxB,SAAgB,QAAQ,EAAE,WAAW,CAAA;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAE/B,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG;IAgB9E,KAAK,CAAE,GAAG,EAAE,KAAK,GAAG,IAAI;IAIxB,OAAO,IAAK,IAAI;IAYV,IAAI,CAAE,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAS3F,GAAG,IAAK,OAAO,CAAC,IAAI,CAAC;IAkC3B,OAAO,IAAK,IAAI;CAMjB"}
|
package/dist/src/queue/job.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AbortError } from '@libp2p/interface';
|
|
2
2
|
import { setMaxListeners } from 'main-event';
|
|
3
3
|
import { raceSignal } from 'race-signal';
|
|
4
|
-
import { JobRecipient } from
|
|
4
|
+
import { JobRecipient } from "./recipient.js";
|
|
5
5
|
/**
|
|
6
6
|
* Returns a random string
|
|
7
7
|
*/
|
|
@@ -42,10 +42,10 @@ export class Job {
|
|
|
42
42
|
this.cleanup();
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
async join(options
|
|
46
|
-
const recipient = new JobRecipient(options
|
|
45
|
+
async join(options) {
|
|
46
|
+
const recipient = new JobRecipient(options);
|
|
47
47
|
this.recipients.push(recipient);
|
|
48
|
-
options
|
|
48
|
+
options?.signal?.addEventListener('abort', this.onAbort);
|
|
49
49
|
return recipient.deferred.promise;
|
|
50
50
|
}
|
|
51
51
|
async run() {
|
|
@@ -55,7 +55,12 @@ export class Job {
|
|
|
55
55
|
this.controller.signal.throwIfAborted();
|
|
56
56
|
const result = await raceSignal(this.fn({
|
|
57
57
|
...(this.options ?? {}),
|
|
58
|
-
signal: this.controller.signal
|
|
58
|
+
signal: this.controller.signal,
|
|
59
|
+
onProgress: (evt) => {
|
|
60
|
+
this.recipients.forEach(recipient => {
|
|
61
|
+
recipient.onProgress?.(evt);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
59
64
|
}), this.controller.signal);
|
|
60
65
|
this.recipients.forEach(recipient => {
|
|
61
66
|
recipient.deferred.resolve(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/queue/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/queue/job.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import type { AbortOptions } from '@libp2p/interface';
|
|
1
2
|
import type { DeferredPromise } from 'p-defer';
|
|
2
|
-
|
|
3
|
+
import type { ProgressOptions, ProgressEventListener } from 'progress-events';
|
|
4
|
+
export declare class JobRecipient<JobReturnType, JobOptions extends AbortOptions & ProgressOptions = any> {
|
|
3
5
|
deferred: DeferredPromise<JobReturnType>;
|
|
4
6
|
signal?: AbortSignal;
|
|
5
|
-
|
|
7
|
+
onProgress?: ProgressEventListener;
|
|
8
|
+
constructor(options?: Partial<Pick<JobOptions, 'signal' | 'onProgress'>>);
|
|
6
9
|
onAbort(): void;
|
|
7
10
|
cleanup(): void;
|
|
8
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../src/queue/recipient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../src/queue/recipient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE7E,qBAAa,YAAY,CAAC,aAAa,EAAE,UAAU,SAAS,YAAY,GAAG,eAAe,GAAG,GAAG;IACvF,QAAQ,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;IACxC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,UAAU,CAAC,EAAE,qBAAqB,CAAA;gBAE5B,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC;IASzE,OAAO,IAAK,IAAI;IAIhB,OAAO,IAAK,IAAI;CAGjB"}
|
|
@@ -3,8 +3,10 @@ import pDefer from 'p-defer';
|
|
|
3
3
|
export class JobRecipient {
|
|
4
4
|
deferred;
|
|
5
5
|
signal;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
onProgress;
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.signal = options?.signal;
|
|
9
|
+
this.onProgress = options?.onProgress;
|
|
8
10
|
this.deferred = pDefer();
|
|
9
11
|
this.onAbort = this.onAbort.bind(this);
|
|
10
12
|
this.signal?.addEventListener('abort', this.onAbort);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../../src/queue/recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,MAAM,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"recipient.js","sourceRoot":"","sources":["../../../src/queue/recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,MAAM,MAAM,SAAS,CAAA;AAK5B,MAAM,OAAO,YAAY;IAChB,QAAQ,CAAgC;IACxC,MAAM,CAAc;IACpB,UAAU,CAAwB;IAEzC,YAAa,OAA4D;QACvE,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAA;QACrC,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAA;QAExB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACzD,CAAC;CACF"}
|