@welshman/net 0.0.22 → 0.0.24

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.
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Executor = void 0;
4
4
  const lib_1 = require("@welshman/lib");
5
+ const Negentropy_1 = require("./Negentropy.cjs");
5
6
  const createSubId = (prefix) => [prefix, Math.random().toString().slice(2, 10)].join('-');
6
7
  class Executor {
7
8
  constructor(target) {
@@ -28,11 +29,11 @@ class Executor {
28
29
  this.target.send("REQ", id, ...filters);
29
30
  return {
30
31
  unsubscribe: () => {
31
- if (!closed) {
32
- this.target.send("CLOSE", id);
33
- this.target.off('EVENT', eventListener);
34
- this.target.off('EOSE', eoseListener);
35
- }
32
+ if (closed)
33
+ return;
34
+ this.target.send("CLOSE", id);
35
+ this.target.off('EVENT', eventListener);
36
+ this.target.off('EOSE', eoseListener);
36
37
  closed = true;
37
38
  },
38
39
  };
@@ -59,6 +60,50 @@ class Executor {
59
60
  }
60
61
  };
61
62
  }
63
+ diff(filter, events, { onMessage, onError, onClose } = {}) {
64
+ let closed = false;
65
+ const id = createSubId('NEG');
66
+ const storage = new Negentropy_1.NegentropyStorageVector();
67
+ const neg = new Negentropy_1.Negentropy(storage, 50000);
68
+ for (const event of events) {
69
+ storage.insert(event.created_at, event.id);
70
+ }
71
+ storage.seal();
72
+ const msgListener = async (url, negid, msg) => {
73
+ if (negid === id) {
74
+ const [newMsg, have, need] = await neg.reconcile(msg);
75
+ onMessage === null || onMessage === void 0 ? void 0 : onMessage(url, { have, need });
76
+ if (newMsg) {
77
+ this.target.send('NEG-MSG', id, newMsg);
78
+ }
79
+ else {
80
+ close();
81
+ }
82
+ }
83
+ };
84
+ const errListener = (url, negid, msg) => {
85
+ if (negid === id) {
86
+ onError === null || onError === void 0 ? void 0 : onError(url, msg);
87
+ }
88
+ };
89
+ const close = () => {
90
+ if (closed)
91
+ return;
92
+ this.target.send('NEG-CLOSE', id);
93
+ this.target.off('NEG-MSG', msgListener);
94
+ this.target.off('NEG-ERR', errListener);
95
+ closed = true;
96
+ onClose === null || onClose === void 0 ? void 0 : onClose();
97
+ };
98
+ this.target.on('NEG-MSG', msgListener);
99
+ this.target.on('NEG-ERR', errListener);
100
+ neg.initiate().then((msg) => {
101
+ this.target.send("NEG-OPEN", id, filter, msg);
102
+ });
103
+ return {
104
+ unsubscribe: close,
105
+ };
106
+ }
62
107
  }
63
108
  exports.Executor = Executor;
64
109
  //# sourceMappingURL=Executor.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.cjs","sourceRoot":"","sources":["../../src/Executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor.cjs","sourceRoot":"","sources":["../../src/Executor.ts"],"names":[],"mappings":";;;AAAA,uCAAiC;AAKjC,iDAAgE;AAuBhE,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEjG,MAAa,QAAQ;IAEnB,YAAqB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACjC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,SAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,SAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,SAAS,CAAC,OAAiB,EAAE,EAAC,OAAO,EAAE,MAAM,KAAmB,EAAE;QAChE,IAAI,MAAM,GAAG,KAAK,CAAA;QAElB,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAE7B,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,CAAe,EAAE,EAAE;YACpE,IAAI,KAAK,KAAK,EAAE,EAAE;gBAChB,SAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;gBACvB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,GAAG,EAAE,CAAC,CAAC,CAAA;aAClB;QACH,CAAC,CAAA;QAED,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;YAClD,IAAI,KAAK,KAAK,EAAE,EAAE;gBAChB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,CAAA;aACd;QACH,CAAC,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAA;QAEvC,OAAO;YACL,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,MAAM;oBAAE,OAAM;gBAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;gBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;gBAErC,MAAM,GAAG,IAAI,CAAA;YACf,CAAC;SACF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,KAAkB,EAAE,EAAC,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,KAAiB,EAAE;QAC3E,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAU,EAAE,GAAG,OAAc,EAAE,EAAE;YAChE,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE;gBACnB,SAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC3B,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAA;aAC5B;QACH,CAAC,CAAA;QAED,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAU,EAAE,GAAG,OAAc,EAAE,EAAE;YACnE,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE;gBACnB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAA;aAC/B;QACH,CAAC,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAChC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAE7B,OAAO;YACL,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YACzC,CAAC;SACF,CAAA;IACH,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,MAAsB,EAAE,EAAC,SAAS,EAAE,OAAO,EAAE,OAAO,KAAc,EAAE;QACvF,IAAI,MAAM,GAAG,KAAK,CAAA;QAElB,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAC7B,MAAM,OAAO,GAAG,IAAI,oCAAuB,EAAE,CAAA;QAC7C,MAAM,GAAG,GAAG,IAAI,uBAAU,CAAC,OAAO,EAAE,KAAM,CAAC,CAAA;QAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;SAC3C;QAED,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,KAAa,EAAE,GAAW,EAAE,EAAE;YACpE,IAAI,KAAK,KAAK,EAAE,EAAE;gBAChB,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBAErD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,GAAG,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAA;gBAE9B,IAAI,MAAM,EAAE;oBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;iBACxC;qBAAM;oBACL,KAAK,EAAE,CAAA;iBACR;aACF;QACH,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,GAAW,EAAE,EAAE;YAC9D,IAAI,KAAK,KAAK,EAAE,EAAE;gBAChB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,GAAG,EAAE,GAAG,CAAC,CAAA;aACpB;QACH,CAAC,CAAA;QAED,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,MAAM;gBAAE,OAAM;YAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;YAEvC,MAAM,GAAG,IAAI,CAAA;YACb,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAA;QACb,CAAC,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QAEtC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,WAAW,EAAE,KAAK;SACnB,CAAA;IACH,CAAC;CACF;AA3HD,4BA2HC"}
@@ -1,5 +1,5 @@
1
1
  import type { Emitter } from '@welshman/lib';
2
- import type { SignedEvent, Filter } from '@welshman/util';
2
+ import type { SignedEvent, TrustedEvent, Filter } from '@welshman/util';
3
3
  import type { Message } from './Socket';
4
4
  import type { Connection } from './Connection';
5
5
  export type Target = Emitter & {
@@ -7,10 +7,19 @@ export type Target = Emitter & {
7
7
  send: (...args: Message) => void;
8
8
  cleanup: () => void;
9
9
  };
10
- type EventCallback = (url: string, event: SignedEvent) => void;
10
+ export type NegentropyMessage = {
11
+ have: string[];
12
+ need: string[];
13
+ };
14
+ type EventCallback = (url: string, event: TrustedEvent) => void;
11
15
  type EoseCallback = (url: string) => void;
16
+ type CloseCallback = () => void;
12
17
  type OkCallback = (url: string, id: string, ...extra: any[]) => void;
13
18
  type ErrorCallback = (url: string, id: string, ...extra: any[]) => void;
19
+ type DiffMessageCallback = (url: string, { have, need }: {
20
+ have: string[];
21
+ need: string[];
22
+ }) => void;
14
23
  type SubscribeOpts = {
15
24
  onEvent?: EventCallback;
16
25
  onEose?: EoseCallback;
@@ -20,6 +29,11 @@ type PublishOpts = {
20
29
  onOk?: OkCallback;
21
30
  onError?: ErrorCallback;
22
31
  };
32
+ type DiffOpts = {
33
+ onError?: ErrorCallback;
34
+ onMessage?: DiffMessageCallback;
35
+ onClose?: CloseCallback;
36
+ };
23
37
  export declare class Executor {
24
38
  readonly target: Target;
25
39
  constructor(target: Target);
@@ -29,5 +43,8 @@ export declare class Executor {
29
43
  publish(event: SignedEvent, { verb, onOk, onError }?: PublishOpts): {
30
44
  unsubscribe: () => void;
31
45
  };
46
+ diff(filter: Filter, events: TrustedEvent[], { onMessage, onError, onClose }?: DiffOpts): {
47
+ unsubscribe: () => void;
48
+ };
32
49
  }
33
50
  export {};
@@ -1,4 +1,5 @@
1
1
  import { ctx } from '@welshman/lib';
2
+ import { Negentropy, NegentropyStorageVector } from "./Negentropy.mjs";
2
3
  const createSubId = (prefix) => [prefix, Math.random().toString().slice(2, 10)].join('-');
3
4
  export class Executor {
4
5
  constructor(target) {
@@ -25,11 +26,11 @@ export class Executor {
25
26
  this.target.send("REQ", id, ...filters);
26
27
  return {
27
28
  unsubscribe: () => {
28
- if (!closed) {
29
- this.target.send("CLOSE", id);
30
- this.target.off('EVENT', eventListener);
31
- this.target.off('EOSE', eoseListener);
32
- }
29
+ if (closed)
30
+ return;
31
+ this.target.send("CLOSE", id);
32
+ this.target.off('EVENT', eventListener);
33
+ this.target.off('EOSE', eoseListener);
33
34
  closed = true;
34
35
  },
35
36
  };
@@ -56,5 +57,49 @@ export class Executor {
56
57
  }
57
58
  };
58
59
  }
60
+ diff(filter, events, { onMessage, onError, onClose } = {}) {
61
+ let closed = false;
62
+ const id = createSubId('NEG');
63
+ const storage = new NegentropyStorageVector();
64
+ const neg = new Negentropy(storage, 50000);
65
+ for (const event of events) {
66
+ storage.insert(event.created_at, event.id);
67
+ }
68
+ storage.seal();
69
+ const msgListener = async (url, negid, msg) => {
70
+ if (negid === id) {
71
+ const [newMsg, have, need] = await neg.reconcile(msg);
72
+ onMessage === null || onMessage === void 0 ? void 0 : onMessage(url, { have, need });
73
+ if (newMsg) {
74
+ this.target.send('NEG-MSG', id, newMsg);
75
+ }
76
+ else {
77
+ close();
78
+ }
79
+ }
80
+ };
81
+ const errListener = (url, negid, msg) => {
82
+ if (negid === id) {
83
+ onError === null || onError === void 0 ? void 0 : onError(url, msg);
84
+ }
85
+ };
86
+ const close = () => {
87
+ if (closed)
88
+ return;
89
+ this.target.send('NEG-CLOSE', id);
90
+ this.target.off('NEG-MSG', msgListener);
91
+ this.target.off('NEG-ERR', errListener);
92
+ closed = true;
93
+ onClose === null || onClose === void 0 ? void 0 : onClose();
94
+ };
95
+ this.target.on('NEG-MSG', msgListener);
96
+ this.target.on('NEG-ERR', errListener);
97
+ neg.initiate().then((msg) => {
98
+ this.target.send("NEG-OPEN", id, filter, msg);
99
+ });
100
+ return {
101
+ unsubscribe: close,
102
+ };
103
+ }
59
104
  }
60
105
  //# sourceMappingURL=Executor.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.mjs","sourceRoot":"","sources":["../../src/Executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor.mjs","sourceRoot":"","sources":["../../src/Executor.ts"],"names":[],"mappings":"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"}