tool-db 1.1.12 → 1.1.13
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/README.md +32 -7
- package/dist/toolDbClientOnMessage.js +9 -8
- package/dist/toolDbClientOnMessage.js.map +1 -1
- package/dist/tooldb.js +7 -1
- package/dist/tooldb.js.map +1 -1
- package/dist/types/message.d.ts +9 -9
- package/dist/types/message.js +9 -9
- package/dist/types/message.js.map +1 -1
- package/dist/types/tooldb.d.ts +1 -0
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -15,9 +15,9 @@ Please check the [chain-swarm](https://github.com/Manuel-777/chain-swarm) reposi
|
|
|
15
15
|
We do that using [discovery-channel](https://www.npmjs.com/package/discovery-channel), but you can use any DHT solution you want! Theoretically, even WebRTC between browsers would work.
|
|
16
16
|
|
|
17
17
|
## Base usage
|
|
18
|
-
Connect to the selected
|
|
18
|
+
Connect to the selected toolDb peers;
|
|
19
19
|
```
|
|
20
|
-
const client = new
|
|
20
|
+
const client = new ToolDb(options);
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
These are the options you can pass to the constructor:
|
|
@@ -63,7 +63,9 @@ if (client.user) {
|
|
|
63
63
|
}
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
## Putting and getting data
|
|
67
|
+
|
|
68
|
+
Core methods are very straighforward:
|
|
67
69
|
```
|
|
68
70
|
client.getData("key", userNamespaced?, timeout?).then();
|
|
69
71
|
client.putData("key", value, userNamespaced?).then();
|
|
@@ -83,9 +85,9 @@ client.removeKeyListener(listenerId);
|
|
|
83
85
|
|
|
84
86
|
Similarly, for using a custom verification on a key (or subset of keys) you can create a new function that returns a Promise boolean;
|
|
85
87
|
```
|
|
86
|
-
const
|
|
88
|
+
const validateFn = (msg) => {
|
|
87
89
|
return new Promise((resolve) => {
|
|
88
|
-
console.log("Custom
|
|
90
|
+
console.log("Custom verification: ", msg);
|
|
89
91
|
if (typeof msg.value === "string") resolve(true);
|
|
90
92
|
else resolve(false);
|
|
91
93
|
});
|
|
@@ -93,12 +95,27 @@ const validateDn = (msg) => {
|
|
|
93
95
|
|
|
94
96
|
const validatorId = client.addCustomVerification("value", validateFn);
|
|
95
97
|
|
|
96
|
-
// You will not usually need to remove validators, but we provide a function anyway.
|
|
97
98
|
client.removeCustomVerification(validatorId);
|
|
98
99
|
```
|
|
99
100
|
|
|
100
101
|
Keep in mind custom validators should run on all client and server nodes, and even though the nodes not running your validator will be able to store and relay invalid messages its up to each peer to check these messages on arrival. ToolDb does this automatically when using the custom validation, but its important to make sure every peer runs the same code to avoid tampered messages flowing in the network.
|
|
101
102
|
|
|
103
|
+
## Query
|
|
104
|
+
|
|
105
|
+
To make queries or just create indexes you can make a query, it simply asks all server or peers connected a list of all keys starting with a prefix. You can later use these keys to get the data itself.
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
client.queryKeys(keyPrefix, userNamespaced?, timeout?).then()
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Just like previous methods you can configure the namespace and timeout and returns a promise, but in this case the value is always an array with the found keys.
|
|
112
|
+
Using for example ":" + publicKey as our prefix would return all keys stored for that specific user namespace; you can also create keys for very specific use cases like "post-1" and query again "post-" to get a list of all available posts.
|
|
113
|
+
|
|
114
|
+
Keep in mind this can be an intensive thing to do if your indexes are too big, and not recommended to be used very frequently.
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
## Listen for changes
|
|
118
|
+
|
|
102
119
|
Some times you want to subscribe to the changes made on a certain key, this is possible via subscribeData;
|
|
103
120
|
```
|
|
104
121
|
client.subscribeData("key", userNamespaced?);
|
|
@@ -125,4 +142,12 @@ function handleDocumentKeyCrdt(msg) {
|
|
|
125
142
|
}
|
|
126
143
|
}
|
|
127
144
|
}
|
|
128
|
-
```
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Events
|
|
148
|
+
|
|
149
|
+
If you need to check when you are connected to a server peer or not you can use the following method replacements;
|
|
150
|
+
```
|
|
151
|
+
client.onConnect = () => { /* Your code here */ };
|
|
152
|
+
client.onDisconnect = () => { /* Your code here */ };
|
|
153
|
+
```
|
|
@@ -23,12 +23,7 @@ function toolDbClientOnMessage(data, socket) {
|
|
|
23
23
|
var originalData = data;
|
|
24
24
|
if (typeof data === "string") {
|
|
25
25
|
var message_1 = JSON.parse(data);
|
|
26
|
-
// console.log(
|
|
27
|
-
// "Got message > ",
|
|
28
|
-
// data,
|
|
29
|
-
// message.type,
|
|
30
|
-
// (message as any).key || ""
|
|
31
|
-
// );
|
|
26
|
+
// console.log("Got message > ", message.type, (message as any).k || "");
|
|
32
27
|
// Check if we are listening for this ID
|
|
33
28
|
if (message_1.id) {
|
|
34
29
|
var msgId = message_1.id;
|
|
@@ -121,12 +116,13 @@ function toolDbClientOnMessage(data, socket) {
|
|
|
121
116
|
}
|
|
122
117
|
if (message_1.type === "put") {
|
|
123
118
|
toolDbVerificationWrapper_1.default.call(this, message_1).then(function (value) {
|
|
119
|
+
// console.log("Verification wrapper result: ", value, message.k);
|
|
124
120
|
if (value === _1.VerifyResult.Verified) {
|
|
125
121
|
// relay to other servers
|
|
126
122
|
_this.websockets.send(message_1, message_1.to);
|
|
127
123
|
_this.store.get(message_1.k, function (err, oldData) {
|
|
128
124
|
if (oldData) {
|
|
129
|
-
var parsedOldData = JSON.parse(oldData);
|
|
125
|
+
var parsedOldData = __assign({ type: "put" }, JSON.parse(oldData));
|
|
130
126
|
if (parsedOldData.t < message_1.t) {
|
|
131
127
|
var key = message_1.k;
|
|
132
128
|
_this.triggerKeyListener(key, message_1);
|
|
@@ -134,6 +130,10 @@ function toolDbClientOnMessage(data, socket) {
|
|
|
134
130
|
//
|
|
135
131
|
});
|
|
136
132
|
}
|
|
133
|
+
else {
|
|
134
|
+
var key = message_1.k;
|
|
135
|
+
_this.triggerKeyListener(key, parsedOldData);
|
|
136
|
+
}
|
|
137
137
|
// } else if (this.options.debug) {
|
|
138
138
|
// console.log(
|
|
139
139
|
// `${message.k} has old data, but its newer. old ${parsedOldData.t} < new ${message.t}`
|
|
@@ -150,7 +150,7 @@ function toolDbClientOnMessage(data, socket) {
|
|
|
150
150
|
});
|
|
151
151
|
}
|
|
152
152
|
else {
|
|
153
|
-
console.
|
|
153
|
+
console.warn("unverified message: ", value, message_1);
|
|
154
154
|
}
|
|
155
155
|
});
|
|
156
156
|
}
|
|
@@ -159,6 +159,7 @@ function toolDbClientOnMessage(data, socket) {
|
|
|
159
159
|
// key.crdt = automerge doc with changes
|
|
160
160
|
// const writeStart = new Date().getTime();
|
|
161
161
|
toolDbVerificationWrapper_1.default.call(this, message_1).then(function (value) {
|
|
162
|
+
// console.log("CRDT Verification wrapper result: ", value);
|
|
162
163
|
if (value === _1.VerifyResult.Verified) {
|
|
163
164
|
var key_1 = message_1.k;
|
|
164
165
|
var data_1 = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolDbClientOnMessage.js","sourceRoot":"","sources":["../src/toolDbClientOnMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sBAUW;AAEX,0FAAoE;AAEpE,wDAAkC;AAClC,sFAAgE;AAGhE,SAAwB,qBAAqB,CAE3C,IAAY,EACZ,MAAuB;IAHzB,
|
|
1
|
+
{"version":3,"file":"toolDbClientOnMessage.js","sourceRoot":"","sources":["../src/toolDbClientOnMessage.ts"],"names":[],"mappings":"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"}
|
package/dist/tooldb.js
CHANGED
|
@@ -89,9 +89,14 @@ var ToolDb = /** @class */ (function () {
|
|
|
89
89
|
_this._keyListeners[id] = null;
|
|
90
90
|
};
|
|
91
91
|
this.triggerKeyListener = function (key, message) {
|
|
92
|
+
// console.warn(`triggerKeyListener ${key}`);
|
|
92
93
|
_this._keyListeners.forEach(function (listener) {
|
|
93
94
|
if ((listener === null || listener === void 0 ? void 0 : listener.key) === key) {
|
|
94
|
-
|
|
95
|
+
// console.log(`TRIGGER OK`, message);
|
|
96
|
+
if (listener.timeout) {
|
|
97
|
+
clearTimeout(listener.timeout);
|
|
98
|
+
}
|
|
99
|
+
listener.timeout = setTimeout(function () { return listener.fn(message); }, _this._options.triggerDebouce);
|
|
95
100
|
}
|
|
96
101
|
});
|
|
97
102
|
};
|
|
@@ -115,6 +120,7 @@ var ToolDb = /** @class */ (function () {
|
|
|
115
120
|
db: "tooldb",
|
|
116
121
|
peers: [],
|
|
117
122
|
maxRetries: 5,
|
|
123
|
+
triggerDebouce: 100,
|
|
118
124
|
wait: 2000,
|
|
119
125
|
pow: 0,
|
|
120
126
|
server: false,
|
package/dist/tooldb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../src/tooldb.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAwB;AAIxB,0DAAoC;AACpC,0DAAoC;AACpC,sEAAgD;AAChD,gEAA0C;AAC1C,wEAAkD;AAClD,gEAA0C;AAC1C,0FAAoE;AAEpE,kFAA4D;AAC5D,8DAAwC;AACxC,4DAAsC;AACtC,sBAOW;AACX,sEAAgD;AAChD,kEAA4C;AAE5C,wEAAkD;AAClD,wEAAkD;AAClD,sEAAgD;AAahD;
|
|
1
|
+
{"version":3,"file":"tooldb.js","sourceRoot":"","sources":["../src/tooldb.ts"],"names":[],"mappings":"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"}
|
package/dist/types/message.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export declare enum VerifyResult {
|
|
2
|
-
CustomVerificationFailed =
|
|
3
|
-
InvalidData =
|
|
4
|
-
InvalidVerification =
|
|
5
|
-
InvalidTimestamp =
|
|
6
|
-
PubKeyMismatch =
|
|
7
|
-
NoProofOfWork =
|
|
8
|
-
InvalidHashNonce =
|
|
9
|
-
InvalidSignature =
|
|
10
|
-
Verified =
|
|
2
|
+
CustomVerificationFailed = "CustomVerificationFailed",
|
|
3
|
+
InvalidData = "InvalidData",
|
|
4
|
+
InvalidVerification = "InvalidVerification",
|
|
5
|
+
InvalidTimestamp = "InvalidTimestamp",
|
|
6
|
+
PubKeyMismatch = "PubKeyMismatch",
|
|
7
|
+
NoProofOfWork = "NoProofOfWork",
|
|
8
|
+
InvalidHashNonce = "InvalidHashNonce",
|
|
9
|
+
InvalidSignature = "InvalidSignature",
|
|
10
|
+
Verified = "Verified"
|
|
11
11
|
}
|
|
12
12
|
export interface VerificationData<T = any> {
|
|
13
13
|
k: string;
|
package/dist/types/message.js
CHANGED
|
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VerifyResult = void 0;
|
|
4
4
|
var VerifyResult;
|
|
5
5
|
(function (VerifyResult) {
|
|
6
|
-
VerifyResult[
|
|
7
|
-
VerifyResult[
|
|
8
|
-
VerifyResult[
|
|
9
|
-
VerifyResult[
|
|
10
|
-
VerifyResult[
|
|
11
|
-
VerifyResult[
|
|
12
|
-
VerifyResult[
|
|
13
|
-
VerifyResult[
|
|
14
|
-
VerifyResult[
|
|
6
|
+
VerifyResult["CustomVerificationFailed"] = "CustomVerificationFailed";
|
|
7
|
+
VerifyResult["InvalidData"] = "InvalidData";
|
|
8
|
+
VerifyResult["InvalidVerification"] = "InvalidVerification";
|
|
9
|
+
VerifyResult["InvalidTimestamp"] = "InvalidTimestamp";
|
|
10
|
+
VerifyResult["PubKeyMismatch"] = "PubKeyMismatch";
|
|
11
|
+
VerifyResult["NoProofOfWork"] = "NoProofOfWork";
|
|
12
|
+
VerifyResult["InvalidHashNonce"] = "InvalidHashNonce";
|
|
13
|
+
VerifyResult["InvalidSignature"] = "InvalidSignature";
|
|
14
|
+
VerifyResult["Verified"] = "Verified";
|
|
15
15
|
})(VerifyResult = exports.VerifyResult || (exports.VerifyResult = {}));
|
|
16
16
|
//# sourceMappingURL=message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAUX;AAVD,WAAY,YAAY;IACtB,
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAUX;AAVD,WAAY,YAAY;IACtB,qEAAqD,CAAA;IACrD,2CAA2B,CAAA;IAC3B,2DAA2C,CAAA;IAC3C,qDAAqC,CAAA;IACrC,iDAAiC,CAAA;IACjC,+CAA+B,CAAA;IAC/B,qDAAqC,CAAA;IACrC,qDAAqC,CAAA;IACrC,qCAAqB,CAAA;AACvB,CAAC,EAVW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAUvB"}
|
package/dist/types/tooldb.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tool-db",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.13",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A decentralized database model for federated p2p networks.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@peculiar/webcrypto": "^1.1.7",
|
|
21
21
|
"automerge": "^1.0.1-preview.4",
|
|
22
|
-
"axios": "^0.21.1",
|
|
23
22
|
"babel": "^6.23.0",
|
|
24
23
|
"buffer": "^6.0.3",
|
|
25
24
|
"crypto": "^1.0.1",
|