@welshman/net 0.0.1 → 0.0.3
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/build/ConnectionMeta.d.ts +1 -1
- package/build/Executor.d.ts +1 -1
- package/build/Publish.cjs +15 -10
- package/build/Publish.cjs.map +1 -1
- package/build/Publish.d.ts +3 -1
- package/build/Publish.mjs +15 -10
- package/build/Publish.mjs.map +1 -1
- package/build/Socket.cjs.map +1 -1
- package/build/Socket.d.ts +1 -1
- package/build/Socket.mjs.map +1 -1
- package/build/Subscribe.cjs +18 -13
- package/build/Subscribe.cjs.map +1 -1
- package/build/Subscribe.d.ts +7 -3
- package/build/Subscribe.mjs +19 -14
- package/build/Subscribe.mjs.map +1 -1
- package/build/target/Multi.d.ts +1 -1
- package/build/target/Plex.cjs.map +1 -1
- package/build/target/Plex.mjs.map +1 -1
- package/build/target/Relay.d.ts +1 -1
- package/build/target/Relays.d.ts +1 -1
- package/package.json +3 -4
package/build/Executor.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Event, Filter } from 'nostr-tools';
|
|
2
2
|
import type { Emitter } from '@welshman/lib';
|
|
3
|
-
import type { Message } from '
|
|
3
|
+
import type { Message } from './Socket';
|
|
4
4
|
import type { Connection } from './Connection';
|
|
5
5
|
export type Target = Emitter & {
|
|
6
6
|
connections: Connection[];
|
package/build/Publish.cjs
CHANGED
|
@@ -10,6 +10,7 @@ var PublishStatus;
|
|
|
10
10
|
PublishStatus["Success"] = "success";
|
|
11
11
|
PublishStatus["Failure"] = "failure";
|
|
12
12
|
PublishStatus["Timeout"] = "timeout";
|
|
13
|
+
PublishStatus["Aborted"] = "aborted";
|
|
13
14
|
})(PublishStatus || (exports.PublishStatus = PublishStatus = {}));
|
|
14
15
|
const makePublish = (request) => {
|
|
15
16
|
const id = (0, lib_1.randomId)();
|
|
@@ -21,11 +22,19 @@ const makePublish = (request) => {
|
|
|
21
22
|
};
|
|
22
23
|
exports.makePublish = makePublish;
|
|
23
24
|
const publish = (request) => {
|
|
25
|
+
var _a;
|
|
24
26
|
const pub = (0, exports.makePublish)(request);
|
|
25
27
|
const event = (0, util_1.asEvent)(request.event);
|
|
26
28
|
const executor = Context_1.NetworkContext.getExecutor(request.relays);
|
|
29
|
+
const abort = (reason) => {
|
|
30
|
+
for (const [url, status] of pub.status.entries()) {
|
|
31
|
+
if (status === PublishStatus.Pending) {
|
|
32
|
+
pub.emitter.emit(reason, url);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
27
36
|
// Listen to updates and keep status up to date. Every time there's an update, check to
|
|
28
|
-
// see if we're done. If we are,
|
|
37
|
+
// see if we're done. If we are, clean everything up
|
|
29
38
|
pub.emitter.on("*", (status, url) => {
|
|
30
39
|
pub.status.set(url, status);
|
|
31
40
|
if (Array.from(pub.status.values()).every((s) => s !== PublishStatus.Pending)) {
|
|
@@ -35,20 +44,16 @@ const publish = (request) => {
|
|
|
35
44
|
pub.result.resolve(pub.status);
|
|
36
45
|
}
|
|
37
46
|
});
|
|
38
|
-
// Start everything off as pending
|
|
47
|
+
// Start everything off as pending. Do it asynchronously to avoid breaking caller assumptions
|
|
39
48
|
setTimeout(() => {
|
|
40
49
|
for (const relay of request.relays) {
|
|
41
50
|
pub.emitter.emit(PublishStatus.Pending, relay);
|
|
42
51
|
}
|
|
43
52
|
});
|
|
44
|
-
//
|
|
45
|
-
const timeout = setTimeout(() =>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
pub.emitter.emit(PublishStatus.Timeout, url);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}, request.timeout || 10000);
|
|
53
|
+
// Give up after a specified time
|
|
54
|
+
const timeout = setTimeout(() => abort(PublishStatus.Timeout), request.timeout || 10000);
|
|
55
|
+
// If we have a signal, use it
|
|
56
|
+
(_a = request.signal) === null || _a === void 0 ? void 0 : _a.addEventListener('abort', () => abort(PublishStatus.Aborted));
|
|
52
57
|
// Delegate to our executor
|
|
53
58
|
const executorSub = executor.publish(event, {
|
|
54
59
|
verb: request.verb || "EVENT",
|
package/build/Publish.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Publish.cjs","sourceRoot":"","sources":["../Publish.ts"],"names":[],"mappings":";;;AACA,uCAA2D;AAE3D,yCAAuC;AACvC,2CAAwC;AAExC,IAAY,
|
|
1
|
+
{"version":3,"file":"Publish.cjs","sourceRoot":"","sources":["../Publish.ts"],"names":[],"mappings":"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"}
|
package/build/Publish.d.ts
CHANGED
|
@@ -5,12 +5,14 @@ export declare enum PublishStatus {
|
|
|
5
5
|
Pending = "pending",
|
|
6
6
|
Success = "success",
|
|
7
7
|
Failure = "failure",
|
|
8
|
-
Timeout = "timeout"
|
|
8
|
+
Timeout = "timeout",
|
|
9
|
+
Aborted = "aborted"
|
|
9
10
|
}
|
|
10
11
|
export type PublishStatusMap = Map<string, PublishStatus>;
|
|
11
12
|
export type PublishRequest = {
|
|
12
13
|
event: Event;
|
|
13
14
|
relays: string[];
|
|
15
|
+
signal?: AbortSignal;
|
|
14
16
|
timeout?: number;
|
|
15
17
|
verb?: "EVENT" | "AUTH";
|
|
16
18
|
};
|
package/build/Publish.mjs
CHANGED
|
@@ -7,6 +7,7 @@ export var PublishStatus;
|
|
|
7
7
|
PublishStatus["Success"] = "success";
|
|
8
8
|
PublishStatus["Failure"] = "failure";
|
|
9
9
|
PublishStatus["Timeout"] = "timeout";
|
|
10
|
+
PublishStatus["Aborted"] = "aborted";
|
|
10
11
|
})(PublishStatus || (PublishStatus = {}));
|
|
11
12
|
export const makePublish = (request) => {
|
|
12
13
|
const id = randomId();
|
|
@@ -17,11 +18,19 @@ export const makePublish = (request) => {
|
|
|
17
18
|
return { id, created_at, request, emitter, result, status };
|
|
18
19
|
};
|
|
19
20
|
export const publish = (request) => {
|
|
21
|
+
var _a;
|
|
20
22
|
const pub = makePublish(request);
|
|
21
23
|
const event = asEvent(request.event);
|
|
22
24
|
const executor = NetworkContext.getExecutor(request.relays);
|
|
25
|
+
const abort = (reason) => {
|
|
26
|
+
for (const [url, status] of pub.status.entries()) {
|
|
27
|
+
if (status === PublishStatus.Pending) {
|
|
28
|
+
pub.emitter.emit(reason, url);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
23
32
|
// Listen to updates and keep status up to date. Every time there's an update, check to
|
|
24
|
-
// see if we're done. If we are,
|
|
33
|
+
// see if we're done. If we are, clean everything up
|
|
25
34
|
pub.emitter.on("*", (status, url) => {
|
|
26
35
|
pub.status.set(url, status);
|
|
27
36
|
if (Array.from(pub.status.values()).every((s) => s !== PublishStatus.Pending)) {
|
|
@@ -31,20 +40,16 @@ export const publish = (request) => {
|
|
|
31
40
|
pub.result.resolve(pub.status);
|
|
32
41
|
}
|
|
33
42
|
});
|
|
34
|
-
// Start everything off as pending
|
|
43
|
+
// Start everything off as pending. Do it asynchronously to avoid breaking caller assumptions
|
|
35
44
|
setTimeout(() => {
|
|
36
45
|
for (const relay of request.relays) {
|
|
37
46
|
pub.emitter.emit(PublishStatus.Pending, relay);
|
|
38
47
|
}
|
|
39
48
|
});
|
|
40
|
-
//
|
|
41
|
-
const timeout = setTimeout(() =>
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
pub.emitter.emit(PublishStatus.Timeout, url);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}, request.timeout || 10000);
|
|
49
|
+
// Give up after a specified time
|
|
50
|
+
const timeout = setTimeout(() => abort(PublishStatus.Timeout), request.timeout || 10000);
|
|
51
|
+
// If we have a signal, use it
|
|
52
|
+
(_a = request.signal) === null || _a === void 0 ? void 0 : _a.addEventListener('abort', () => abort(PublishStatus.Aborted));
|
|
48
53
|
// Delegate to our executor
|
|
49
54
|
const executorSub = executor.publish(event, {
|
|
50
55
|
verb: request.verb || "EVENT",
|
package/build/Publish.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Publish.mjs","sourceRoot":"","sources":["../Publish.ts"],"names":[],"mappings":"OACO,EAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,eAAe;OAEpD,EAAC,OAAO,GAAE,MAAM,gBAAgB;OAChC,EAAC,cAAc,EAAC;AAEvB,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"Publish.mjs","sourceRoot":"","sources":["../Publish.ts"],"names":[],"mappings":"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"}
|
package/build/Socket.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socket.cjs","sourceRoot":"","sources":["../Socket.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAqC;AACrC,uCAA6C;
|
|
1
|
+
{"version":3,"file":"Socket.cjs","sourceRoot":"","sources":["../Socket.ts"],"names":[],"mappings":"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"}
|
package/build/Socket.d.ts
CHANGED
package/build/Socket.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Socket.mjs","sourceRoot":"","sources":["../Socket.ts"],"names":[],"mappings":"OAAO,SAAS,MAAM,eAAe;OAC9B,EAAW,KAAK,EAAC,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"Socket.mjs","sourceRoot":"","sources":["../Socket.ts"],"names":[],"mappings":"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"}
|
package/build/Subscribe.cjs
CHANGED
|
@@ -23,7 +23,6 @@ var SubscriptionEvent;
|
|
|
23
23
|
SubscriptionEvent["Eose"] = "eose";
|
|
24
24
|
SubscriptionEvent["Close"] = "close";
|
|
25
25
|
SubscriptionEvent["Event"] = "event";
|
|
26
|
-
SubscriptionEvent["Abort"] = "abort";
|
|
27
26
|
SubscriptionEvent["Complete"] = "complete";
|
|
28
27
|
SubscriptionEvent["Duplicate"] = "duplicate";
|
|
29
28
|
SubscriptionEvent["DeletedEvent"] = "deleted-event";
|
|
@@ -33,11 +32,12 @@ var SubscriptionEvent;
|
|
|
33
32
|
const makeSubscription = (request) => {
|
|
34
33
|
const id = (0, lib_1.randomId)();
|
|
35
34
|
const emitter = new lib_1.Emitter();
|
|
36
|
-
const
|
|
35
|
+
const controller = new AbortController();
|
|
37
36
|
const result = (0, lib_1.defer)();
|
|
38
|
-
const
|
|
37
|
+
const tracker = request.tracker || new Tracker_1.Tracker();
|
|
38
|
+
const close = () => controller.abort();
|
|
39
39
|
emitter.setMaxListeners(100);
|
|
40
|
-
return { id, request, emitter, tracker, result, close };
|
|
40
|
+
return { id, request, emitter, tracker, controller, result, close };
|
|
41
41
|
};
|
|
42
42
|
exports.makeSubscription = makeSubscription;
|
|
43
43
|
const calculateSubscriptionGroup = (sub) => {
|
|
@@ -50,6 +50,7 @@ const calculateSubscriptionGroup = (sub) => {
|
|
|
50
50
|
};
|
|
51
51
|
exports.calculateSubscriptionGroup = calculateSubscriptionGroup;
|
|
52
52
|
const mergeSubscriptions = (subs) => {
|
|
53
|
+
var _a;
|
|
53
54
|
const completedRelays = new Set();
|
|
54
55
|
const mergedSubscriptions = [];
|
|
55
56
|
for (const group of Object.values((0, lib_1.groupBy)(exports.calculateSubscriptionGroup, subs))) {
|
|
@@ -59,16 +60,17 @@ const mergeSubscriptions = (subs) => {
|
|
|
59
60
|
const mergedSub = (0, exports.makeSubscription)({
|
|
60
61
|
relays: [relay],
|
|
61
62
|
timeout: callerSubs[0].request.timeout,
|
|
62
|
-
filters: (0, util_1.
|
|
63
|
+
filters: (0, util_1.unionFilters)(callerSubs.flatMap((sub) => sub.request.filters)),
|
|
63
64
|
});
|
|
64
|
-
for (const { id,
|
|
65
|
-
|
|
66
|
-
emitter.on(SubscriptionEvent.Abort, () => {
|
|
65
|
+
for (const { id, controller, request } of callerSubs) {
|
|
66
|
+
const onAbort = () => {
|
|
67
67
|
abortedSubs.add(id);
|
|
68
68
|
if (abortedSubs.size === callerSubs.length) {
|
|
69
69
|
mergedSub.close();
|
|
70
70
|
}
|
|
71
|
-
}
|
|
71
|
+
};
|
|
72
|
+
(_a = request.signal) === null || _a === void 0 ? void 0 : _a.addEventListener('abort', onAbort);
|
|
73
|
+
controller.signal.addEventListener('abort', onAbort);
|
|
72
74
|
}
|
|
73
75
|
mergedSub.emitter.on(SubscriptionEvent.Event, (url, event) => {
|
|
74
76
|
for (const sub of callerSubs) {
|
|
@@ -130,8 +132,8 @@ const mergeSubscriptions = (subs) => {
|
|
|
130
132
|
};
|
|
131
133
|
exports.mergeSubscriptions = mergeSubscriptions;
|
|
132
134
|
const executeSubscription = (sub) => {
|
|
133
|
-
const { result, request, emitter, tracker } = sub;
|
|
134
|
-
const { timeout, filters, closeOnEose, relays } = request;
|
|
135
|
+
const { result, request, emitter, tracker, controller } = sub;
|
|
136
|
+
const { timeout, filters, closeOnEose, relays, signal } = request;
|
|
135
137
|
const executor = Context_1.NetworkContext.getExecutor(relays);
|
|
136
138
|
const events = [];
|
|
137
139
|
const completedRelays = new Set();
|
|
@@ -184,8 +186,11 @@ const executeSubscription = (sub) => {
|
|
|
184
186
|
complete();
|
|
185
187
|
}
|
|
186
188
|
};
|
|
187
|
-
//
|
|
188
|
-
|
|
189
|
+
// Listen for abort via caller signal
|
|
190
|
+
signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', complete);
|
|
191
|
+
signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', () => console.log('aborted'));
|
|
192
|
+
// Listen for abort via our own internal signal
|
|
193
|
+
controller.signal.addEventListener('abort', complete);
|
|
189
194
|
// If we have a timeout, complete the subscription automatically
|
|
190
195
|
if (timeout)
|
|
191
196
|
setTimeout(complete, timeout);
|
package/build/Subscribe.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subscribe.cjs","sourceRoot":"","sources":["../Subscribe.ts"],"names":[],"mappings":";;;AACA,uCAAoF;AAEpF,yCAAyD;AAEzD,2CAAiC;AAEjC,2CAAwC;AAExC,iFAAiF;AACjF,oFAAoF;AACpF,iFAAiF;AACjF,6DAA6D;AAC7D,EAAE;AACF,kFAAkF;AAClF,mFAAmF;AACnF,+CAA+C;AAC/C,EAAE;AACF,2FAA2F;AAC3F,yFAAyF;AACzF,4FAA4F;AAC5F,iBAAiB;AAEjB,IAAY,
|
|
1
|
+
{"version":3,"file":"Subscribe.cjs","sourceRoot":"","sources":["../Subscribe.ts"],"names":[],"mappings":"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"}
|
package/build/Subscribe.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ export declare enum SubscriptionEvent {
|
|
|
7
7
|
Eose = "eose",
|
|
8
8
|
Close = "close",
|
|
9
9
|
Event = "event",
|
|
10
|
-
Abort = "abort",
|
|
11
10
|
Complete = "complete",
|
|
12
11
|
Duplicate = "duplicate",
|
|
13
12
|
DeletedEvent = "deleted-event",
|
|
@@ -17,7 +16,9 @@ export declare enum SubscriptionEvent {
|
|
|
17
16
|
export type SubscribeRequest = {
|
|
18
17
|
relays: string[];
|
|
19
18
|
filters: Filter[];
|
|
19
|
+
signal?: AbortSignal;
|
|
20
20
|
timeout?: number;
|
|
21
|
+
tracker?: Tracker;
|
|
21
22
|
immediate?: boolean;
|
|
22
23
|
closeOnEose?: boolean;
|
|
23
24
|
};
|
|
@@ -25,6 +26,7 @@ export type Subscription = {
|
|
|
25
26
|
id: string;
|
|
26
27
|
emitter: Emitter;
|
|
27
28
|
tracker: Tracker;
|
|
29
|
+
controller: AbortController;
|
|
28
30
|
result: Deferred<Event[]>;
|
|
29
31
|
request: SubscribeRequest;
|
|
30
32
|
close: () => void;
|
|
@@ -34,8 +36,9 @@ export declare const makeSubscription: (request: SubscribeRequest) => {
|
|
|
34
36
|
request: SubscribeRequest;
|
|
35
37
|
emitter: Emitter;
|
|
36
38
|
tracker: Tracker;
|
|
39
|
+
controller: AbortController;
|
|
37
40
|
result: Deferred<Event[]>;
|
|
38
|
-
close: () =>
|
|
41
|
+
close: () => void;
|
|
39
42
|
};
|
|
40
43
|
export declare const calculateSubscriptionGroup: (sub: Subscription) => string;
|
|
41
44
|
export declare const mergeSubscriptions: (subs: Subscription[]) => {
|
|
@@ -43,8 +46,9 @@ export declare const mergeSubscriptions: (subs: Subscription[]) => {
|
|
|
43
46
|
request: SubscribeRequest;
|
|
44
47
|
emitter: Emitter;
|
|
45
48
|
tracker: Tracker;
|
|
49
|
+
controller: AbortController;
|
|
46
50
|
result: Deferred<Event[]>;
|
|
47
|
-
close: () =>
|
|
51
|
+
close: () => void;
|
|
48
52
|
}[];
|
|
49
53
|
export declare const executeSubscription: (sub: Subscription) => void;
|
|
50
54
|
export declare const executeSubscriptions: (subs: Subscription[]) => void;
|
package/build/Subscribe.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Emitter, randomId, groupBy, batch, defer, uniq, uniqBy } from '@welshman/lib';
|
|
2
|
-
import { matchFilters,
|
|
2
|
+
import { matchFilters, unionFilters } from '@welshman/util';
|
|
3
3
|
import { Tracker } from "./Tracker.mjs";
|
|
4
4
|
import { NetworkContext } from "./Context.mjs";
|
|
5
5
|
// `subscribe` is a super function that handles batching subscriptions by merging
|
|
@@ -20,7 +20,6 @@ export var SubscriptionEvent;
|
|
|
20
20
|
SubscriptionEvent["Eose"] = "eose";
|
|
21
21
|
SubscriptionEvent["Close"] = "close";
|
|
22
22
|
SubscriptionEvent["Event"] = "event";
|
|
23
|
-
SubscriptionEvent["Abort"] = "abort";
|
|
24
23
|
SubscriptionEvent["Complete"] = "complete";
|
|
25
24
|
SubscriptionEvent["Duplicate"] = "duplicate";
|
|
26
25
|
SubscriptionEvent["DeletedEvent"] = "deleted-event";
|
|
@@ -30,11 +29,12 @@ export var SubscriptionEvent;
|
|
|
30
29
|
export const makeSubscription = (request) => {
|
|
31
30
|
const id = randomId();
|
|
32
31
|
const emitter = new Emitter();
|
|
33
|
-
const
|
|
32
|
+
const controller = new AbortController();
|
|
34
33
|
const result = defer();
|
|
35
|
-
const
|
|
34
|
+
const tracker = request.tracker || new Tracker();
|
|
35
|
+
const close = () => controller.abort();
|
|
36
36
|
emitter.setMaxListeners(100);
|
|
37
|
-
return { id, request, emitter, tracker, result, close };
|
|
37
|
+
return { id, request, emitter, tracker, controller, result, close };
|
|
38
38
|
};
|
|
39
39
|
export const calculateSubscriptionGroup = (sub) => {
|
|
40
40
|
const parts = [];
|
|
@@ -45,6 +45,7 @@ export const calculateSubscriptionGroup = (sub) => {
|
|
|
45
45
|
return parts.join('|');
|
|
46
46
|
};
|
|
47
47
|
export const mergeSubscriptions = (subs) => {
|
|
48
|
+
var _a;
|
|
48
49
|
const completedRelays = new Set();
|
|
49
50
|
const mergedSubscriptions = [];
|
|
50
51
|
for (const group of Object.values(groupBy(calculateSubscriptionGroup, subs))) {
|
|
@@ -54,16 +55,17 @@ export const mergeSubscriptions = (subs) => {
|
|
|
54
55
|
const mergedSub = makeSubscription({
|
|
55
56
|
relays: [relay],
|
|
56
57
|
timeout: callerSubs[0].request.timeout,
|
|
57
|
-
filters:
|
|
58
|
+
filters: unionFilters(callerSubs.flatMap((sub) => sub.request.filters)),
|
|
58
59
|
});
|
|
59
|
-
for (const { id,
|
|
60
|
-
|
|
61
|
-
emitter.on(SubscriptionEvent.Abort, () => {
|
|
60
|
+
for (const { id, controller, request } of callerSubs) {
|
|
61
|
+
const onAbort = () => {
|
|
62
62
|
abortedSubs.add(id);
|
|
63
63
|
if (abortedSubs.size === callerSubs.length) {
|
|
64
64
|
mergedSub.close();
|
|
65
65
|
}
|
|
66
|
-
}
|
|
66
|
+
};
|
|
67
|
+
(_a = request.signal) === null || _a === void 0 ? void 0 : _a.addEventListener('abort', onAbort);
|
|
68
|
+
controller.signal.addEventListener('abort', onAbort);
|
|
67
69
|
}
|
|
68
70
|
mergedSub.emitter.on(SubscriptionEvent.Event, (url, event) => {
|
|
69
71
|
for (const sub of callerSubs) {
|
|
@@ -124,8 +126,8 @@ export const mergeSubscriptions = (subs) => {
|
|
|
124
126
|
return mergedSubscriptions;
|
|
125
127
|
};
|
|
126
128
|
export const executeSubscription = (sub) => {
|
|
127
|
-
const { result, request, emitter, tracker } = sub;
|
|
128
|
-
const { timeout, filters, closeOnEose, relays } = request;
|
|
129
|
+
const { result, request, emitter, tracker, controller } = sub;
|
|
130
|
+
const { timeout, filters, closeOnEose, relays, signal } = request;
|
|
129
131
|
const executor = NetworkContext.getExecutor(relays);
|
|
130
132
|
const events = [];
|
|
131
133
|
const completedRelays = new Set();
|
|
@@ -178,8 +180,11 @@ export const executeSubscription = (sub) => {
|
|
|
178
180
|
complete();
|
|
179
181
|
}
|
|
180
182
|
};
|
|
181
|
-
//
|
|
182
|
-
|
|
183
|
+
// Listen for abort via caller signal
|
|
184
|
+
signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', complete);
|
|
185
|
+
signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', () => console.log('aborted'));
|
|
186
|
+
// Listen for abort via our own internal signal
|
|
187
|
+
controller.signal.addEventListener('abort', complete);
|
|
183
188
|
// If we have a timeout, complete the subscription automatically
|
|
184
189
|
if (timeout)
|
|
185
190
|
setTimeout(complete, timeout);
|
package/build/Subscribe.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subscribe.mjs","sourceRoot":"","sources":["../Subscribe.ts"],"names":[],"mappings":"OACO,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,eAAe;OAE7E,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,gBAAgB;OAElD,EAAC,OAAO,EAAC;OAET,EAAC,cAAc,EAAC;AAEvB,iFAAiF;AACjF,oFAAoF;AACpF,iFAAiF;AACjF,6DAA6D;AAC7D,EAAE;AACF,kFAAkF;AAClF,mFAAmF;AACnF,+CAA+C;AAC/C,EAAE;AACF,2FAA2F;AAC3F,yFAAyF;AACzF,4FAA4F;AAC5F,iBAAiB;AAEjB,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"Subscribe.mjs","sourceRoot":"","sources":["../Subscribe.ts"],"names":[],"mappings":"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"}
|
package/build/target/Multi.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plex.cjs","sourceRoot":"","sources":["../../target/Plex.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;
|
|
1
|
+
{"version":3,"file":"Plex.cjs","sourceRoot":"","sources":["../../target/Plex.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAIrC,MAAa,IAAK,SAAQ,aAAO;IAC/B,YAAqB,IAAc,EAAW,UAAsB;QAClE,KAAK,EAAE,CAAA;QADY,SAAI,GAAJ,IAAI,CAAU;QAAW,eAAU,GAAV,UAAU,CAAY;QAUpE,SAAI,GAAG,CAAC,GAAG,OAAgB,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QACtD,CAAC,CAAA;QAED,cAAS,GAAG,CAAC,UAAsB,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAc,EAAE,EAAE;YAClF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAA;QACxC,CAAC,CAAA;QAED,YAAO,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAChD,CAAC,CAAA;QAlBC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC1B,CAAC;CAcF;AAvBD,oBAuBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plex.mjs","sourceRoot":"","sources":["../../target/Plex.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAC,MAAM,eAAe;
|
|
1
|
+
{"version":3,"file":"Plex.mjs","sourceRoot":"","sources":["../../target/Plex.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAC,MAAM,eAAe;AAIrC,MAAM,OAAO,IAAK,SAAQ,OAAO;IAC/B,YAAqB,IAAc,EAAW,UAAsB;QAClE,KAAK,EAAE,CAAA;QADY,SAAI,GAAJ,IAAI,CAAU;QAAW,eAAU,GAAV,UAAU,CAAY;QAUpE,SAAI,GAAG,CAAC,GAAG,OAAgB,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAC,EAAE,OAAO,CAAC,CAAC,CAAA;QACtD,CAAC,CAAA;QAED,cAAS,GAAG,CAAC,UAAsB,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAc,EAAE,EAAE;YAClF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAA;QACxC,CAAC,CAAA;QAED,YAAO,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAChD,CAAC,CAAA;QAlBC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC1B,CAAC;CAcF"}
|
package/build/target/Relay.d.ts
CHANGED
package/build/target/Relays.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Emitter } from '@welshman/lib';
|
|
2
|
-
import type { Message } from '
|
|
2
|
+
import type { Message } from '../Socket';
|
|
3
3
|
import type { Connection } from '../Connection';
|
|
4
4
|
export declare class Relays extends Emitter {
|
|
5
5
|
readonly connections: Connection[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@welshman/net",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"author": "hodlbod",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Utilities for connecting with nostr relays.",
|
|
@@ -26,14 +26,13 @@
|
|
|
26
26
|
"fix": "gts fix"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@types/events": "^3.0.3",
|
|
30
29
|
"gts": "^5.0.1",
|
|
31
30
|
"tsc-multi": "^1.1.0",
|
|
32
31
|
"typescript": "~5.1.6"
|
|
33
32
|
},
|
|
34
33
|
"dependencies": {
|
|
35
|
-
"@welshman/lib": "0.0.
|
|
36
|
-
"@welshman/util": "0.0.
|
|
34
|
+
"@welshman/lib": "0.0.3",
|
|
35
|
+
"@welshman/util": "0.0.4",
|
|
37
36
|
"isomorphic-ws": "^5.0.0",
|
|
38
37
|
"ws": "^8.16.0"
|
|
39
38
|
}
|