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 @@
1
+ {"version":3,"file":"handleCrdtGet copy.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtGet copy.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAClC,wBAAwE;AAExE,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAeC;IAVC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;QACjD,IAAM,KAAK,GAAG,mBAAS,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE;YAC3C,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,IAAA,iBAAa,EAAC,KAAK,CAAC;SACX,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,gCAeC"}
@@ -0,0 +1,2 @@
1
+ import { CrdtGetMessage, ToolDb } from "..";
2
+ export default function handleCrdtGet(this: ToolDb, message: CrdtGetMessage, remotePeerId: string): void;
@@ -0,0 +1,22 @@
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 automerge_1 = __importDefault(require("automerge"));
7
+ var __1 = require("..");
8
+ function handleCrdtGet(message, remotePeerId) {
9
+ var _this = this;
10
+ this.loadCrdtDocument(message.key).then(function (currentDoc) {
11
+ var saved = automerge_1.default.save(currentDoc || automerge_1.default.init());
12
+ _this.network.sendToClientId(remotePeerId, {
13
+ type: "crdt",
14
+ id: message.id,
15
+ key: message.key,
16
+ to: [],
17
+ doc: (0, __1.uint8ToBase64)(saved),
18
+ });
19
+ });
20
+ }
21
+ exports.default = handleCrdtGet;
22
+ //# sourceMappingURL=handleCrdtGet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCrdtGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtGet.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAClC,wBAAwE;AAExE,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAeC;IAVC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;QACjD,IAAM,KAAK,GAAG,mBAAS,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;YACxC,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,IAAA,iBAAa,EAAC,KAAK,CAAC;SACX,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,gCAeC"}
@@ -0,0 +1,2 @@
1
+ import { CrdtPutMessage, ToolDb } from "..";
2
+ export default function handleCrdtPut(this: ToolDb, message: CrdtPutMessage, remotePeerId: string): void;
@@ -0,0 +1,83 @@
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 automerge_1 = __importDefault(require("automerge"));
7
+ var __1 = require("..");
8
+ var toolDbVerificationWrapper_1 = __importDefault(require("../toolDbVerificationWrapper"));
9
+ function handleCrdtPut(message, remotePeerId) {
10
+ var _this = this;
11
+ // key = aggregated, final value
12
+ // key.crdt = automerge doc with changes
13
+ // const writeStart = new Date().getTime();
14
+ toolDbVerificationWrapper_1.default.call(this, message).then(function (value) {
15
+ // console.log("CRDT Verification wrapper result: ", value);
16
+ if (value === __1.VerifyResult.Verified) {
17
+ var key_1 = message.k;
18
+ var data = [];
19
+ try {
20
+ data = JSON.parse(message.v);
21
+ }
22
+ catch (e) {
23
+ //
24
+ }
25
+ var changes_1 = data.map(__1.base64ToBinaryChange);
26
+ _this.loadCrdtDocument(key_1).then(function (currentDoc) {
27
+ // if (currentDoc) {
28
+ // console.log(
29
+ // "loaded",
30
+ // key,
31
+ // currentDoc,
32
+ // Automerge.getHistory(currentDoc)
33
+ // );
34
+ // }
35
+ var newDoc = automerge_1.default.init();
36
+ try {
37
+ newDoc = automerge_1.default.applyChanges(currentDoc || automerge_1.default.init(), changes_1)[0];
38
+ }
39
+ catch (e) {
40
+ try {
41
+ newDoc = automerge_1.default.applyChanges(automerge_1.default.init(), changes_1)[0];
42
+ }
43
+ catch (ee) {
44
+ if (_this.options.debug) {
45
+ console.log(ee);
46
+ }
47
+ }
48
+ }
49
+ // if (newDoc) {
50
+ // console.log(
51
+ // "new document changes:",
52
+ // Automerge.getHistory(newDoc)
53
+ // );
54
+ // }
55
+ // persist
56
+ _this.documents[key_1] = newDoc;
57
+ // OOHH THE TYPECAST PAIN
58
+ // This works but the hacking is awful, we need a better solution for storing the crdts
59
+ var savedDoc = automerge_1.default.save(newDoc);
60
+ _this.store.put(key_1 + ".crdt", savedDoc, function (err, data) {
61
+ // const writeEnd = new Date().getTime();
62
+ // console.log("CRDT write: ", (writeEnd - writeStart) / 1000);
63
+ });
64
+ var crdtMessage = {
65
+ type: "crdt",
66
+ key: key_1,
67
+ id: message.id,
68
+ to: [],
69
+ doc: (0, __1.uint8ToBase64)(savedDoc),
70
+ };
71
+ _this.triggerKeyListener(key_1, crdtMessage);
72
+ // relay to other servers
73
+ // !!!
74
+ _this.websockets.sendToAll(crdtMessage, true);
75
+ });
76
+ }
77
+ else {
78
+ console.log("unverified message", value, message);
79
+ }
80
+ });
81
+ }
82
+ exports.default = handleCrdtPut;
83
+ //# sourceMappingURL=handleCrdtPut%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCrdtPut copy.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtPut copy.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAClC,wBAOY;AACZ,2FAAqE;AAErE,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAiFC;IA5EC,gCAAgC;IAChC,wCAAwC;IACxC,2CAA2C;IAC3C,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;QACvD,4DAA4D;QAC5D,IAAI,KAAK,KAAK,gBAAY,CAAC,QAAQ,EAAE;YACnC,IAAM,KAAG,GAAG,OAAO,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,EAAE;aACH;YACD,IAAM,SAAO,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAoB,CAAC,CAAC;YAE/C,KAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBACzC,oBAAoB;gBACpB,iBAAiB;gBACjB,gBAAgB;gBAChB,WAAW;gBACX,kBAAkB;gBAClB,uCAAuC;gBACvC,OAAO;gBACP,IAAI;gBAEJ,IAAI,MAAM,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI;oBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAC/B,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,EAC9B,SAAO,CACR,GAHM,CAGL;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI;wBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAAC,mBAAS,CAAC,IAAI,EAAE,EAAE,SAAO,CAAC,GAArD,CAAsD;qBAC9D;oBAAC,OAAO,EAAE,EAAE;wBACX,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;yBACjB;qBACF;iBACF;gBAED,gBAAgB;gBAChB,iBAAiB;gBACjB,+BAA+B;gBAC/B,mCAAmC;gBACnC,OAAO;gBACP,IAAI;gBAEJ,UAAU;gBACV,KAAI,CAAC,SAAS,CAAC,KAAG,CAAC,GAAG,MAAM,CAAC;gBAE7B,yBAAyB;gBACzB,uFAAuF;gBACvF,IAAM,QAAQ,GAAG,mBAAS,CAAC,IAAI,CAAC,MAAM,CAAQ,CAAC;gBAC/C,KAAI,CAAC,KAAK,CAAC,GAAG,CAAI,KAAG,UAAO,EAAE,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;oBAChD,yCAAyC;oBACzC,+DAA+D;gBACjE,CAAC,CAAC,CAAC;gBAEH,IAAM,WAAW,GAAgB;oBAC/B,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,KAAG;oBACR,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,IAAA,iBAAa,EAAC,QAAQ,CAAC;iBAC7B,CAAC;gBACF,KAAI,CAAC,kBAAkB,CAAC,KAAG,EAAE,WAAW,CAAC,CAAC;gBAE1C,yBAAyB;gBACzB,MAAM;gBACN,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACnD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAjFD,gCAiFC"}
@@ -0,0 +1,2 @@
1
+ import { CrdtPutMessage, ToolDb } from "..";
2
+ export default function handleCrdtPut(this: ToolDb, message: CrdtPutMessage, remotePeerId: string): void;
@@ -0,0 +1,83 @@
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 automerge_1 = __importDefault(require("automerge"));
7
+ var __1 = require("..");
8
+ var toolDbVerificationWrapper_1 = __importDefault(require("../toolDbVerificationWrapper"));
9
+ function handleCrdtPut(message, remotePeerId) {
10
+ var _this = this;
11
+ // key = aggregated, final value
12
+ // key.crdt = automerge doc with changes
13
+ // const writeStart = new Date().getTime();
14
+ toolDbVerificationWrapper_1.default.call(this, message).then(function (value) {
15
+ // console.log("CRDT Verification wrapper result: ", value);
16
+ if (value === __1.VerifyResult.Verified) {
17
+ var key_1 = message.k;
18
+ var data = [];
19
+ try {
20
+ data = JSON.parse(message.v);
21
+ }
22
+ catch (e) {
23
+ //
24
+ }
25
+ var changes_1 = data.map(__1.base64ToBinaryChange);
26
+ _this.loadCrdtDocument(key_1).then(function (currentDoc) {
27
+ // if (currentDoc) {
28
+ // console.log(
29
+ // "loaded",
30
+ // key,
31
+ // currentDoc,
32
+ // Automerge.getHistory(currentDoc)
33
+ // );
34
+ // }
35
+ var newDoc = automerge_1.default.init();
36
+ try {
37
+ newDoc = automerge_1.default.applyChanges(currentDoc || automerge_1.default.init(), changes_1)[0];
38
+ }
39
+ catch (e) {
40
+ try {
41
+ newDoc = automerge_1.default.applyChanges(automerge_1.default.init(), changes_1)[0];
42
+ }
43
+ catch (ee) {
44
+ if (_this.options.debug) {
45
+ console.log(ee);
46
+ }
47
+ }
48
+ }
49
+ // if (newDoc) {
50
+ // console.log(
51
+ // "new document changes:",
52
+ // Automerge.getHistory(newDoc)
53
+ // );
54
+ // }
55
+ // persist
56
+ _this.documents[key_1] = newDoc;
57
+ // OOHH THE TYPECAST PAIN
58
+ // This works but the hacking is awful, we need a better solution for storing the crdts
59
+ var savedDoc = automerge_1.default.save(newDoc);
60
+ _this.store.put(key_1 + ".crdt", savedDoc, function (err, data) {
61
+ // const writeEnd = new Date().getTime();
62
+ // console.log("CRDT write: ", (writeEnd - writeStart) / 1000);
63
+ });
64
+ var crdtMessage = {
65
+ type: "crdt",
66
+ key: key_1,
67
+ id: message.id,
68
+ to: [],
69
+ doc: (0, __1.uint8ToBase64)(savedDoc),
70
+ };
71
+ _this.triggerKeyListener(key_1, crdtMessage);
72
+ // relay to other servers
73
+ // !!!
74
+ _this.network.sendToAll(crdtMessage, true);
75
+ });
76
+ }
77
+ else {
78
+ console.log("unverified message", value, message);
79
+ }
80
+ });
81
+ }
82
+ exports.default = handleCrdtPut;
83
+ //# sourceMappingURL=handleCrdtPut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleCrdtPut.js","sourceRoot":"","sources":["../../src/messageHandlers/handleCrdtPut.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAClC,wBAOY;AACZ,2FAAqE;AAErE,SAAwB,aAAa,CAEnC,OAAuB,EACvB,YAAoB;IAHtB,iBAiFC;IA5EC,gCAAgC;IAChC,wCAAwC;IACxC,2CAA2C;IAC3C,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;QACvD,4DAA4D;QAC5D,IAAI,KAAK,KAAK,gBAAY,CAAC,QAAQ,EAAE;YACnC,IAAM,KAAG,GAAG,OAAO,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,GAAa,EAAE,CAAC;YACxB,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,EAAE;aACH;YACD,IAAM,SAAO,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAoB,CAAC,CAAC;YAE/C,KAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,IAAI,CAAC,UAAC,UAAU;gBACzC,oBAAoB;gBACpB,iBAAiB;gBACjB,gBAAgB;gBAChB,WAAW;gBACX,kBAAkB;gBAClB,uCAAuC;gBACvC,OAAO;gBACP,IAAI;gBAEJ,IAAI,MAAM,GAAG,mBAAS,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI;oBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAC/B,UAAU,IAAI,mBAAS,CAAC,IAAI,EAAE,EAC9B,SAAO,CACR,GAHM,CAGL;iBACH;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI;wBACD,MAAM,GAAI,mBAAS,CAAC,YAAY,CAAC,mBAAS,CAAC,IAAI,EAAE,EAAE,SAAO,CAAC,GAArD,CAAsD;qBAC9D;oBAAC,OAAO,EAAE,EAAE;wBACX,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;4BACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;yBACjB;qBACF;iBACF;gBAED,gBAAgB;gBAChB,iBAAiB;gBACjB,+BAA+B;gBAC/B,mCAAmC;gBACnC,OAAO;gBACP,IAAI;gBAEJ,UAAU;gBACV,KAAI,CAAC,SAAS,CAAC,KAAG,CAAC,GAAG,MAAM,CAAC;gBAE7B,yBAAyB;gBACzB,uFAAuF;gBACvF,IAAM,QAAQ,GAAG,mBAAS,CAAC,IAAI,CAAC,MAAM,CAAQ,CAAC;gBAC/C,KAAI,CAAC,KAAK,CAAC,GAAG,CAAI,KAAG,UAAO,EAAE,QAAQ,EAAE,UAAC,GAAG,EAAE,IAAI;oBAChD,yCAAyC;oBACzC,+DAA+D;gBACjE,CAAC,CAAC,CAAC;gBAEH,IAAM,WAAW,GAAgB;oBAC/B,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,KAAG;oBACR,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,EAAE;oBACN,GAAG,EAAE,IAAA,iBAAa,EAAC,QAAQ,CAAC;iBAC7B,CAAC;gBACF,KAAI,CAAC,kBAAkB,CAAC,KAAG,EAAE,WAAW,CAAC,CAAC;gBAE1C,yBAAyB;gBACzB,MAAM;gBACN,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACnD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAjFD,gCAiFC"}
@@ -0,0 +1,2 @@
1
+ import { GetMessage, ToolDb } from "..";
2
+ export default function handleGet(this: ToolDb, message: GetMessage, remotePeerId: string): void;
@@ -0,0 +1,37 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ function handleGet(message, remotePeerId) {
15
+ var _this = this;
16
+ this.store.get(message.key, function (err, data) {
17
+ if (data) {
18
+ try {
19
+ // Use the id of the get so the other client knows we are replying
20
+ var oldData = __assign(__assign({ type: "put" }, JSON.parse(data)), { id: message.id });
21
+ _this.websockets.sendToClientId(remotePeerId, oldData);
22
+ }
23
+ catch (e) {
24
+ // socket.send(data);
25
+ // do nothing
26
+ }
27
+ }
28
+ else {
29
+ if (_this.options.debug) {
30
+ console.log("Local key not found, relay", JSON.stringify(message));
31
+ }
32
+ _this.websockets.sendToAll(message);
33
+ }
34
+ });
35
+ }
36
+ exports.default = handleGet;
37
+ //# sourceMappingURL=handleGet%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGet copy.js","sourceRoot":"","sources":["../../src/messageHandlers/handleGet copy.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAEA,SAAwB,SAAS,CAE/B,OAAmB,EACnB,YAAoB;IAHtB,iBA0BC;IArBC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,kEAAkE;gBAClE,IAAM,OAAO,GAAG,oBACd,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KACnB,EAAE,EAAE,OAAO,CAAC,EAAE,GACD,CAAC;gBAChB,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACvD;YAAC,OAAO,CAAC,EAAE;gBACV,qBAAqB;gBACrB,aAAa;aACd;SACF;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACpC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA1BD,4BA0BC"}
@@ -0,0 +1,2 @@
1
+ import { GetMessage, ToolDb } from "..";
2
+ export default function handleGet(this: ToolDb, message: GetMessage, remotePeerId: string): void;
@@ -0,0 +1,37 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ function handleGet(message, remotePeerId) {
15
+ var _this = this;
16
+ this.store.get(message.key, function (err, data) {
17
+ if (data) {
18
+ try {
19
+ // Use the id of the get so the other client knows we are replying
20
+ var oldData = __assign(__assign({ type: "put" }, JSON.parse(data)), { id: message.id });
21
+ _this.network.sendToClientId(remotePeerId, oldData);
22
+ }
23
+ catch (e) {
24
+ // socket.send(data);
25
+ // do nothing
26
+ }
27
+ }
28
+ else {
29
+ if (_this.options.debug) {
30
+ console.log("Local key not found, relay", JSON.stringify(message));
31
+ }
32
+ _this.network.sendToAll(message, false, true);
33
+ }
34
+ });
35
+ }
36
+ exports.default = handleGet;
37
+ //# sourceMappingURL=handleGet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGet.js","sourceRoot":"","sources":["../../src/messageHandlers/handleGet.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAEA,SAAwB,SAAS,CAE/B,OAAmB,EACnB,YAAoB;IAHtB,iBA0BC;IArBC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAC,GAAG,EAAE,IAAI;QACpC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,kEAAkE;gBAClE,IAAM,OAAO,GAAG,oBACd,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KACnB,EAAE,EAAE,OAAO,CAAC,EAAE,GACD,CAAC;gBAChB,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aACpD;YAAC,OAAO,CAAC,EAAE;gBACV,qBAAqB;gBACrB,aAAa;aACd;SACF;aAAM;YACL,IAAI,KAAI,CAAC,OAAO,CAAC,KAAK,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACpE;YACD,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA1BD,4BA0BC"}
@@ -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=handleGetServers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleGetServers.js","sourceRoot":"","sources":["../../src/messageHandlers/handleGetServers.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 { JoinMessage, ToolDb } from "..";
2
+ export default function handleJoin(this: ToolDb, message: JoinMessage, remotePeerId: string): void;
@@ -0,0 +1,37 @@
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 handleJoin(message, remotePeerId) {
8
+ var _this = this;
9
+ (0, verifyPeer_1.default)(message.peer).then(function (verified) {
10
+ // Add this peer to our list of peers
11
+ if (verified) {
12
+ var filteredPeers = _this.peers.filter(function (p) { return p.pubkey !== message.peer.pubkey; });
13
+ if (filteredPeers.length === 0 &&
14
+ message.peer.host &&
15
+ message.peer.port) {
16
+ // Add this peer to the list
17
+ _this.peers.push(message.peer);
18
+ // Reply with our servers list
19
+ _this.network.sendToClientId(remotePeerId, {
20
+ type: "servers",
21
+ servers: _this.peers.filter(function (p) { return p.topic === message.peer.topic; }),
22
+ topic: message.peer.topic,
23
+ id: message.id,
24
+ });
25
+ // If we are a server ourselves we broadcast this message
26
+ if (_this.options.server) {
27
+ _this.network.sendToAll(message, true);
28
+ }
29
+ }
30
+ }
31
+ else {
32
+ console.warn("Blocked a remote peer from joining; ", message);
33
+ }
34
+ });
35
+ }
36
+ exports.default = handleJoin;
37
+ //# sourceMappingURL=handleJoin%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleJoin copy.js","sourceRoot":"","sources":["../../src/messageHandlers/handleJoin copy.ts"],"names":[],"mappings":";;;;;AAUA,mEAA6C;AAE7C,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAHtB,iBAmCC;IA9BC,IAAA,oBAAU,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;QACrC,qCAAqC;QACrC,IAAI,QAAQ,EAAE;YACZ,IAAM,aAAa,GAAG,KAAI,CAAC,KAAK,CAAC,MAAM,CACrC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,EAAhC,CAAgC,CACxC,CAAC;YACF,IACE,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,IAAI;gBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB;gBACA,4BAA4B;gBAC5B,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,8BAA8B;gBAC9B,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;oBACxC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,EAA9B,CAA8B,CAAC;oBACjE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;oBACzB,EAAE,EAAE,OAAO,CAAC,EAAE;iBACG,CAAC,CAAC;gBAErB,yDAAyD;gBACzD,IAAI,KAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBACvB,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;iBACvC;aACF;SACF;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC;SAC/D;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAnCD,6BAmCC"}
@@ -0,0 +1,2 @@
1
+ import { JoinMessage, ToolDb } from "..";
2
+ export default function handleJoin(this: ToolDb, message: JoinMessage, remotePeerId: string): void;
@@ -0,0 +1,36 @@
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 handleJoin(message, remotePeerId) {
8
+ var _this = this;
9
+ (0, verifyPeer_1.default)(message.peer).then(function (verified) {
10
+ // Add this peer to our list of peers
11
+ if (verified) {
12
+ var filteredPeers = _this.peers.filter(function (p) { return p.pubkey !== message.peer.pubkey; });
13
+ if (filteredPeers.length === 0 &&
14
+ message.peer.host &&
15
+ message.peer.port) {
16
+ // Add this peer to the list
17
+ _this.peers.push(message.peer);
18
+ // Reply with our servers list
19
+ _this.network.sendToClientId(remotePeerId, {
20
+ type: "servers",
21
+ servers: _this.peers.filter(function (p) { return p.topic === message.peer.topic; }),
22
+ id: message.id,
23
+ });
24
+ // If we are a server ourselves we broadcast this message
25
+ if (_this.options.server) {
26
+ _this.network.sendToAll(message, true);
27
+ }
28
+ }
29
+ }
30
+ else {
31
+ console.warn("Blocked a remote peer from joining; ", message);
32
+ }
33
+ });
34
+ }
35
+ exports.default = handleJoin;
36
+ //# sourceMappingURL=handleJoin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleJoin.js","sourceRoot":"","sources":["../../src/messageHandlers/handleJoin.ts"],"names":[],"mappings":";;;;;AAUA,mEAA6C;AAE7C,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAHtB,iBAkCC;IA7BC,IAAA,oBAAU,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;QACrC,qCAAqC;QACrC,IAAI,QAAQ,EAAE;YACZ,IAAM,aAAa,GAAG,KAAI,CAAC,KAAK,CAAC,MAAM,CACrC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,EAAhC,CAAgC,CACxC,CAAC;YACF,IACE,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,IAAI;gBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,EACjB;gBACA,4BAA4B;gBAC5B,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,8BAA8B;gBAC9B,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;oBACxC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,EAA9B,CAA8B,CAAC;oBACjE,EAAE,EAAE,OAAO,CAAC,EAAE;iBACG,CAAC,CAAC;gBAErB,yDAAyD;gBACzD,IAAI,KAAI,CAAC,OAAO,CAAC,MAAM,EAAE;oBACvB,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;iBACvC;aACF;SACF;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC;SAC/D;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAlCD,6BAkCC"}
@@ -0,0 +1,2 @@
1
+ import { ToolDb, ToolDbMessage } from "..";
2
+ export default function handlePing(this: ToolDb, message: ToolDbMessage, remotePeerId: string): void;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function handlePing(message, remotePeerId) {
4
+ this.websockets.sendToClientId(remotePeerId, {
5
+ type: "pong",
6
+ isServer: this.options.server,
7
+ clientId: this.options.id,
8
+ to: [],
9
+ id: message.id,
10
+ });
11
+ }
12
+ exports.default = handlePing;
13
+ //# sourceMappingURL=handlePing%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlePing copy.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePing copy.ts"],"names":[],"mappings":";;AAEA,SAAwB,UAAU,CAEhC,OAAsB,EACtB,YAAoB;IAEpB,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE;QAC3C,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;QAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;QACzB,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,OAAO,CAAC,EAAE;KACA,CAAC,CAAC;AACpB,CAAC;AAZD,6BAYC"}
@@ -0,0 +1,2 @@
1
+ import { PingMessage, ToolDb } from "..";
2
+ export default function handlePing(this: ToolDb, message: PingMessage, remotePeerId: string): void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var __1 = require("..");
4
+ function handlePing(message, remotePeerId) {
5
+ this.network.sendToClientId(remotePeerId, {
6
+ type: "pong",
7
+ isServer: this.options.server,
8
+ clientId: this.options.id,
9
+ to: [],
10
+ id: message.id,
11
+ });
12
+ this.network.sendToClientId(remotePeerId, {
13
+ type: "servers",
14
+ servers: this.peers,
15
+ to: [],
16
+ id: (0, __1.textRandom)(10),
17
+ });
18
+ }
19
+ exports.default = handlePing;
20
+ //# sourceMappingURL=handlePing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlePing.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePing.ts"],"names":[],"mappings":";;AAAA,wBAMY;AAEZ,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAEpB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;QACxC,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;QAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;QACzB,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,OAAO,CAAC,EAAE;KACA,CAAC,CAAC;IAElB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;QACxC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI,CAAC,KAAK;QACnB,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,IAAA,cAAU,EAAC,EAAE,CAAC;KACD,CAAC,CAAC;AACvB,CAAC;AAnBD,6BAmBC"}
@@ -0,0 +1,2 @@
1
+ import { PongMessage, ToolDb } from "..";
2
+ export default function handlePong(this: ToolDb, message: PongMessage, remotePeerId: string): void;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var __1 = require("..");
4
+ function handlePong(message, remotePeerId) {
5
+ var _this = this;
6
+ this.onConnect();
7
+ if (this.options.server && this.options.privateKey) {
8
+ var timestamp_1 = new Date().getTime();
9
+ // Should be an exact match of the verifyPeer function!
10
+ var dataToSign = this.options.topic + "-" + timestamp_1 + "-" + this.options.host + ":" + this.options.port;
11
+ (0, __1.signData)(dataToSign, this.options.privateKey).then(function (signature) {
12
+ var meAsPeer = {
13
+ topic: _this.options.topic,
14
+ timestamp: timestamp_1,
15
+ host: _this.options.host,
16
+ port: _this.options.port,
17
+ pubkey: _this.options.id,
18
+ sig: signature,
19
+ };
20
+ _this.network.sendToClientId(remotePeerId, {
21
+ type: "join",
22
+ peer: meAsPeer,
23
+ to: [],
24
+ id: (0, __1.textRandom)(10),
25
+ });
26
+ });
27
+ }
28
+ }
29
+ exports.default = handlePong;
30
+ //# sourceMappingURL=handlePong.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlePong.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePong.ts"],"names":[],"mappings":";;AAAA,wBAA4E;AAG5E,SAAwB,UAAU,CAEhC,OAAoB,EACpB,YAAoB;IAHtB,iBA+BC;IA1BC,IAAI,CAAC,SAAS,EAAE,CAAC;IAEjB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;QAClD,IAAM,WAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEvC,uDAAuD;QACvD,IAAM,UAAU,GAAM,IAAI,CAAC,OAAO,CAAC,KAAK,SAAI,WAAS,SAAI,IAAI,CAAC,OAAO,CAAC,IAAI,SAAI,IAAI,CAAC,OAAO,CAAC,IAAM,CAAC;QAElG,IAAA,YAAQ,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS;YAC3D,IAAM,QAAQ,GAAS;gBACrB,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,SAAS,EAAE,WAAS;gBACpB,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,EAAE;gBACvB,GAAG,EAAE,SAAS;aACf,CAAC;YAEF,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;gBACxC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,EAAE;gBACN,EAAE,EAAE,IAAA,cAAU,EAAC,EAAE,CAAC;aACJ,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AA/BD,6BA+BC"}
@@ -0,0 +1,2 @@
1
+ import { PutMessage, ToolDb } from "..";
2
+ export default function handlePut(this: ToolDb, message: PutMessage, remotePeerId: string): void;
@@ -0,0 +1,61 @@
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 __1 = require("..");
18
+ var toolDbVerificationWrapper_1 = __importDefault(require("../toolDbVerificationWrapper"));
19
+ function handlePut(message, remotePeerId) {
20
+ var _this = this;
21
+ toolDbVerificationWrapper_1.default.call(this, message).then(function (value) {
22
+ // console.log("Verification wrapper result: ", value, message.k);
23
+ if (value === __1.VerifyResult.Verified) {
24
+ // relay to other servers !!!
25
+ _this.network.sendToAll(message, true);
26
+ _this.store.get(message.k, function (err, oldData) {
27
+ if (oldData) {
28
+ var parsedOldData = __assign({ type: "put" }, JSON.parse(oldData));
29
+ if (parsedOldData.t < message.t) {
30
+ var key = message.k;
31
+ _this.triggerKeyListener(key, message);
32
+ _this.store.put(message.k, JSON.stringify(message), function (err, data) {
33
+ //
34
+ });
35
+ }
36
+ else {
37
+ var key = message.k;
38
+ _this.triggerKeyListener(key, parsedOldData);
39
+ }
40
+ // } else if (this.options.debug) {
41
+ // console.log(
42
+ // `${message.k} has old data, but its newer. old ${parsedOldData.t} < new ${message.t}`
43
+ // );
44
+ // }
45
+ }
46
+ else {
47
+ var key = message.k;
48
+ _this.triggerKeyListener(key, message);
49
+ _this.store.put(message.k, JSON.stringify(message), function (err, data) {
50
+ //
51
+ });
52
+ }
53
+ });
54
+ }
55
+ else {
56
+ console.warn("unverified message: ", value, message);
57
+ }
58
+ });
59
+ }
60
+ exports.default = handlePut;
61
+ //# sourceMappingURL=handlePut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlePut.js","sourceRoot":"","sources":["../../src/messageHandlers/handlePut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wBAAsD;AACtD,2FAAqE;AAErE,SAAwB,SAAS,CAE/B,OAAmB,EACnB,YAAoB;IAHtB,iBA4CC;IAvCC,mCAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,KAAK;QACvD,kEAAkE;QAClE,IAAI,KAAK,KAAK,gBAAY,CAAC,QAAQ,EAAE;YACnC,6BAA6B;YAC7B,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,UAAC,GAAG,EAAE,OAAgB;gBAC9C,IAAI,OAAO,EAAE;oBACX,IAAM,aAAa,cACjB,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CACvB,CAAC;oBACF,IAAI,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE;wBAC/B,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;wBACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;wBACtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,UAAC,GAAG,EAAE,IAAI;4BAC3D,EAAE;wBACJ,CAAC,CAAC,CAAC;qBACJ;yBAAM;wBACL,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;wBACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;qBAC7C;oBACD,mCAAmC;oBACnC,iBAAiB;oBACjB,4FAA4F;oBAC5F,OAAO;oBACP,IAAI;iBACL;qBAAM;oBACL,IAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;oBACtB,KAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;oBACtC,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,UAAC,GAAG,EAAE,IAAI;wBAC3D,EAAE;oBACJ,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACtD;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AA5CD,4BA4CC"}
@@ -0,0 +1,2 @@
1
+ import { QueryMessage, ToolDb } from "..";
2
+ export default function handleQuery(this: ToolDb, message: QueryMessage, remotePeerId: string): void;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function handleQuery(message, remotePeerId) {
4
+ var _this = this;
5
+ this.store.query(message.key).then(function (keys) {
6
+ _this.network.sendToClientId(remotePeerId, {
7
+ type: "queryAck",
8
+ id: message.id,
9
+ to: [],
10
+ keys: keys,
11
+ });
12
+ });
13
+ if (this.options.server) {
14
+ this.network.sendToAll(message, true, true);
15
+ }
16
+ }
17
+ exports.default = handleQuery;
18
+ //# sourceMappingURL=handleQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleQuery.js","sourceRoot":"","sources":["../../src/messageHandlers/handleQuery.ts"],"names":[],"mappings":";;AAEA,SAAwB,WAAW,CAEjC,OAAqB,EACrB,YAAoB;IAHtB,iBAiBC;IAZC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;QACtC,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;YACxC,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,EAAE,EAAE,EAAE;YACN,IAAI,MAAA;SACc,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACvB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7C;AACH,CAAC;AAjBD,8BAiBC"}