@welshman/net 0.0.4 → 0.0.6

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.
@@ -53,7 +53,7 @@ const mergeSubscriptions = (subs) => {
53
53
  var _a;
54
54
  const completedRelays = new Set();
55
55
  const mergedSubscriptions = [];
56
- for (const group of Object.values((0, lib_1.groupBy)(exports.calculateSubscriptionGroup, subs))) {
56
+ for (const group of (0, lib_1.groupBy)(exports.calculateSubscriptionGroup, subs).values()) {
57
57
  for (const relay of (0, lib_1.uniq)(group.flatMap((sub) => sub.request.relays))) {
58
58
  const abortedSubs = new Set();
59
59
  const callerSubs = group.filter((sub) => sub.request.relays.includes(relay));
@@ -135,26 +135,33 @@ const executeSubscription = (sub) => {
135
135
  const { result, request, emitter, tracker, controller } = sub;
136
136
  const { timeout, filters, closeOnEose, relays, signal } = request;
137
137
  const executor = Context_1.NetworkContext.getExecutor(relays);
138
- const events = [];
139
138
  const completedRelays = new Set();
140
- let completed;
141
- const complete = () => {
142
- if (completed)
143
- return;
144
- // Mark as cleaned upp, unsubscribe our executor
145
- completed = Date.now();
146
- executorSub.unsubscribe();
147
- // Resolve our promise
139
+ const events = [];
140
+ // Hook up our events
141
+ emitter.on(SubscriptionEvent.Event, (url, event) => {
142
+ events.push(event);
143
+ });
144
+ emitter.on(SubscriptionEvent.Eose, (url) => {
145
+ completedRelays.add(url);
146
+ if (closeOnEose && completedRelays.size === executor.target.connections.length) {
147
+ onComplete();
148
+ }
149
+ });
150
+ emitter.on(SubscriptionEvent.Close, (url) => {
151
+ completedRelays.add(url);
152
+ if (completedRelays.size === executor.target.connections.length) {
153
+ onComplete();
154
+ }
155
+ });
156
+ emitter.on(SubscriptionEvent.Complete, () => {
148
157
  result.resolve(events);
149
- // Notify caller, clean up our event emitter
150
- emitter.emit(SubscriptionEvent.Complete);
158
+ executorSub === null || executorSub === void 0 ? void 0 : executorSub.unsubscribe();
151
159
  emitter.removeAllListeners();
152
- // Remove our onClose handler from connections, since they are shared by many subs
153
160
  executor.target.connections.forEach((c) => c.off("close", onClose));
154
161
  executor.target.cleanup();
155
- };
162
+ });
163
+ // Functions for emitting events
156
164
  const onEvent = (url, event) => {
157
- // Check the signature and filters. If we've seen this event, don't re-validate.
158
165
  if (tracker.track(event.id, url)) {
159
166
  emitter.emit(SubscriptionEvent.Duplicate, url, event);
160
167
  }
@@ -169,34 +176,29 @@ const executeSubscription = (sub) => {
169
176
  }
170
177
  else {
171
178
  emitter.emit(SubscriptionEvent.Event, url, event);
172
- events.push(event);
173
- }
174
- };
175
- const onEose = (url) => {
176
- completedRelays.add(url);
177
- emitter.emit(SubscriptionEvent.Eose, url);
178
- if (closeOnEose && completedRelays.size === executor.target.connections.length) {
179
- complete();
180
- }
181
- };
182
- const onClose = (connection) => {
183
- completedRelays.add(connection.url);
184
- emitter.emit(SubscriptionEvent.Close, connection.url);
185
- if (completedRelays.size === executor.target.connections.length) {
186
- complete();
187
179
  }
188
180
  };
181
+ const onEose = (url) => emitter.emit(SubscriptionEvent.Eose, url);
182
+ const onClose = (connection) => emitter.emit(SubscriptionEvent.Close, connection.url);
183
+ const onComplete = (0, lib_1.once)(() => emitter.emit(SubscriptionEvent.Complete));
189
184
  // Listen for abort via caller signal
190
- signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', complete);
185
+ signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', onComplete);
191
186
  // Listen for abort via our own internal signal
192
- controller.signal.addEventListener('abort', complete);
187
+ controller.signal.addEventListener('abort', onComplete);
193
188
  // If we have a timeout, complete the subscription automatically
194
189
  if (timeout)
195
- setTimeout(complete, timeout);
190
+ setTimeout(onComplete, timeout);
196
191
  // If one of our connections gets closed make sure to kill our sub
197
192
  executor.target.connections.forEach((c) => c.on('close', onClose));
198
- // Finally, start our subscription
199
- const executorSub = executor.subscribe(filters, { onEvent, onEose });
193
+ // Finally, start our subscription. If we didn't get any filters, don't even send the
194
+ // request, just close it. This can be valid when a caller fulfills a request themselves.
195
+ let executorSub;
196
+ if (filters.length > 0) {
197
+ executorSub = executor.subscribe(filters, { onEvent, onEose });
198
+ }
199
+ else {
200
+ onComplete();
201
+ }
200
202
  };
201
203
  exports.executeSubscription = executeSubscription;
202
204
  const executeSubscriptions = (subs) => (0, exports.mergeSubscriptions)(subs).forEach(exports.executeSubscription);
@@ -204,9 +206,6 @@ exports.executeSubscriptions = executeSubscriptions;
204
206
  exports.executeSubscriptionBatched = (0, lib_1.batch)(800, exports.executeSubscriptions);
205
207
  const subscribe = (request) => {
206
208
  const subscription = (0, exports.makeSubscription)(request);
207
- if (request.filters.length === 0) {
208
- throw new Error("Zero filters passed to subscribe");
209
- }
210
209
  if (request.immediate) {
211
210
  (0, exports.executeSubscription)(subscription);
212
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Subscribe.cjs","sourceRoot":"","sources":["../Subscribe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subscribe.cjs","sourceRoot":"","sources":["../Subscribe.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Emitter, randomId, groupBy, batch, defer, uniq, uniqBy } from '@welshman/lib';
1
+ import { Emitter, randomId, once, groupBy, batch, defer, uniq, uniqBy } from '@welshman/lib';
2
2
  import { matchFilters, unionFilters } from '@welshman/util';
3
3
  import { Tracker } from "./Tracker.mjs";
4
4
  import { NetworkContext } from "./Context.mjs";
@@ -48,7 +48,7 @@ export const mergeSubscriptions = (subs) => {
48
48
  var _a;
49
49
  const completedRelays = new Set();
50
50
  const mergedSubscriptions = [];
51
- for (const group of Object.values(groupBy(calculateSubscriptionGroup, subs))) {
51
+ for (const group of groupBy(calculateSubscriptionGroup, subs).values()) {
52
52
  for (const relay of uniq(group.flatMap((sub) => sub.request.relays))) {
53
53
  const abortedSubs = new Set();
54
54
  const callerSubs = group.filter((sub) => sub.request.relays.includes(relay));
@@ -129,26 +129,33 @@ export const executeSubscription = (sub) => {
129
129
  const { result, request, emitter, tracker, controller } = sub;
130
130
  const { timeout, filters, closeOnEose, relays, signal } = request;
131
131
  const executor = NetworkContext.getExecutor(relays);
132
- const events = [];
133
132
  const completedRelays = new Set();
134
- let completed;
135
- const complete = () => {
136
- if (completed)
137
- return;
138
- // Mark as cleaned upp, unsubscribe our executor
139
- completed = Date.now();
140
- executorSub.unsubscribe();
141
- // Resolve our promise
133
+ const events = [];
134
+ // Hook up our events
135
+ emitter.on(SubscriptionEvent.Event, (url, event) => {
136
+ events.push(event);
137
+ });
138
+ emitter.on(SubscriptionEvent.Eose, (url) => {
139
+ completedRelays.add(url);
140
+ if (closeOnEose && completedRelays.size === executor.target.connections.length) {
141
+ onComplete();
142
+ }
143
+ });
144
+ emitter.on(SubscriptionEvent.Close, (url) => {
145
+ completedRelays.add(url);
146
+ if (completedRelays.size === executor.target.connections.length) {
147
+ onComplete();
148
+ }
149
+ });
150
+ emitter.on(SubscriptionEvent.Complete, () => {
142
151
  result.resolve(events);
143
- // Notify caller, clean up our event emitter
144
- emitter.emit(SubscriptionEvent.Complete);
152
+ executorSub === null || executorSub === void 0 ? void 0 : executorSub.unsubscribe();
145
153
  emitter.removeAllListeners();
146
- // Remove our onClose handler from connections, since they are shared by many subs
147
154
  executor.target.connections.forEach((c) => c.off("close", onClose));
148
155
  executor.target.cleanup();
149
- };
156
+ });
157
+ // Functions for emitting events
150
158
  const onEvent = (url, event) => {
151
- // Check the signature and filters. If we've seen this event, don't re-validate.
152
159
  if (tracker.track(event.id, url)) {
153
160
  emitter.emit(SubscriptionEvent.Duplicate, url, event);
154
161
  }
@@ -163,42 +170,34 @@ export const executeSubscription = (sub) => {
163
170
  }
164
171
  else {
165
172
  emitter.emit(SubscriptionEvent.Event, url, event);
166
- events.push(event);
167
- }
168
- };
169
- const onEose = (url) => {
170
- completedRelays.add(url);
171
- emitter.emit(SubscriptionEvent.Eose, url);
172
- if (closeOnEose && completedRelays.size === executor.target.connections.length) {
173
- complete();
174
- }
175
- };
176
- const onClose = (connection) => {
177
- completedRelays.add(connection.url);
178
- emitter.emit(SubscriptionEvent.Close, connection.url);
179
- if (completedRelays.size === executor.target.connections.length) {
180
- complete();
181
173
  }
182
174
  };
175
+ const onEose = (url) => emitter.emit(SubscriptionEvent.Eose, url);
176
+ const onClose = (connection) => emitter.emit(SubscriptionEvent.Close, connection.url);
177
+ const onComplete = once(() => emitter.emit(SubscriptionEvent.Complete));
183
178
  // Listen for abort via caller signal
184
- signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', complete);
179
+ signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', onComplete);
185
180
  // Listen for abort via our own internal signal
186
- controller.signal.addEventListener('abort', complete);
181
+ controller.signal.addEventListener('abort', onComplete);
187
182
  // If we have a timeout, complete the subscription automatically
188
183
  if (timeout)
189
- setTimeout(complete, timeout);
184
+ setTimeout(onComplete, timeout);
190
185
  // If one of our connections gets closed make sure to kill our sub
191
186
  executor.target.connections.forEach((c) => c.on('close', onClose));
192
- // Finally, start our subscription
193
- const executorSub = executor.subscribe(filters, { onEvent, onEose });
187
+ // Finally, start our subscription. If we didn't get any filters, don't even send the
188
+ // request, just close it. This can be valid when a caller fulfills a request themselves.
189
+ let executorSub;
190
+ if (filters.length > 0) {
191
+ executorSub = executor.subscribe(filters, { onEvent, onEose });
192
+ }
193
+ else {
194
+ onComplete();
195
+ }
194
196
  };
195
197
  export const executeSubscriptions = (subs) => mergeSubscriptions(subs).forEach(executeSubscription);
196
198
  export const executeSubscriptionBatched = batch(800, executeSubscriptions);
197
199
  export const subscribe = (request) => {
198
200
  const subscription = makeSubscription(request);
199
- if (request.filters.length === 0) {
200
- throw new Error("Zero filters passed to subscribe");
201
- }
202
201
  if (request.immediate) {
203
202
  executeSubscription(subscription);
204
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Subscribe.mjs","sourceRoot":"","sources":["../Subscribe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Subscribe.mjs","sourceRoot":"","sources":["../Subscribe.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@welshman/net",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "author": "hodlbod",
5
5
  "license": "MIT",
6
6
  "description": "Utilities for connecting with nostr relays.",
@@ -31,8 +31,8 @@
31
31
  "typescript": "~5.1.6"
32
32
  },
33
33
  "dependencies": {
34
- "@welshman/lib": "0.0.4",
35
- "@welshman/util": "0.0.5",
34
+ "@welshman/lib": "0.0.6",
35
+ "@welshman/util": "0.0.7",
36
36
  "isomorphic-ws": "^5.0.0",
37
37
  "ws": "^8.16.0"
38
38
  }