tool-db 1.2.3 → 1.3.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.
Files changed (135) hide show
  1. package/custom-test-env.js +18 -0
  2. package/dist/index.d.ts +10 -0
  3. package/dist/index.js +21 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/libp2p/create.d.ts +2 -0
  6. package/dist/libp2p/create.js +131 -0
  7. package/dist/libp2p/create.js.map +1 -0
  8. package/dist/libp2p/createLibP2p.d.ts +3 -0
  9. package/dist/libp2p/createLibP2p.js +130 -0
  10. package/dist/libp2p/createLibP2p.js.map +1 -0
  11. package/dist/libp2p/tooldb-protocol.d.ts +19 -0
  12. package/dist/libp2p/tooldb-protocol.js +156 -0
  13. package/dist/libp2p/tooldb-protocol.js.map +1 -0
  14. package/dist/messageHandlers/handleCrdt copy.d.ts +2 -0
  15. package/dist/messageHandlers/handleCrdt copy.js +15 -0
  16. package/dist/messageHandlers/handleCrdt copy.js.map +1 -0
  17. package/dist/messageHandlers/handleCrdt.d.ts +2 -0
  18. package/dist/messageHandlers/handleCrdt.js +15 -0
  19. package/dist/messageHandlers/handleCrdt.js.map +1 -0
  20. package/dist/messageHandlers/handleCrdtGet copy.d.ts +2 -0
  21. package/dist/messageHandlers/handleCrdtGet copy.js +22 -0
  22. package/dist/messageHandlers/handleCrdtGet copy.js.map +1 -0
  23. package/dist/messageHandlers/handleCrdtGet.d.ts +2 -0
  24. package/dist/messageHandlers/handleCrdtGet.js +22 -0
  25. package/dist/messageHandlers/handleCrdtGet.js.map +1 -0
  26. package/dist/messageHandlers/handleCrdtPut copy.d.ts +2 -0
  27. package/dist/messageHandlers/handleCrdtPut copy.js +83 -0
  28. package/dist/messageHandlers/handleCrdtPut copy.js.map +1 -0
  29. package/dist/messageHandlers/handleCrdtPut.d.ts +2 -0
  30. package/dist/messageHandlers/handleCrdtPut.js +83 -0
  31. package/dist/messageHandlers/handleCrdtPut.js.map +1 -0
  32. package/dist/messageHandlers/handleGet copy.d.ts +2 -0
  33. package/dist/messageHandlers/handleGet copy.js +37 -0
  34. package/dist/messageHandlers/handleGet copy.js.map +1 -0
  35. package/dist/messageHandlers/handleGet.d.ts +2 -0
  36. package/dist/messageHandlers/handleGet.js +37 -0
  37. package/dist/messageHandlers/handleGet.js.map +1 -0
  38. package/dist/messageHandlers/handleGetServers.d.ts +2 -0
  39. package/dist/messageHandlers/handleGetServers.js +23 -0
  40. package/dist/messageHandlers/handleGetServers.js.map +1 -0
  41. package/dist/messageHandlers/handleJoin copy.d.ts +2 -0
  42. package/dist/messageHandlers/handleJoin copy.js +37 -0
  43. package/dist/messageHandlers/handleJoin copy.js.map +1 -0
  44. package/dist/messageHandlers/handleJoin.d.ts +2 -0
  45. package/dist/messageHandlers/handleJoin.js +36 -0
  46. package/dist/messageHandlers/handleJoin.js.map +1 -0
  47. package/dist/messageHandlers/handlePing copy.d.ts +2 -0
  48. package/dist/messageHandlers/handlePing copy.js +13 -0
  49. package/dist/messageHandlers/handlePing copy.js.map +1 -0
  50. package/dist/messageHandlers/handlePing.d.ts +2 -0
  51. package/dist/messageHandlers/handlePing.js +20 -0
  52. package/dist/messageHandlers/handlePing.js.map +1 -0
  53. package/dist/messageHandlers/handlePong.d.ts +2 -0
  54. package/dist/messageHandlers/handlePong.js +30 -0
  55. package/dist/messageHandlers/handlePong.js.map +1 -0
  56. package/dist/messageHandlers/handlePut.d.ts +2 -0
  57. package/dist/messageHandlers/handlePut.js +61 -0
  58. package/dist/messageHandlers/handlePut.js.map +1 -0
  59. package/dist/messageHandlers/handleQuery.d.ts +2 -0
  60. package/dist/messageHandlers/handleQuery.js +18 -0
  61. package/dist/messageHandlers/handleQuery.js.map +1 -0
  62. package/dist/messageHandlers/handleServers copy.d.ts +2 -0
  63. package/dist/messageHandlers/handleServers copy.js +23 -0
  64. package/dist/messageHandlers/handleServers copy.js.map +1 -0
  65. package/dist/messageHandlers/handleServers.d.ts +2 -0
  66. package/dist/messageHandlers/handleServers.js +23 -0
  67. package/dist/messageHandlers/handleServers.js.map +1 -0
  68. package/dist/messageHandlers/handleSubscribe.d.ts +2 -0
  69. package/dist/messageHandlers/handleSubscribe.js +62 -0
  70. package/dist/messageHandlers/handleSubscribe.js.map +1 -0
  71. package/dist/toolDbClientOnMessage.d.ts +2 -2
  72. package/dist/toolDbClientOnMessage.js +59 -264
  73. package/dist/toolDbClientOnMessage.js.map +1 -1
  74. package/dist/toolDbCrdtPut.js +1 -1
  75. package/dist/toolDbCrdtPut.js.map +1 -1
  76. package/dist/toolDbGet.js +1 -1
  77. package/dist/toolDbGet.js.map +1 -1
  78. package/dist/toolDbLibP2p.d.ts +34 -0
  79. package/dist/toolDbLibP2p.js +375 -0
  80. package/dist/toolDbLibP2p.js.map +1 -0
  81. package/dist/toolDbNetwork.d.ts +33 -0
  82. package/dist/toolDbNetwork.js +277 -0
  83. package/dist/toolDbNetwork.js.map +1 -0
  84. package/dist/toolDbPut.js +1 -1
  85. package/dist/toolDbPut.js.map +1 -1
  86. package/dist/toolDbQueryKeys.js +1 -1
  87. package/dist/toolDbQueryKeys.js.map +1 -1
  88. package/dist/toolDbSignUp.js +1 -1
  89. package/dist/toolDbSignUp.js.map +1 -1
  90. package/dist/toolDbSubscribe.js +1 -1
  91. package/dist/toolDbSubscribe.js.map +1 -1
  92. package/dist/toolDbVerificationWrapper.js +1 -1
  93. package/dist/toolDbVerificationWrapper.js.map +1 -1
  94. package/dist/tooldb.d.ts +26 -10
  95. package/dist/tooldb.js +63 -7
  96. package/dist/tooldb.js.map +1 -1
  97. package/dist/types/message.d.ts +11 -2
  98. package/dist/types/message.js.map +1 -1
  99. package/dist/types/tooldb.d.ts +34 -1
  100. package/dist/types/tooldb.js +19 -0
  101. package/dist/types/tooldb.js.map +1 -1
  102. package/dist/utils/indexedb.d.ts +2 -6
  103. package/dist/utils/indexedb.js +13 -3
  104. package/dist/utils/indexedb.js.map +1 -1
  105. package/dist/utils/leveldb.d.ts +2 -6
  106. package/dist/utils/leveldb.js +12 -2
  107. package/dist/utils/leveldb.js.map +1 -1
  108. package/dist/utils/verifyPeer.d.ts +2 -0
  109. package/dist/utils/verifyPeer.js +13 -0
  110. package/dist/utils/verifyPeer.js.map +1 -0
  111. package/dist/wss.js +2 -2
  112. package/dist/wss.js.map +1 -1
  113. package/jest.config.ts +2 -1
  114. package/package.json +3 -2
  115. package/test-alice/000003.log +0 -0
  116. package/test-alice/CURRENT +1 -0
  117. package/test-alice/LOCK +0 -0
  118. package/test-alice/LOG +1 -0
  119. package/test-alice/MANIFEST-000002 +0 -0
  120. package/test-bob/000003.log +0 -0
  121. package/test-bob/CURRENT +1 -0
  122. package/test-bob/LOCK +0 -0
  123. package/test-bob/LOG +1 -0
  124. package/test-bob/MANIFEST-000002 +0 -0
  125. package/test-node-a/000003.log +0 -0
  126. package/test-node-a/CURRENT +1 -0
  127. package/test-node-a/LOCK +0 -0
  128. package/test-node-a/LOG +1 -0
  129. package/test-node-a/MANIFEST-000002 +0 -0
  130. package/test-node-b/000003.log +0 -0
  131. package/test-node-b/CURRENT +1 -0
  132. package/test-node-b/LOCK +0 -0
  133. package/test-node-b/LOG +1 -0
  134. package/test-node-b/MANIFEST-000002 +0 -0
  135. package/toolDbLibP2p.ts +206 -0
@@ -0,0 +1,2 @@
1
+ import { ServersMessage, ToolDb } from "..";
2
+ export default function handleServers(this: ToolDb, message: ServersMessage, remotePeerId: string): void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var verifyPeer_1 = __importDefault(require("../utils/verifyPeer"));
7
+ function handleServers(message, remotePeerId) {
8
+ var _this = this;
9
+ message.servers.forEach(function (peer) {
10
+ (0, verifyPeer_1.default)(peer).then(function (verified) {
11
+ // Add this peer to our list of peers
12
+ if (verified) {
13
+ var filteredPeers = _this.peers.findIndex(function (p) { return p.pubkey === peer.pubkey; });
14
+ if (filteredPeers === -1) {
15
+ // Add this peer to the list
16
+ _this.peers.push(peer);
17
+ }
18
+ }
19
+ });
20
+ });
21
+ }
22
+ exports.default = handleServers;
23
+ //# sourceMappingURL=handleServers%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleServers copy.js","sourceRoot":"","sources":["../../src/messageHandlers/handleServers copy.ts"],"names":[],"mappings":";;;;;AACA,mEAA6C;AAE7C,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAmBC;IAdC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,IAAI;QAC3B,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC7B,qCAAqC;YACrC,IAAI,QAAQ,EAAE;gBACZ,IAAM,aAAa,GAAG,KAAI,CAAC,KAAK,CAAC,SAAS,CACxC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAxB,CAAwB,CAChC,CAAC;gBACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;oBACxB,4BAA4B;oBAC5B,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAnBD,gCAmBC"}
@@ -0,0 +1,2 @@
1
+ import { ServersMessage, ToolDb } from "..";
2
+ export default function handleServers(this: ToolDb, message: ServersMessage, remotePeerId: string): void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var verifyPeer_1 = __importDefault(require("../utils/verifyPeer"));
7
+ function handleServers(message, remotePeerId) {
8
+ var _this = this;
9
+ message.servers.forEach(function (peer) {
10
+ (0, verifyPeer_1.default)(peer).then(function (verified) {
11
+ // Add this peer to our list of peers
12
+ if (verified) {
13
+ var filteredPeers = _this.peers.findIndex(function (p) { return p.pubkey === peer.pubkey; });
14
+ if (filteredPeers === -1) {
15
+ // Add this peer to the list
16
+ _this.peers.push(peer);
17
+ }
18
+ }
19
+ });
20
+ });
21
+ }
22
+ exports.default = handleServers;
23
+ //# sourceMappingURL=handleServers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleServers.js","sourceRoot":"","sources":["../../src/messageHandlers/handleServers.ts"],"names":[],"mappings":";;;;;AACA,mEAA6C;AAE7C,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAmBC;IAdC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,IAAI;QAC3B,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC7B,qCAAqC;YACrC,IAAI,QAAQ,EAAE;gBACZ,IAAM,aAAa,GAAG,KAAI,CAAC,KAAK,CAAC,SAAS,CACxC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAxB,CAAwB,CAChC,CAAC;gBACF,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;oBACxB,4BAA4B;oBAC5B,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAnBD,gCAmBC"}
@@ -0,0 +1,2 @@
1
+ import { SubscribeMessage, ToolDb } from "..";
2
+ export default function handleSubscribe(this: ToolDb, message: SubscribeMessage, remotePeerId: string): void;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var automerge_1 = __importDefault(require("automerge"));
18
+ var __1 = require("..");
19
+ function handleSubscribe(message, remotePeerId) {
20
+ var _this = this;
21
+ if (remotePeerId) {
22
+ var subId = remotePeerId + "-" + message.key;
23
+ if (!this.subscriptions.includes(subId)) {
24
+ this.subscriptions.push(subId);
25
+ this.addKeyListener(message.key, function (msg) {
26
+ if ((msg.type === "put" || msg.type === "crdt") && remotePeerId) {
27
+ // We do not reply to the socket directly
28
+ // instead we use the client id, in case the socket reconnects
29
+ _this.network.sendToClientId(remotePeerId, msg);
30
+ }
31
+ });
32
+ }
33
+ }
34
+ // basically the exact same as GET, below
35
+ this.store.get(message.key, function (err, data) {
36
+ if (data) {
37
+ try {
38
+ var oldData = __assign(__assign({}, JSON.parse(data)), { id: message.id });
39
+ _this.network.sendToClientId(remotePeerId, oldData);
40
+ }
41
+ catch (e) {
42
+ // do nothing
43
+ }
44
+ }
45
+ });
46
+ this.loadCrdtDocument(message.key, false).then(function (doc) {
47
+ // console.log("Load crdt from subscribe", message.key, doc);
48
+ if (doc) {
49
+ var savedDoc = automerge_1.default.save(doc);
50
+ var msg = {
51
+ type: "crdt",
52
+ key: message.key,
53
+ to: [],
54
+ id: (0, __1.textRandom)(10),
55
+ doc: (0, __1.uint8ToBase64)(savedDoc),
56
+ };
57
+ _this.network.sendToClientId(remotePeerId, msg);
58
+ }
59
+ });
60
+ }
61
+ exports.default = handleSubscribe;
62
+ //# sourceMappingURL=handleSubscribe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleSubscribe.js","sourceRoot":"","sources":["../../src/messageHandlers/handleSubscribe.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAkC;AAClC,wBAMY;AAEZ,SAAwB,eAAe,CAErC,OAAyB,EACzB,YAAoB;IAHtB,iBA8CC;IAzCC,IAAI,YAAY,EAAE;QAChB,IAAM,KAAK,GAAG,YAAY,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG;gBACnC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE;oBAC/D,yCAAyC;oBACzC,8DAA8D;oBAC9D,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;SACJ;KACF;IAED,yCAAyC;IACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,IAAM,OAAO,yBAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAE,EAAE,EAAE,OAAO,CAAC,EAAE,GAAE,CAAC;gBACxD,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACpD;YAAC,OAAO,CAAC,EAAE;gBACV,aAAa;aACd;SACF;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;QACjD,6DAA6D;QAC7D,IAAI,GAAG,EAAE;YACP,IAAM,QAAQ,GAAG,mBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrC,IAAM,GAAG,GAAgB;gBACvB,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,EAAE,EAAE,EAAE;gBACN,EAAE,EAAE,IAAA,cAAU,EAAC,EAAE,CAAC;gBAClB,GAAG,EAAE,IAAA,iBAAa,EAAC,QAAQ,CAAC;aAC7B,CAAC;YACF,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;SAChD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA9CD,kCA8CC"}
@@ -1,3 +1,3 @@
1
+ import { ToolDbMessage } from ".";
1
2
  import ToolDb from "./tooldb";
2
- import { ToolDbWebSocket } from "./wss";
3
- export default function toolDbClientOnMessage(this: ToolDb, data: string, socket: ToolDbWebSocket): void;
3
+ export default function toolDbClientOnMessage(this: ToolDb, message: ToolDbMessage, remotePeerId: string): void;
@@ -1,271 +1,66 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- var _1 = require(".");
18
- var toolDbVerificationWrapper_1 = __importDefault(require("./toolDbVerificationWrapper"));
19
- var automerge_1 = __importDefault(require("automerge"));
20
- var base64ToBinaryChange_1 = __importDefault(require("./utils/base64ToBinaryChange"));
21
- function toolDbClientOnMessage(data, socket) {
22
- var _this = this;
23
- var originalData = data;
24
- if (typeof data === "string") {
25
- try {
26
- var message_1 = JSON.parse(data);
27
- // console.warn(
28
- // "Got message > ",
29
- // message.type,
30
- // (message as any).k || "",
31
- // message
32
- // );
33
- // Check if we are listening for this ID
34
- if (message_1.id) {
35
- var msgId = message_1.id;
36
- if (this._idListeners[msgId]) {
37
- this._idListeners[msgId](message_1);
38
- this.removeIdListener(msgId);
39
- }
40
- }
41
- if (message_1.type === "ping") {
42
- socket.toolDbId = message_1.clientId;
43
- this.websockets._clientSockets[message_1.clientId] = socket;
44
- socket.isServer = message_1.isServer;
45
- this.websockets.sendToClientId(socket.toolDbId || "", {
46
- type: "pong",
47
- isServer: this.options.server,
48
- clientId: this.options.id,
49
- to: [],
50
- id: (0, _1.textRandom)(10),
51
- });
52
- }
53
- if (message_1.type === "pong") {
54
- socket.toolDbId = message_1.clientId;
55
- socket.isServer = message_1.isServer;
56
- this.websockets._clientSockets[message_1.clientId] = socket;
57
- this.onConnect();
58
- }
59
- if (message_1.type === "subscribe") {
60
- if (socket.toolDbId) {
61
- var subId = socket.toolDbId + "-" + message_1.key;
62
- if (!this.subscriptions.includes(subId)) {
63
- this.subscriptions.push(subId);
64
- this.addKeyListener(message_1.key, function (msg) {
65
- if ((msg.type === "put" || msg.type === "crdt") &&
66
- socket.toolDbId) {
67
- // We do not reply to the socket directly
68
- // instead we use the client id, in case the socket reconnects
69
- _this.websockets.sendToClientId(socket.toolDbId, msg);
70
- }
71
- });
72
- }
73
- }
74
- // basically the exact same as GET, below
75
- this.store.get(message_1.key, function (err, data) {
76
- if (data) {
77
- try {
78
- var oldData = __assign(__assign({}, JSON.parse(data)), { id: message_1.id });
79
- _this.websockets.sendToClientId(socket.toolDbId || "", oldData);
80
- }
81
- catch (e) {
82
- // do nothing
83
- }
84
- }
85
- });
86
- this.loadCrdtDocument(message_1.key, false).then(function (doc) {
87
- // console.log("Load crdt from subscribe", message.key, doc);
88
- if (doc) {
89
- var savedDoc = automerge_1.default.save(doc);
90
- // console.log("saved", savedDoc);
91
- var msg = {
92
- type: "crdt",
93
- key: message_1.key,
94
- to: [],
95
- id: (0, _1.textRandom)(10),
96
- doc: (0, _1.uint8ToBase64)(savedDoc),
97
- };
98
- _this.websockets.sendToClientId(socket.toolDbId || "", msg);
99
- }
100
- });
101
- }
102
- if (message_1.type === "get") {
103
- this.store.get(message_1.key, function (err, data) {
104
- if (data) {
105
- try {
106
- // Use the id of the get so the other client knows we are replying
107
- var oldData = __assign(__assign({ type: "put" }, JSON.parse(data)), { id: message_1.id });
108
- _this.websockets.sendToClientId(socket.toolDbId || "", oldData);
109
- }
110
- catch (e) {
111
- // socket.send(data);
112
- // do nothing
113
- }
114
- }
115
- else {
116
- if (_this.options.debug) {
117
- console.log("Local key not found, relay", originalData);
118
- }
119
- _this.websockets.send(message_1);
120
- }
121
- });
122
- }
123
- if (message_1.type === "put") {
124
- toolDbVerificationWrapper_1.default.call(this, message_1).then(function (value) {
125
- // console.log("Verification wrapper result: ", value, message.k);
126
- if (value === _1.VerifyResult.Verified) {
127
- // relay to other servers !!!
128
- _this.websockets.send(message_1, true);
129
- _this.store.get(message_1.k, function (err, oldData) {
130
- if (oldData) {
131
- var parsedOldData = __assign({ type: "put" }, JSON.parse(oldData));
132
- if (parsedOldData.t < message_1.t) {
133
- var key = message_1.k;
134
- _this.triggerKeyListener(key, message_1);
135
- _this.store.put(message_1.k, JSON.stringify(message_1), function (err, data) {
136
- //
137
- });
138
- }
139
- else {
140
- var key = message_1.k;
141
- _this.triggerKeyListener(key, parsedOldData);
142
- }
143
- // } else if (this.options.debug) {
144
- // console.log(
145
- // `${message.k} has old data, but its newer. old ${parsedOldData.t} < new ${message.t}`
146
- // );
147
- // }
148
- }
149
- else {
150
- var key = message_1.k;
151
- _this.triggerKeyListener(key, message_1);
152
- _this.store.put(message_1.k, JSON.stringify(message_1), function (err, data) {
153
- //
154
- });
155
- }
156
- });
157
- }
158
- else {
159
- console.warn("unverified message: ", value, message_1);
160
- }
161
- });
162
- }
163
- if (message_1.type === "crdtPut") {
164
- // key = aggregated, final value
165
- // key.crdt = automerge doc with changes
166
- // const writeStart = new Date().getTime();
167
- toolDbVerificationWrapper_1.default.call(this, message_1).then(function (value) {
168
- // console.log("CRDT Verification wrapper result: ", value);
169
- if (value === _1.VerifyResult.Verified) {
170
- var key_1 = message_1.k;
171
- var data_1 = [];
172
- try {
173
- data_1 = JSON.parse(message_1.v);
174
- }
175
- catch (e) {
176
- //
177
- }
178
- var changes_1 = data_1.map(base64ToBinaryChange_1.default);
179
- _this.loadCrdtDocument(key_1).then(function (currentDoc) {
180
- // if (currentDoc) {
181
- // console.log(
182
- // "loaded",
183
- // key,
184
- // currentDoc,
185
- // Automerge.getHistory(currentDoc)
186
- // );
187
- // }
188
- var newDoc = automerge_1.default.init();
189
- try {
190
- newDoc = automerge_1.default.applyChanges(currentDoc || automerge_1.default.init(), changes_1)[0];
191
- }
192
- catch (e) {
193
- try {
194
- newDoc = automerge_1.default.applyChanges(automerge_1.default.init(), changes_1)[0];
195
- }
196
- catch (ee) {
197
- if (_this.options.debug) {
198
- console.log(ee);
199
- }
200
- }
201
- }
202
- // if (newDoc) {
203
- // console.log(
204
- // "new document changes:",
205
- // Automerge.getHistory(newDoc)
206
- // );
207
- // }
208
- // persist
209
- _this.documents[key_1] = newDoc;
210
- var savedDoc = automerge_1.default.save(newDoc);
211
- _this.store.put(key_1 + ".crdt", savedDoc, function (err, data) {
212
- // const writeEnd = new Date().getTime();
213
- // console.log("CRDT write: ", (writeEnd - writeStart) / 1000);
214
- });
215
- var crdtMessage = {
216
- type: "crdt",
217
- key: key_1,
218
- id: message_1.id,
219
- to: [],
220
- doc: (0, _1.uint8ToBase64)(savedDoc),
221
- };
222
- _this.triggerKeyListener(key_1, crdtMessage);
223
- // relay to other servers
224
- // !!!
225
- _this.websockets.send(crdtMessage, true);
226
- });
227
- }
228
- else {
229
- console.log("unverified message", value, message_1);
230
- }
231
- });
232
- }
233
- if (message_1.type === "crdtGet") {
234
- this.loadCrdtDocument(message_1.key).then(function (currentDoc) {
235
- var saved = automerge_1.default.save(currentDoc || automerge_1.default.init());
236
- _this.websockets.sendToClientId(socket.toolDbId || "", {
237
- type: "crdt",
238
- id: message_1.id,
239
- key: message_1.key,
240
- to: [],
241
- doc: (0, _1.uint8ToBase64)(saved),
242
- });
243
- });
244
- }
245
- if (message_1.type === "query") {
246
- this.store.query(message_1.key).then(function (keys) {
247
- _this.websockets.sendToClientId(socket.toolDbId || "", {
248
- type: "queryAck",
249
- id: message_1.id,
250
- to: [],
251
- keys: keys,
252
- });
253
- });
254
- }
255
- if (message_1.type === "crdt") {
256
- var key = message_1.key;
257
- this.triggerKeyListener(key, message_1);
258
- var savedDoc = (0, _1.base64ToBinaryDocument)(message_1.doc);
259
- this.store.put(key + ".crdt", savedDoc, function (err, data) {
260
- //
261
- });
262
- }
263
- }
264
- catch (e) {
265
- console.log("Got message ERR > ", data);
266
- console.log(e);
3
+ function toolDbClientOnMessage(message, remotePeerId) {
4
+ if (!this.processedIds[message.type]) {
5
+ this.processedIds[message.type] = [];
6
+ }
7
+ if (this.processedIds[message.type].includes(message.id)) {
8
+ // console.warn(
9
+ // `Already processed this message > ${message.type} from ${remotePeerId}`
10
+ // );
11
+ return;
12
+ }
13
+ this.processedIds[message.type].push(message.id);
14
+ // console.warn(
15
+ // `Got message > ${remotePeerId}`,
16
+ // message.type,
17
+ // (message as any).k || ""
18
+ // // message
19
+ // );
20
+ // console.warn(`Got message ${message.type} from ${remotePeerId}`);
21
+ // Check if we are listening for this ID
22
+ if (message.id) {
23
+ var msgId = message.id;
24
+ if (this._idListeners[msgId]) {
25
+ this._idListeners[msgId](message);
26
+ this.removeIdListener(msgId);
267
27
  }
268
28
  }
29
+ if (message === undefined || message.type === undefined) {
30
+ console.warn("Message is invalid!", message, typeof message);
31
+ return;
32
+ }
33
+ switch (message.type) {
34
+ case "ping":
35
+ this.handlePing(message, remotePeerId);
36
+ break;
37
+ case "pong":
38
+ this.handlePong(message, remotePeerId);
39
+ break;
40
+ case "subscribe":
41
+ this.handleSubscribe(message, remotePeerId);
42
+ break;
43
+ case "get":
44
+ this.handleGet(message, remotePeerId);
45
+ break;
46
+ case "put":
47
+ this.handlePut(message, remotePeerId);
48
+ break;
49
+ case "crdtPut":
50
+ this.handleCrdtPut(message, remotePeerId);
51
+ break;
52
+ case "crdtGet":
53
+ this.handleCrdtGet(message, remotePeerId);
54
+ break;
55
+ case "query":
56
+ this.handleQuery(message, remotePeerId);
57
+ break;
58
+ case "crdt":
59
+ this.handleCrdt(message, remotePeerId);
60
+ break;
61
+ default:
62
+ break;
63
+ }
269
64
  }
270
65
  exports.default = toolDbClientOnMessage;
271
66
  //# sourceMappingURL=toolDbClientOnMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolDbClientOnMessage.js","sourceRoot":"","sources":["../src/toolDbClientOnMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolDbClientOnMessage.js","sourceRoot":"","sources":["../src/toolDbClientOnMessage.ts"],"names":[],"mappings":";;AAGA,SAAwB,qBAAqB,CAE3C,OAAsB,EACtB,YAAoB;IAEpB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACpC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;KACtC;IACD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACxD,gBAAgB;QAChB,4EAA4E;QAC5E,KAAK;QACL,OAAO;KACR;IAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjD,gBAAgB;IAChB,qCAAqC;IACrC,kBAAkB;IAClB,6BAA6B;IAC7B,eAAe;IACf,KAAK;IACL,oEAAoE;IAEpE,wCAAwC;IACxC,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B;KACF;IAED,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;QACvD,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC,CAAC;QAC7D,OAAO;KACR;IAED,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,MAAM;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,MAAM;QAER,KAAK,MAAM;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,MAAM;QAER,KAAK,WAAW;YACd,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC5C,MAAM;QAER,KAAK,KAAK;YACR,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,KAAK;YACR,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,OAAO;YACV,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACxC,MAAM;QAER,KAAK,MAAM;YACT,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACvC,MAAM;QAER;YACE,MAAM;KACT;AACH,CAAC;AA9ED,wCA8EC"}
@@ -102,7 +102,7 @@ function toolDbCrdtPut(key, value, userNamespaced) {
102
102
  console.log("PUT CRDT > " + key, data);
103
103
  }
104
104
  finalMessage = __assign({ type: "crdtPut", id: (0, _1.textRandom)(10), to: [] }, data);
105
- this.websockets.send(finalMessage);
105
+ this.network.sendToAll(finalMessage);
106
106
  resolve(finalMessage);
107
107
  return [2 /*return*/];
108
108
  });
@@ -1 +1 @@
1
- {"version":3,"file":"toolDbCrdtPut.js","sourceRoot":"","sources":["../src/toolDbCrdtPut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sBAAgF;AAGhF,oEAA8C;AAE9C,8DAAwC;AACxC,8DAAwC;AAExC;;;;;;GAMG;AACH,SAAwB,aAAa,CAEnC,GAAW,EACX,KAAqB,EACrB,cAAsB;IAJxB,iBA4DC;IAxDC,+BAAA,EAAA,sBAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,8FAA8F;YAC9F,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA6B,GAAK,CAAC,CAAC,CAAC;YACtD,OAAO;SACR;QAED,IAAI,CAAC,KAAI,CAAC,IAAI,EAAE;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAC5D,OAAO;SACR;QAED,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEvC,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAa,CAAC,CAAC,CAAC;QAE7D,IAAM,UAAU,GAAG,KAAG,WAAW,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAW,CAAC;QAEnE,OAAO;QACP,IAAA,qBAAW,EAAC,UAAU,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;aACtC,IAAI,CAAC,UAAC,EAAe;;gBAAb,IAAI,UAAA,EAAE,KAAK,WAAA;YAClB,IAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,IAAI,EAAE;gBACnB,iBAAiB;gBACjB,IAAA,kBAAQ,EAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAuB,CAAC;qBAC5D,IAAI,CAAC,UAAO,SAAS;;;;wBAEd,IAAI,GAAqB;4BAC7B,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,OAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK,CAAC,CAAC,CAAC,GAAG;4BACxD,CAAC,EAAE,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,KAAI,EAAE;4BAC1B,CAAC,EAAE,KAAK;4BACR,CAAC,EAAE,SAAS;4BACZ,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAA,kBAAQ,EAAC,SAAS,CAAC;4BACtB,CAAC,EAAE,WAAW;yBACf,CAAC;wBAEF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;yBACxC;wBAEK,YAAY,cAChB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC,EAClB,EAAE,EAAE,EAAE,IACH,IAAI,CACR,CAAC;wBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;wBACnC,OAAO,CAAC,YAAY,CAAC,CAAC;;;qBACvB,CAAC;qBACD,KAAK,CAAC,MAAM,CAAC,CAAC;aAClB;QACH,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AA5DD,gCA4DC"}
1
+ {"version":3,"file":"toolDbCrdtPut.js","sourceRoot":"","sources":["../src/toolDbCrdtPut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sBAAgF;AAGhF,oEAA8C;AAE9C,8DAAwC;AACxC,8DAAwC;AAExC;;;;;;GAMG;AACH,SAAwB,aAAa,CAEnC,GAAW,EACX,KAAqB,EACrB,cAAsB;IAJxB,iBA4DC;IAxDC,+BAAA,EAAA,sBAAsB;IAEtB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QACjC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,8FAA8F;YAC9F,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA6B,GAAK,CAAC,CAAC,CAAC;YACtD,OAAO;SACR;QAED,IAAI,CAAC,KAAI,CAAC,IAAI,EAAE;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAC5D,OAAO;SACR;QAED,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEvC,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAa,CAAC,CAAC,CAAC;QAE7D,IAAM,UAAU,GAAG,KAAG,WAAW,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAW,CAAC;QAEnE,OAAO;QACP,IAAA,qBAAW,EAAC,UAAU,EAAE,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC;aACtC,IAAI,CAAC,UAAC,EAAe;;gBAAb,IAAI,UAAA,EAAE,KAAK,WAAA;YAClB,IAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,IAAI,EAAE;gBACnB,iBAAiB;gBACjB,IAAA,kBAAQ,EAAC,IAAI,EAAE,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAuB,CAAC;qBAC5D,IAAI,CAAC,UAAO,SAAS;;;;wBAEd,IAAI,GAAqB;4BAC7B,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,OAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK,CAAC,CAAC,CAAC,GAAG;4BACxD,CAAC,EAAE,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,KAAI,EAAE;4BAC1B,CAAC,EAAE,KAAK;4BACR,CAAC,EAAE,SAAS;4BACZ,CAAC,EAAE,IAAI;4BACP,CAAC,EAAE,IAAA,kBAAQ,EAAC,SAAS,CAAC;4BACtB,CAAC,EAAE,WAAW;yBACf,CAAC;wBAEF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;yBACxC;wBAEK,YAAY,cAChB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,IAAA,aAAU,EAAC,EAAE,CAAC,EAClB,EAAE,EAAE,EAAE,IACH,IAAI,CACR,CAAC;wBACF,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;wBACrC,OAAO,CAAC,YAAY,CAAC,CAAC;;;qBACvB,CAAC;qBACD,KAAK,CAAC,MAAM,CAAC,CAAC;aAClB;QACH,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AA5DD,gCA4DC"}
package/dist/toolDbGet.js CHANGED
@@ -62,7 +62,7 @@ function toolDbGet(key, userNamespaced, timeoutMs) {
62
62
  }
63
63
  });
64
64
  // Do get
65
- _this.websockets.send({
65
+ _this.network.sendToAll({
66
66
  type: "get",
67
67
  to: [],
68
68
  key: finalKey,
@@ -1 +1 @@
1
- {"version":3,"file":"toolDbGet.js","sourceRoot":"","sources":["../src/toolDbGet.ts"],"names":[],"mappings":";;AAAA,sBAA+B;AAI/B;;;;;;GAMG;AACH,SAAwB,SAAS,CAE/B,GAAW,EACX,cAAsB,EACtB,SAAgB;IAJlB,iBAiEC;IA9DC,+BAAA,EAAA,sBAAsB;IACtB,0BAAA,EAAA,gBAAgB;IAEhB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,cAAc,IAAI,CAAA,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,MAAK,SAAS,EAAE;YACrD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,OAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;SAClC;QAED,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAE7B,IAAM,aAAa,GAAG,UAAU,CAAC;YAC/B,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;gBACjC,IAAI,IAAI,EAAE;oBACR,IAAI;wBACF,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;iBACF;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAC,GAAG;YAC5B,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;aAC7C;YAED,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QAEH,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;YACjC,IAAI,IAAI,EAAE;gBACR,IAAI;oBACF,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC/B,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;gBAAC,OAAO,CAAC,EAAE;oBACV,aAAa;iBACd;aACF;QACH,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,QAAQ;YACb,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAjED,4BAiEC"}
1
+ {"version":3,"file":"toolDbGet.js","sourceRoot":"","sources":["../src/toolDbGet.ts"],"names":[],"mappings":";;AAAA,sBAA+B;AAI/B;;;;;;GAMG;AACH,SAAwB,SAAS,CAE/B,GAAW,EACX,cAAsB,EACtB,SAAgB;IAJlB,iBAiEC;IA9DC,+BAAA,EAAA,sBAAsB;IACtB,0BAAA,EAAA,gBAAgB;IAEhB,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;;QACjC,IAAI,cAAc,IAAI,CAAA,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,MAAK,SAAS,EAAE;YACrD,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,OAAI,MAAA,KAAI,CAAC,IAAI,0CAAE,MAAM,UAAI,GAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACvE,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;SAClC;QAED,IAAM,KAAK,GAAG,IAAA,aAAU,EAAC,EAAE,CAAC,CAAC;QAE7B,IAAM,aAAa,GAAG,UAAU,CAAC;YAC/B,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;gBACjC,IAAI,IAAI,EAAE;oBACR,IAAI;wBACF,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBACpB;oBAAC,OAAO,CAAC,EAAE;wBACV,OAAO,CAAC,IAAI,CAAC,CAAC;qBACf;iBACF;qBAAM;oBACL,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAC,GAAG;YAC5B,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;aAC7C;YAED,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QAEH,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;YACjC,IAAI,IAAI,EAAE;gBACR,IAAI;oBACF,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC/B,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,CAAC;iBACd;gBAAC,OAAO,CAAC,EAAE;oBACV,aAAa;iBACd;aACF;QACH,CAAC,CAAC,CAAC;QAEH,SAAS;QACT,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,QAAQ;YACb,EAAE,EAAE,KAAK;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAjED,4BAiEC"}
@@ -0,0 +1,34 @@
1
+ import Libp2p from "libp2p";
2
+ import { MuxedStream } from "libp2p-interfaces/dist/src/stream-muxer/types";
3
+ import { ToolDb, ToolDbMessage } from ".";
4
+ export declare const PROTOCOL_VER = "/tooldb/1.2.0";
5
+ export default class toolDbLibP2p {
6
+ private options;
7
+ private _tooldb;
8
+ private _libp2p;
9
+ _clientSockets: Record<string, MuxedStream>;
10
+ get clientSockets(): Record<string, MuxedStream>;
11
+ get libp2p(): Libp2p | undefined;
12
+ private createLibP2p;
13
+ constructor(db: ToolDb);
14
+ close(clientId: string): void;
15
+ /**
16
+ * A simple handler to print incoming messages to the console
17
+ * @param {Object} params
18
+ * @param {Connection} params.connection The connection the stream belongs to
19
+ * @param {Stream} params.stream stream to the peer
20
+ */
21
+ toolDbProtocolHandler({ connection, stream, }: {
22
+ connection: any;
23
+ stream: any[];
24
+ }): Promise<void>;
25
+ /**
26
+ * Writes a given `message` over the given `stream`.
27
+ * @param {String} message The message to send over `stream`
28
+ * @param {Stream} stream A stream over the muxed Connection to our peer
29
+ */
30
+ toolDbProtocolSend(message: string, stream: MuxedStream): Promise<void>;
31
+ sendToAll(msg: ToolDbMessage, crossServerOnly?: boolean): void;
32
+ sendToClientId(clientId: string, msg: ToolDbMessage): void;
33
+ get tooldb(): ToolDb;
34
+ }