@peerbit/pubsub-interface 4.1.2-c1b15a9 → 4.1.2-cb91e7b

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.
@@ -1,7 +1,7 @@
1
1
  import { Uint8ArrayList } from "uint8arraylist";
2
2
  export declare abstract class PubSubMessage {
3
3
  abstract bytes(): Uint8Array | Uint8ArrayList;
4
- static from(bytes: Uint8Array): PubSubData | Subscribe | Unsubscribe | GetSubscribers;
4
+ static from(bytes: Uint8Array): PubSubData | Subscribe | Unsubscribe | GetSubscribers | TopicRootCandidates;
5
5
  }
6
6
  export declare class PubSubData extends PubSubMessage {
7
7
  topics: string[];
@@ -45,4 +45,13 @@ export declare class GetSubscribers extends PubSubMessage {
45
45
  bytes(): Uint8Array<ArrayBufferLike> | Uint8ArrayList;
46
46
  static from(bytes: Uint8Array | Uint8ArrayList): GetSubscribers;
47
47
  }
48
+ export declare class TopicRootCandidates extends PubSubMessage {
49
+ candidates: string[];
50
+ constructor(options: {
51
+ candidates: string[];
52
+ });
53
+ private _serialized;
54
+ bytes(): Uint8Array<ArrayBufferLike> | Uint8ArrayList;
55
+ static from(bytes: Uint8Array | Uint8ArrayList): TopicRootCandidates;
56
+ }
48
57
  //# sourceMappingURL=messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,8BAAsB,aAAa;IAClC,QAAQ,CAAC,KAAK,IAAI,UAAU,GAAG,cAAc;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU;CAkB7B;AAED,qBACa,UAAW,SAAQ,aAAa;IAE5C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,MAAM,EAAE,OAAO,CAAC;IAGhB,IAAI,EAAE,UAAU,CAAC;gBAEL,OAAO,EAAE;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB;IAUD,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU;CAU3D;AAED,qBACa,SAAU,SAAQ,aAAa;IAE3C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,kBAAkB,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,EAAE,OAAO,CAAA;KAAE;IAMtE,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAML,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS;CAU1D;AAED,qBACa,WAAY,SAAQ,aAAa;IAE7C,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW;CAU5D;AAED,qBACa,cAAe,SAAQ,aAAa;IAEhD,MAAM,EAAE,MAAM,EAAE,CAAC;gBAIL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,WAAW,EAAG,cAAc,CAAC;IAE7B,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc;CAU/D"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,8BAAsB,aAAa;IAClC,QAAQ,CAAC,KAAK,IAAI,UAAU,GAAG,cAAc;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU;CAsB7B;AAED,qBACa,UAAW,SAAQ,aAAa;IAE5C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,MAAM,EAAE,OAAO,CAAC;IAGhB,IAAI,EAAE,UAAU,CAAC;gBAEL,OAAO,EAAE;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB;IAUD,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU;CAU3D;AAED,qBACa,SAAU,SAAQ,aAAa;IAE3C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,kBAAkB,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,EAAE,OAAO,CAAA;KAAE;IAMtE,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAML,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS;CAU1D;AAED,qBACa,WAAY,SAAQ,aAAa;IAE7C,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW;CAU5D;AAED,qBACa,cAAe,SAAQ,aAAa;IAEhD,MAAM,EAAE,MAAM,EAAE,CAAC;gBAIL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,WAAW,EAAG,cAAc,CAAC;IAE7B,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc;CAU/D;AAMD,qBACa,mBAAoB,SAAQ,aAAa;IAErD,UAAU,EAAE,MAAM,EAAE,CAAC;gBAET,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAK7C,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,mBAAmB;CAUpE"}
@@ -49,6 +49,9 @@ export class PubSubMessage {
49
49
  if (first === 3) {
50
50
  return GetSubscribers.from(bytes);
51
51
  }
52
+ if (first === 4) {
53
+ return TopicRootCandidates.from(bytes);
54
+ }
52
55
  throw new Error("Unsupported");
53
56
  }
54
57
  }
@@ -249,4 +252,51 @@ let GetSubscribers = (() => {
249
252
  return GetSubscribers = _classThis;
250
253
  })();
251
254
  export { GetSubscribers };
255
+ // Internal control-plane message: used to converge deterministic topic-root
256
+ // candidate sets in small ad-hoc networks (when no explicit candidates/trackers
257
+ // are configured). This keeps shard-root resolution stable across partially
258
+ // connected topologies (e.g. star graphs).
259
+ let TopicRootCandidates = (() => {
260
+ let _classDecorators = [variant(4)];
261
+ let _classDescriptor;
262
+ let _classExtraInitializers = [];
263
+ let _classThis;
264
+ let _classSuper = PubSubMessage;
265
+ let _candidates_decorators;
266
+ let _candidates_initializers = [];
267
+ let _candidates_extraInitializers = [];
268
+ var TopicRootCandidates = class extends _classSuper {
269
+ static { _classThis = this; }
270
+ static {
271
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
272
+ _candidates_decorators = [field({ type: vec("string") })];
273
+ __esDecorate(null, null, _candidates_decorators, { kind: "field", name: "candidates", static: false, private: false, access: { has: obj => "candidates" in obj, get: obj => obj.candidates, set: (obj, value) => { obj.candidates = value; } }, metadata: _metadata }, _candidates_initializers, _candidates_extraInitializers);
274
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
275
+ TopicRootCandidates = _classThis = _classDescriptor.value;
276
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
277
+ __runInitializers(_classThis, _classExtraInitializers);
278
+ }
279
+ candidates = __runInitializers(this, _candidates_initializers, void 0);
280
+ constructor(options) {
281
+ super();
282
+ this.candidates = options.candidates;
283
+ }
284
+ _serialized = __runInitializers(this, _candidates_extraInitializers);
285
+ bytes() {
286
+ if (this._serialized) {
287
+ return this._serialized;
288
+ }
289
+ return serialize(this);
290
+ }
291
+ static from(bytes) {
292
+ const ret = deserialize(bytes instanceof Uint8Array ? bytes : bytes.subarray(), TopicRootCandidates);
293
+ if (bytes instanceof Uint8ArrayList) {
294
+ ret._serialized = bytes;
295
+ }
296
+ return ret;
297
+ }
298
+ };
299
+ return TopicRootCandidates = _classThis;
300
+ })();
301
+ export { TopicRootCandidates };
252
302
  //# sourceMappingURL=messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/pubsub-interface",
3
- "version": "4.1.2-c1b15a9",
3
+ "version": "4.1.2-cb91e7b",
4
4
  "description": "Block store streaming",
5
5
  "type": "module",
6
6
  "types": "./dist/src/index.d.ts",
@@ -69,8 +69,8 @@
69
69
  ],
70
70
  "dependencies": {
71
71
  "@dao-xyz/borsh": "^6.0.0",
72
- "@peerbit/crypto": "2.4.1-c1b15a9",
73
- "@peerbit/stream-interface": "5.4.0-c1b15a9",
72
+ "@peerbit/crypto": "2.4.1-cb91e7b",
73
+ "@peerbit/stream-interface": "5.4.0-cb91e7b",
74
74
  "@libp2p/interface": "^3.1.0",
75
75
  "uint8arraylist": "^2.4.8"
76
76
  },
package/src/messages.ts CHANGED
@@ -19,6 +19,10 @@ export abstract class PubSubMessage {
19
19
  return GetSubscribers.from(bytes);
20
20
  }
21
21
 
22
+ if (first === 4) {
23
+ return TopicRootCandidates.from(bytes);
24
+ }
25
+
22
26
  throw new Error("Unsupported");
23
27
  }
24
28
  }
@@ -166,3 +170,38 @@ export class GetSubscribers extends PubSubMessage {
166
170
  return ret;
167
171
  }
168
172
  }
173
+
174
+ // Internal control-plane message: used to converge deterministic topic-root
175
+ // candidate sets in small ad-hoc networks (when no explicit candidates/trackers
176
+ // are configured). This keeps shard-root resolution stable across partially
177
+ // connected topologies (e.g. star graphs).
178
+ @variant(4)
179
+ export class TopicRootCandidates extends PubSubMessage {
180
+ @field({ type: vec("string") })
181
+ candidates: string[];
182
+
183
+ constructor(options: { candidates: string[] }) {
184
+ super();
185
+ this.candidates = options.candidates;
186
+ }
187
+
188
+ private _serialized!: Uint8ArrayList;
189
+
190
+ bytes() {
191
+ if (this._serialized) {
192
+ return this._serialized;
193
+ }
194
+ return serialize(this);
195
+ }
196
+
197
+ static from(bytes: Uint8Array | Uint8ArrayList): TopicRootCandidates {
198
+ const ret = deserialize(
199
+ bytes instanceof Uint8Array ? bytes : bytes.subarray(),
200
+ TopicRootCandidates,
201
+ );
202
+ if (bytes instanceof Uint8ArrayList) {
203
+ ret._serialized = bytes;
204
+ }
205
+ return ret;
206
+ }
207
+ }