@nolag/signal 1.1.0 → 1.2.0

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.mjs CHANGED
@@ -140,6 +140,45 @@ function createLogger(prefix, enabled) {
140
140
  console.log(`[${prefix}]`, ...args);
141
141
  };
142
142
  }
143
+ // ============ Filters ============
144
+ /**
145
+ * Build the filter fragment of an emit options object.
146
+ *
147
+ * `filter` wins over `filters`: a publish is routed to exactly one topic, so
148
+ * honouring both would silently drop one of them.
149
+ */
150
+ function filterEmitOptions(opts) {
151
+ if (opts?.filter)
152
+ return { filter: opts.filter };
153
+ if (opts?.filters && opts.filters.length > 0)
154
+ return { filters: opts.filters };
155
+ return {};
156
+ }
157
+ /**
158
+ * Merge OR terms into an existing filter set. AND groups (nested arrays) are
159
+ * preserved as-is — only plain string terms are deduplicated.
160
+ */
161
+ function mergeFilters(existing, add) {
162
+ const simple = new Set();
163
+ const groups = [];
164
+ for (const f of existing) {
165
+ if (typeof f === 'string')
166
+ simple.add(f);
167
+ else
168
+ groups.push(f);
169
+ }
170
+ for (const v of add)
171
+ simple.add(v);
172
+ return [...simple, ...groups];
173
+ }
174
+ /**
175
+ * Drop OR terms from a filter set. AND groups are left untouched — remove
176
+ * those by calling `setFilters` with the set you want.
177
+ */
178
+ function withoutFilters(existing, remove) {
179
+ const drop = new Set(remove);
180
+ return existing.filter((f) => typeof f !== 'string' || !drop.has(f));
181
+ }
143
182
  // ============ Wrapper registry ============
144
183
  // One wrapper instance per (client, appName): two wrappers sharing an app on
145
184
  // one connection would collide on topics, presence and the online lobby.
@@ -185,6 +224,8 @@ class SignalRoom extends EventEmitter {
185
224
  // Stored topic handler ref — cleanup removes exactly this, never all
186
225
  // handlers for a topic (the client may be shared with other consumers).
187
226
  this._onSignalingRef = null;
227
+ /** Filter values applied to the signaling subscription. */
228
+ this._filters = [];
188
229
  this.name = name;
189
230
  this._roomContext = roomContext;
190
231
  this._localPeer = localPeer;
@@ -202,31 +243,35 @@ class SignalRoom extends EventEmitter {
202
243
  /**
203
244
  * Send an SDP offer to a specific peer.
204
245
  */
205
- sendOffer(toPeerId, offer) {
206
- this.signal(toPeerId, 'offer', offer);
246
+ sendOffer(toPeerId, offer, opts) {
247
+ this.signal(toPeerId, 'offer', offer, opts);
207
248
  }
208
249
  /**
209
250
  * Send an SDP answer to a specific peer.
210
251
  */
211
- sendAnswer(toPeerId, answer) {
212
- this.signal(toPeerId, 'answer', answer);
252
+ sendAnswer(toPeerId, answer, opts) {
253
+ this.signal(toPeerId, 'answer', answer, opts);
213
254
  }
214
255
  /**
215
256
  * Send an ICE candidate to a specific peer.
216
257
  */
217
- sendIceCandidate(toPeerId, candidate) {
218
- this.signal(toPeerId, 'ice-candidate', candidate);
258
+ sendIceCandidate(toPeerId, candidate, opts) {
259
+ this.signal(toPeerId, 'ice-candidate', candidate, opts);
219
260
  }
220
261
  /**
221
262
  * Send a bye signal to a specific peer (graceful close).
222
263
  */
223
- sendBye(toPeerId) {
224
- this.signal(toPeerId, 'bye', {});
264
+ sendBye(toPeerId, opts) {
265
+ this.signal(toPeerId, 'bye', {}, opts);
225
266
  }
226
267
  /**
227
268
  * Send a generic signal message to a specific peer.
269
+ *
270
+ * By default this broadcasts to the room and peers discard messages not
271
+ * addressed to them. Pass `{ filter: toPeerId }` to have the server do the
272
+ * addressing instead, so the signal is only delivered to that peer.
228
273
  */
229
- signal(toPeerId, type, payload) {
274
+ signal(toPeerId, type, payload, opts) {
230
275
  const message = {
231
276
  id: generateId(),
232
277
  type,
@@ -236,7 +281,49 @@ class SignalRoom extends EventEmitter {
236
281
  timestamp: Date.now(),
237
282
  };
238
283
  this._log('Sending signal:', type, '→', toPeerId);
239
- this._roomContext.emit(TOPIC_SIGNALING, message, { echo: false });
284
+ this._roomContext.emit(TOPIC_SIGNALING, message, { echo: false, ...filterEmitOptions(opts) });
285
+ }
286
+ // ============ Filters ============
287
+ /** This peer's own id — the value to filter on to receive directed signals. */
288
+ get localPeerId() {
289
+ return this._localPeer.peerId;
290
+ }
291
+ /** The filter values currently applied to this room's signaling. */
292
+ get filters() {
293
+ return [...this._filters];
294
+ }
295
+ /**
296
+ * Replace this room's signaling filters — only signals published with one of
297
+ * these values are delivered. Set your own peerId to receive only signals
298
+ * addressed to you, and send with `{ filter: toPeerId }` so the server does
299
+ * the addressing rather than every peer discarding other peers' traffic.
300
+ *
301
+ * A filtered peer stops receiving unfiltered room broadcasts, so switch the
302
+ * whole room over together. Passing an empty array restores the wildcard
303
+ * subscription, which receives everything.
304
+ *
305
+ * @example
306
+ * ```ts
307
+ * room.setFilters([room.localPeerId]); // only signals addressed to me
308
+ * room.setFilters([]); // back to room broadcast
309
+ * ```
310
+ */
311
+ setFilters(values) {
312
+ this._filters = [...values];
313
+ // The core types filters as `string[]`, but both its implementation and
314
+ // the wire protocol accept AND groups (nested arrays).
315
+ this._roomContext.setFilters(TOPIC_SIGNALING, this._filters);
316
+ }
317
+ /** Add filter values to the existing set. Existing AND groups are kept. */
318
+ addFilters(values) {
319
+ this.setFilters(mergeFilters(this._filters, values));
320
+ }
321
+ /**
322
+ * Remove filter values from the existing set. Removing the last value
323
+ * restores the wildcard subscription.
324
+ */
325
+ removeFilters(values) {
326
+ this.setFilters(withoutFilters(this._filters, values));
240
327
  }
241
328
  // ============ Peers ============
242
329
  /**
@@ -253,9 +340,15 @@ class SignalRoom extends EventEmitter {
253
340
  }
254
341
  // ============ Internal (called by NoLagSignal) ============
255
342
  /** @internal Subscribe to signaling topic and attach listeners */
256
- _subscribe() {
343
+ _subscribe(filters) {
257
344
  this._log('Room subscribe:', this.name);
258
- this._roomContext.subscribe(TOPIC_SIGNALING);
345
+ this._filters = filters ? [...filters] : [];
346
+ if (this._filters.length > 0) {
347
+ this._roomContext.subscribe(TOPIC_SIGNALING, { filters: this._filters });
348
+ }
349
+ else {
350
+ this._roomContext.subscribe(TOPIC_SIGNALING);
351
+ }
259
352
  // Listen for signals (ref stored for handler-specific removal)
260
353
  this._onSignalingRef = (data) => {
261
354
  this._handleIncomingSignal(data);
@@ -617,13 +710,17 @@ class NoLagSignal extends EventEmitter {
617
710
  * Join a signaling room. Creates, subscribes, and activates it.
618
711
  * Returns an existing room if already joined.
619
712
  */
620
- joinRoom(name) {
713
+ joinRoom(name, opts) {
621
714
  this._assertUsable();
622
715
  let room = this._rooms.get(name);
623
716
  if (!room) {
624
- room = this._subscribeRoom(name);
717
+ room = this._subscribeRoom(name, opts?.filters);
625
718
  room._activate();
626
719
  }
720
+ else if (opts?.filters) {
721
+ // Already joined — re-point its filters rather than ignoring them.
722
+ room.setFilters(opts.filters);
723
+ }
627
724
  return room;
628
725
  }
629
726
  /**
@@ -660,12 +757,12 @@ class NoLagSignal extends EventEmitter {
660
757
  }
661
758
  }
662
759
  // ============ Private: Room Setup ============
663
- _subscribeRoom(name) {
760
+ _subscribeRoom(name, filters) {
664
761
  this._log('Subscribing room:', name);
665
762
  const roomContext = this._client.setApp(this._options.appName).setRoom(name);
666
763
  const room = new SignalRoom(name, roomContext, this._localPeer, this._options, createLogger(`SignalRoom:${name}`, this._options.debug), () => this._client.connected);
667
764
  this._rooms.set(name, room);
668
- room._subscribe();
765
+ room._subscribe(filters);
669
766
  return room;
670
767
  }
671
768
  // ============ Private: Scope Filtering ============
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/EventEmitter.ts","../src/PeerManager.ts","../src/utils.ts","../src/constants.ts","../src/SignalRoom.ts","../src/NoLagSignal.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/EventEmitter.ts","../src/PeerManager.ts","../src/utils.ts","../src/constants.ts","../src/SignalRoom.ts","../src/NoLagSignal.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -140,6 +140,45 @@ function createLogger(prefix, enabled) {
140
140
  console.log(`[${prefix}]`, ...args);
141
141
  };
142
142
  }
143
+ // ============ Filters ============
144
+ /**
145
+ * Build the filter fragment of an emit options object.
146
+ *
147
+ * `filter` wins over `filters`: a publish is routed to exactly one topic, so
148
+ * honouring both would silently drop one of them.
149
+ */
150
+ function filterEmitOptions(opts) {
151
+ if (opts?.filter)
152
+ return { filter: opts.filter };
153
+ if (opts?.filters && opts.filters.length > 0)
154
+ return { filters: opts.filters };
155
+ return {};
156
+ }
157
+ /**
158
+ * Merge OR terms into an existing filter set. AND groups (nested arrays) are
159
+ * preserved as-is — only plain string terms are deduplicated.
160
+ */
161
+ function mergeFilters(existing, add) {
162
+ const simple = new Set();
163
+ const groups = [];
164
+ for (const f of existing) {
165
+ if (typeof f === 'string')
166
+ simple.add(f);
167
+ else
168
+ groups.push(f);
169
+ }
170
+ for (const v of add)
171
+ simple.add(v);
172
+ return [...simple, ...groups];
173
+ }
174
+ /**
175
+ * Drop OR terms from a filter set. AND groups are left untouched — remove
176
+ * those by calling `setFilters` with the set you want.
177
+ */
178
+ function withoutFilters(existing, remove) {
179
+ const drop = new Set(remove);
180
+ return existing.filter((f) => typeof f !== 'string' || !drop.has(f));
181
+ }
143
182
  // ============ Wrapper registry ============
144
183
  // One wrapper instance per (client, appName): two wrappers sharing an app on
145
184
  // one connection would collide on topics, presence and the online lobby.
@@ -185,6 +224,8 @@ class SignalRoom extends EventEmitter {
185
224
  // Stored topic handler ref — cleanup removes exactly this, never all
186
225
  // handlers for a topic (the client may be shared with other consumers).
187
226
  this._onSignalingRef = null;
227
+ /** Filter values applied to the signaling subscription. */
228
+ this._filters = [];
188
229
  this.name = name;
189
230
  this._roomContext = roomContext;
190
231
  this._localPeer = localPeer;
@@ -202,31 +243,35 @@ class SignalRoom extends EventEmitter {
202
243
  /**
203
244
  * Send an SDP offer to a specific peer.
204
245
  */
205
- sendOffer(toPeerId, offer) {
206
- this.signal(toPeerId, 'offer', offer);
246
+ sendOffer(toPeerId, offer, opts) {
247
+ this.signal(toPeerId, 'offer', offer, opts);
207
248
  }
208
249
  /**
209
250
  * Send an SDP answer to a specific peer.
210
251
  */
211
- sendAnswer(toPeerId, answer) {
212
- this.signal(toPeerId, 'answer', answer);
252
+ sendAnswer(toPeerId, answer, opts) {
253
+ this.signal(toPeerId, 'answer', answer, opts);
213
254
  }
214
255
  /**
215
256
  * Send an ICE candidate to a specific peer.
216
257
  */
217
- sendIceCandidate(toPeerId, candidate) {
218
- this.signal(toPeerId, 'ice-candidate', candidate);
258
+ sendIceCandidate(toPeerId, candidate, opts) {
259
+ this.signal(toPeerId, 'ice-candidate', candidate, opts);
219
260
  }
220
261
  /**
221
262
  * Send a bye signal to a specific peer (graceful close).
222
263
  */
223
- sendBye(toPeerId) {
224
- this.signal(toPeerId, 'bye', {});
264
+ sendBye(toPeerId, opts) {
265
+ this.signal(toPeerId, 'bye', {}, opts);
225
266
  }
226
267
  /**
227
268
  * Send a generic signal message to a specific peer.
269
+ *
270
+ * By default this broadcasts to the room and peers discard messages not
271
+ * addressed to them. Pass `{ filter: toPeerId }` to have the server do the
272
+ * addressing instead, so the signal is only delivered to that peer.
228
273
  */
229
- signal(toPeerId, type, payload) {
274
+ signal(toPeerId, type, payload, opts) {
230
275
  const message = {
231
276
  id: generateId(),
232
277
  type,
@@ -236,7 +281,49 @@ class SignalRoom extends EventEmitter {
236
281
  timestamp: Date.now(),
237
282
  };
238
283
  this._log('Sending signal:', type, '→', toPeerId);
239
- this._roomContext.emit(TOPIC_SIGNALING, message, { echo: false });
284
+ this._roomContext.emit(TOPIC_SIGNALING, message, { echo: false, ...filterEmitOptions(opts) });
285
+ }
286
+ // ============ Filters ============
287
+ /** This peer's own id — the value to filter on to receive directed signals. */
288
+ get localPeerId() {
289
+ return this._localPeer.peerId;
290
+ }
291
+ /** The filter values currently applied to this room's signaling. */
292
+ get filters() {
293
+ return [...this._filters];
294
+ }
295
+ /**
296
+ * Replace this room's signaling filters — only signals published with one of
297
+ * these values are delivered. Set your own peerId to receive only signals
298
+ * addressed to you, and send with `{ filter: toPeerId }` so the server does
299
+ * the addressing rather than every peer discarding other peers' traffic.
300
+ *
301
+ * A filtered peer stops receiving unfiltered room broadcasts, so switch the
302
+ * whole room over together. Passing an empty array restores the wildcard
303
+ * subscription, which receives everything.
304
+ *
305
+ * @example
306
+ * ```ts
307
+ * room.setFilters([room.localPeerId]); // only signals addressed to me
308
+ * room.setFilters([]); // back to room broadcast
309
+ * ```
310
+ */
311
+ setFilters(values) {
312
+ this._filters = [...values];
313
+ // The core types filters as `string[]`, but both its implementation and
314
+ // the wire protocol accept AND groups (nested arrays).
315
+ this._roomContext.setFilters(TOPIC_SIGNALING, this._filters);
316
+ }
317
+ /** Add filter values to the existing set. Existing AND groups are kept. */
318
+ addFilters(values) {
319
+ this.setFilters(mergeFilters(this._filters, values));
320
+ }
321
+ /**
322
+ * Remove filter values from the existing set. Removing the last value
323
+ * restores the wildcard subscription.
324
+ */
325
+ removeFilters(values) {
326
+ this.setFilters(withoutFilters(this._filters, values));
240
327
  }
241
328
  // ============ Peers ============
242
329
  /**
@@ -253,9 +340,15 @@ class SignalRoom extends EventEmitter {
253
340
  }
254
341
  // ============ Internal (called by NoLagSignal) ============
255
342
  /** @internal Subscribe to signaling topic and attach listeners */
256
- _subscribe() {
343
+ _subscribe(filters) {
257
344
  this._log('Room subscribe:', this.name);
258
- this._roomContext.subscribe(TOPIC_SIGNALING);
345
+ this._filters = filters ? [...filters] : [];
346
+ if (this._filters.length > 0) {
347
+ this._roomContext.subscribe(TOPIC_SIGNALING, { filters: this._filters });
348
+ }
349
+ else {
350
+ this._roomContext.subscribe(TOPIC_SIGNALING);
351
+ }
259
352
  // Listen for signals (ref stored for handler-specific removal)
260
353
  this._onSignalingRef = (data) => {
261
354
  this._handleIncomingSignal(data);
@@ -617,13 +710,17 @@ class NoLagSignal extends EventEmitter {
617
710
  * Join a signaling room. Creates, subscribes, and activates it.
618
711
  * Returns an existing room if already joined.
619
712
  */
620
- joinRoom(name) {
713
+ joinRoom(name, opts) {
621
714
  this._assertUsable();
622
715
  let room = this._rooms.get(name);
623
716
  if (!room) {
624
- room = this._subscribeRoom(name);
717
+ room = this._subscribeRoom(name, opts?.filters);
625
718
  room._activate();
626
719
  }
720
+ else if (opts?.filters) {
721
+ // Already joined — re-point its filters rather than ignoring them.
722
+ room.setFilters(opts.filters);
723
+ }
627
724
  return room;
628
725
  }
629
726
  /**
@@ -660,12 +757,12 @@ class NoLagSignal extends EventEmitter {
660
757
  }
661
758
  }
662
759
  // ============ Private: Room Setup ============
663
- _subscribeRoom(name) {
760
+ _subscribeRoom(name, filters) {
664
761
  this._log('Subscribing room:', name);
665
762
  const roomContext = this._client.setApp(this._options.appName).setRoom(name);
666
763
  const room = new SignalRoom(name, roomContext, this._localPeer, this._options, createLogger(`SignalRoom:${name}`, this._options.debug), () => this._client.connected);
667
764
  this._rooms.set(name, room);
668
- room._subscribe();
765
+ room._subscribe(filters);
669
766
  return room;
670
767
  }
671
768
  // ============ Private: Scope Filtering ============
@@ -1 +1 @@
1
- {"version":3,"file":"react-native.js","sources":["../src/EventEmitter.ts","../src/PeerManager.ts","../src/utils.ts","../src/constants.ts","../src/SignalRoom.ts","../src/NoLagSignal.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-native.js","sources":["../src/EventEmitter.ts","../src/PeerManager.ts","../src/utils.ts","../src/constants.ts","../src/SignalRoom.ts","../src/NoLagSignal.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}