tool-db 1.2.0 → 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.
- package/custom-test-env.js +18 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +21 -1
- package/dist/index.js.map +1 -1
- package/dist/libp2p/create.d.ts +2 -0
- package/dist/libp2p/create.js +131 -0
- package/dist/libp2p/create.js.map +1 -0
- package/dist/libp2p/createLibP2p.d.ts +3 -0
- package/dist/libp2p/createLibP2p.js +130 -0
- package/dist/libp2p/createLibP2p.js.map +1 -0
- package/dist/libp2p/tooldb-protocol.d.ts +19 -0
- package/dist/libp2p/tooldb-protocol.js +156 -0
- package/dist/libp2p/tooldb-protocol.js.map +1 -0
- package/dist/messageHandlers/handleCrdt copy.d.ts +2 -0
- package/dist/messageHandlers/handleCrdt copy.js +15 -0
- package/dist/messageHandlers/handleCrdt copy.js.map +1 -0
- package/dist/messageHandlers/handleCrdt.d.ts +2 -0
- package/dist/messageHandlers/handleCrdt.js +15 -0
- package/dist/messageHandlers/handleCrdt.js.map +1 -0
- package/dist/messageHandlers/handleCrdtGet copy.d.ts +2 -0
- package/dist/messageHandlers/handleCrdtGet copy.js +22 -0
- package/dist/messageHandlers/handleCrdtGet copy.js.map +1 -0
- package/dist/messageHandlers/handleCrdtGet.d.ts +2 -0
- package/dist/messageHandlers/handleCrdtGet.js +22 -0
- package/dist/messageHandlers/handleCrdtGet.js.map +1 -0
- package/dist/messageHandlers/handleCrdtPut copy.d.ts +2 -0
- package/dist/messageHandlers/handleCrdtPut copy.js +83 -0
- package/dist/messageHandlers/handleCrdtPut copy.js.map +1 -0
- package/dist/messageHandlers/handleCrdtPut.d.ts +2 -0
- package/dist/messageHandlers/handleCrdtPut.js +83 -0
- package/dist/messageHandlers/handleCrdtPut.js.map +1 -0
- package/dist/messageHandlers/handleGet copy.d.ts +2 -0
- package/dist/messageHandlers/handleGet copy.js +37 -0
- package/dist/messageHandlers/handleGet copy.js.map +1 -0
- package/dist/messageHandlers/handleGet.d.ts +2 -0
- package/dist/messageHandlers/handleGet.js +37 -0
- package/dist/messageHandlers/handleGet.js.map +1 -0
- package/dist/messageHandlers/handleGetServers.d.ts +2 -0
- package/dist/messageHandlers/handleGetServers.js +23 -0
- package/dist/messageHandlers/handleGetServers.js.map +1 -0
- package/dist/messageHandlers/handleJoin copy.d.ts +2 -0
- package/dist/messageHandlers/handleJoin copy.js +37 -0
- package/dist/messageHandlers/handleJoin copy.js.map +1 -0
- package/dist/messageHandlers/handleJoin.d.ts +2 -0
- package/dist/messageHandlers/handleJoin.js +36 -0
- package/dist/messageHandlers/handleJoin.js.map +1 -0
- package/dist/messageHandlers/handlePing copy.d.ts +2 -0
- package/dist/messageHandlers/handlePing copy.js +13 -0
- package/dist/messageHandlers/handlePing copy.js.map +1 -0
- package/dist/messageHandlers/handlePing.d.ts +2 -0
- package/dist/messageHandlers/handlePing.js +20 -0
- package/dist/messageHandlers/handlePing.js.map +1 -0
- package/dist/messageHandlers/handlePong.d.ts +2 -0
- package/dist/messageHandlers/handlePong.js +30 -0
- package/dist/messageHandlers/handlePong.js.map +1 -0
- package/dist/messageHandlers/handlePut.d.ts +2 -0
- package/dist/messageHandlers/handlePut.js +61 -0
- package/dist/messageHandlers/handlePut.js.map +1 -0
- package/dist/messageHandlers/handleQuery.d.ts +2 -0
- package/dist/messageHandlers/handleQuery.js +18 -0
- package/dist/messageHandlers/handleQuery.js.map +1 -0
- package/dist/messageHandlers/handleServers copy.d.ts +2 -0
- package/dist/messageHandlers/handleServers copy.js +23 -0
- package/dist/messageHandlers/handleServers copy.js.map +1 -0
- package/dist/messageHandlers/handleServers.d.ts +2 -0
- package/dist/messageHandlers/handleServers.js +23 -0
- package/dist/messageHandlers/handleServers.js.map +1 -0
- package/dist/messageHandlers/handleSubscribe.d.ts +2 -0
- package/dist/messageHandlers/handleSubscribe.js +62 -0
- package/dist/messageHandlers/handleSubscribe.js.map +1 -0
- package/dist/toolDbClientOnMessage.d.ts +2 -2
- package/dist/toolDbClientOnMessage.js +59 -253
- package/dist/toolDbClientOnMessage.js.map +1 -1
- package/dist/toolDbCrdtPut.js +1 -1
- package/dist/toolDbCrdtPut.js.map +1 -1
- package/dist/toolDbGet.js +1 -1
- package/dist/toolDbGet.js.map +1 -1
- package/dist/toolDbLibP2p.d.ts +34 -0
- package/dist/toolDbLibP2p.js +375 -0
- package/dist/toolDbLibP2p.js.map +1 -0
- package/dist/toolDbNetwork.d.ts +33 -0
- package/dist/toolDbNetwork.js +277 -0
- package/dist/toolDbNetwork.js.map +1 -0
- package/dist/toolDbPut.js +1 -1
- package/dist/toolDbPut.js.map +1 -1
- package/dist/toolDbQueryKeys.js +1 -1
- package/dist/toolDbQueryKeys.js.map +1 -1
- package/dist/toolDbSignUp.js +1 -1
- package/dist/toolDbSignUp.js.map +1 -1
- package/dist/toolDbSubscribe.js +1 -1
- package/dist/toolDbSubscribe.js.map +1 -1
- package/dist/toolDbVerificationWrapper.js +1 -1
- package/dist/toolDbVerificationWrapper.js.map +1 -1
- package/dist/tooldb.d.ts +26 -10
- package/dist/tooldb.js +63 -7
- package/dist/tooldb.js.map +1 -1
- package/dist/types/message.d.ts +11 -2
- package/dist/types/message.js.map +1 -1
- package/dist/types/tooldb.d.ts +34 -1
- package/dist/types/tooldb.js +19 -0
- package/dist/types/tooldb.js.map +1 -1
- package/dist/utils/indexedb.d.ts +2 -6
- package/dist/utils/indexedb.js +13 -3
- package/dist/utils/indexedb.js.map +1 -1
- package/dist/utils/leveldb.d.ts +2 -6
- package/dist/utils/leveldb.js +12 -2
- package/dist/utils/leveldb.js.map +1 -1
- package/dist/utils/verifyPeer.d.ts +2 -0
- package/dist/utils/verifyPeer.js +13 -0
- package/dist/utils/verifyPeer.js.map +1 -0
- package/dist/wss.d.ts +1 -1
- package/dist/wss.js +14 -11
- package/dist/wss.js.map +1 -1
- package/jest.config.ts +2 -1
- package/package.json +3 -2
- package/test-alice/000003.log +0 -0
- package/test-alice/CURRENT +1 -0
- package/test-alice/LOCK +0 -0
- package/test-alice/LOG +1 -0
- package/test-alice/MANIFEST-000002 +0 -0
- package/test-bob/000003.log +0 -0
- package/test-bob/CURRENT +1 -0
- package/test-bob/LOCK +0 -0
- package/test-bob/LOG +1 -0
- package/test-bob/MANIFEST-000002 +0 -0
- package/test-node-a/000003.log +0 -0
- package/test-node-a/CURRENT +1 -0
- package/test-node-a/LOCK +0 -0
- package/test-node-a/LOG +1 -0
- package/test-node-a/MANIFEST-000002 +0 -0
- package/test-node-b/000003.log +0 -0
- package/test-node-b/CURRENT +1 -0
- package/test-node-b/LOCK +0 -0
- package/test-node-b/LOG +1 -0
- package/test-node-b/MANIFEST-000002 +0 -0
- 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,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,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,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,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,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,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,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,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,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,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,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,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,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"}
|