tool-db 2.2.0 → 2.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 (237) hide show
  1. package/README.md +12 -139
  2. package/bundle.js +1 -1
  3. package/dist/adapters/toolDbIndexedb.d.ts +10 -0
  4. package/dist/adapters/toolDbIndexedb.js +128 -0
  5. package/dist/adapters/toolDbIndexedb.js.map +1 -0
  6. package/dist/adapters/toolDbLeveldb.d.ts +9 -0
  7. package/dist/adapters/toolDbLeveldb.js +112 -0
  8. package/dist/adapters/toolDbLeveldb.js.map +1 -0
  9. package/dist/adapters/toolDbWeb3User.d.ts +20 -0
  10. package/dist/adapters/toolDbWeb3User.js +75 -0
  11. package/dist/adapters/toolDbWeb3User.js.map +1 -0
  12. package/dist/adapters/toolDbWebrtc.d.ts +59 -0
  13. package/dist/adapters/toolDbWebrtc.js +492 -0
  14. package/dist/adapters/toolDbWebrtc.js.map +1 -0
  15. package/dist/adapters/toolDbWebsocket.d.ts +19 -0
  16. package/dist/adapters/toolDbWebsocket.js +181 -0
  17. package/dist/adapters/toolDbWebsocket.js.map +1 -0
  18. package/dist/adapters-base/networkAdapter.d.ts +57 -0
  19. package/dist/adapters-base/networkAdapter.js +184 -0
  20. package/dist/adapters-base/networkAdapter.js.map +1 -0
  21. package/dist/adapters-base/storageAdapter.d.ts +9 -0
  22. package/dist/adapters-base/storageAdapter.js +26 -0
  23. package/dist/adapters-base/storageAdapter.js.map +1 -0
  24. package/dist/adapters-base/userAdapter.d.ts +14 -0
  25. package/dist/adapters-base/userAdapter.js +35 -0
  26. package/dist/adapters-base/userAdapter.js.map +1 -0
  27. package/dist/index.d.ts +8 -4
  28. package/dist/index.js +15 -7
  29. package/dist/index.js.map +1 -1
  30. package/dist/logger.d.ts +2 -0
  31. package/dist/logger.js +32 -0
  32. package/dist/logger.js.map +1 -0
  33. package/dist/messageHandlers/handleCrdtGet.js +19 -22
  34. package/dist/messageHandlers/handleCrdtGet.js.map +1 -1
  35. package/dist/messageHandlers/handleCrdtPut.js +23 -14
  36. package/dist/messageHandlers/handleCrdtPut.js.map +1 -1
  37. package/dist/messageHandlers/handleGet.js +19 -21
  38. package/dist/messageHandlers/handleGet.js.map +1 -1
  39. package/dist/messageHandlers/handleJoin.js +2 -2
  40. package/dist/messageHandlers/handleJoin.js.map +1 -1
  41. package/dist/messageHandlers/handlePing.js +1 -0
  42. package/dist/messageHandlers/handlePing.js.map +1 -1
  43. package/dist/messageHandlers/handlePong.js +1 -23
  44. package/dist/messageHandlers/handlePong.js.map +1 -1
  45. package/dist/messageHandlers/handlePut.js +29 -25
  46. package/dist/messageHandlers/handlePut.js.map +1 -1
  47. package/dist/messageHandlers/handleQuery.js +7 -2
  48. package/dist/messageHandlers/handleQuery.js.map +1 -1
  49. package/dist/messageHandlers/handleServers.js +1 -1
  50. package/dist/messageHandlers/handleServers.js.map +1 -1
  51. package/dist/messageHandlers/handleSubscribe.js +30 -29
  52. package/dist/messageHandlers/handleSubscribe.js.map +1 -1
  53. package/dist/sendJoin.d.ts +2 -0
  54. package/dist/sendJoin.js +31 -0
  55. package/dist/sendJoin.js.map +1 -0
  56. package/dist/toolDbClientOnMessage.js +5 -8
  57. package/dist/toolDbClientOnMessage.js.map +1 -1
  58. package/dist/toolDbCrdtGet.js +29 -32
  59. package/dist/toolDbCrdtGet.js.map +1 -1
  60. package/dist/toolDbCrdtPut.js +25 -26
  61. package/dist/toolDbCrdtPut.js.map +1 -1
  62. package/dist/toolDbGet.js +29 -30
  63. package/dist/toolDbGet.js.map +1 -1
  64. package/dist/toolDbKeysSignIn.d.ts +1 -1
  65. package/dist/toolDbKeysSignIn.js +8 -4
  66. package/dist/toolDbKeysSignIn.js.map +1 -1
  67. package/dist/toolDbNetworkAdapter.js +5 -9
  68. package/dist/toolDbNetworkAdapter.js.map +1 -1
  69. package/dist/toolDbPut.js +33 -30
  70. package/dist/toolDbPut.js.map +1 -1
  71. package/dist/toolDbQueryKeys.js +8 -7
  72. package/dist/toolDbQueryKeys.js.map +1 -1
  73. package/dist/toolDbSignIn.js +6 -3
  74. package/dist/toolDbSignIn.js.map +1 -1
  75. package/dist/toolDbSignUp.js +37 -33
  76. package/dist/toolDbSignUp.js.map +1 -1
  77. package/dist/toolDbSubscribe.d.ts +2 -1
  78. package/dist/toolDbSubscribe.js +20 -16
  79. package/dist/toolDbSubscribe.js.map +1 -1
  80. package/dist/toolDbVerificationWrapper.js +15 -10
  81. package/dist/toolDbVerificationWrapper.js.map +1 -1
  82. package/dist/toolDbWebrtc.d.ts +0 -6
  83. package/dist/toolDbWebrtc.js +16 -15
  84. package/dist/toolDbWebrtc.js.map +1 -1
  85. package/dist/toolDbWebsocket.js +9 -15
  86. package/dist/toolDbWebsocket.js.map +1 -1
  87. package/dist/tooldb.d.ts +9 -3
  88. package/dist/tooldb.js +12 -9
  89. package/dist/tooldb.js.map +1 -1
  90. package/dist/types/message.d.ts +1 -1
  91. package/dist/types/tooldb.d.ts +7 -27
  92. package/dist/types/tooldb.js +0 -33
  93. package/dist/types/tooldb.js.map +1 -1
  94. package/dist/utils/getPeerSignature.d.ts +2 -2
  95. package/dist/utils/indexedb.js +4 -4
  96. package/dist/utils/indexedb.js.map +1 -1
  97. package/dist/utils/leveldb.js +4 -4
  98. package/dist/utils/leveldb.js.map +1 -1
  99. package/dist/utils/verifyMessage.js +37 -33
  100. package/dist/utils/verifyMessage.js.map +1 -1
  101. package/dist/utils/verifyPeer.js +1 -1
  102. package/dist/utils/verifyPeer.js.map +1 -1
  103. package/package.json +1 -1
  104. package/test-alice/000145.ldb +0 -0
  105. package/test-alice/000147.ldb +0 -0
  106. package/test-alice/000150.ldb +0 -0
  107. package/test-alice/000153.ldb +0 -0
  108. package/test-alice/000154.log +0 -0
  109. package/test-alice/CURRENT +1 -1
  110. package/test-alice/LOG +5 -5
  111. package/test-alice/LOG.old +5 -5
  112. package/test-alice/MANIFEST-000152 +0 -0
  113. package/test-alice-speed/000022.ldb +0 -0
  114. package/test-alice-speed/000024.ldb +0 -0
  115. package/test-alice-speed/000027.ldb +0 -0
  116. package/test-alice-speed/000030.ldb +0 -0
  117. package/test-alice-speed/000031.log +0 -0
  118. package/test-alice-speed/CURRENT +1 -1
  119. package/test-alice-speed/LOG +5 -13
  120. package/test-alice-speed/LOG.old +5 -5
  121. package/test-alice-speed/MANIFEST-000029 +0 -0
  122. package/{test-verify-a/000250.log → test-base-client/000099.log} +0 -0
  123. package/test-base-client/CURRENT +1 -0
  124. package/test-base-client/LOCK +0 -0
  125. package/test-base-client/LOG +3 -0
  126. package/test-base-client/LOG.old +3 -0
  127. package/test-base-client/MANIFEST-000098 +0 -0
  128. package/test-base-server/000101.log +0 -0
  129. package/test-base-server/CURRENT +1 -0
  130. package/test-base-server/LOCK +0 -0
  131. package/test-base-server/LOG +3 -0
  132. package/test-base-server/LOG.old +3 -0
  133. package/test-base-server/MANIFEST-000100 +0 -0
  134. package/test-bob/000160.ldb +0 -0
  135. package/test-bob/000162.ldb +0 -0
  136. package/test-bob/000163.log +0 -0
  137. package/test-bob/CURRENT +1 -1
  138. package/test-bob/LOG +5 -5
  139. package/test-bob/LOG.old +14 -14
  140. package/test-bob/MANIFEST-000161 +0 -0
  141. package/test-chris/000017.ldb +0 -0
  142. package/test-chris/000020.ldb +0 -0
  143. package/test-chris/000023.ldb +0 -0
  144. package/test-chris/000026.ldb +0 -0
  145. package/test-chris/000029.ldb +0 -0
  146. package/test-chris/000086.ldb +0 -0
  147. package/test-chris/000089.ldb +0 -0
  148. package/test-chris/000092.ldb +0 -0
  149. package/test-chris/000095.ldb +0 -0
  150. package/test-chris/000098.ldb +0 -0
  151. package/test-chris/000103.ldb +0 -0
  152. package/test-chris/000106.ldb +0 -0
  153. package/test-chris/000109.ldb +0 -0
  154. package/test-chris/000112.ldb +0 -0
  155. package/test-chris/000115.ldb +0 -0
  156. package/test-chris/000118.ldb +0 -0
  157. package/test-chris/000121.ldb +0 -0
  158. package/test-chris/000124.ldb +0 -0
  159. package/test-chris/000127.ldb +0 -0
  160. package/test-chris/000130.ldb +0 -0
  161. package/test-chris/000133.ldb +0 -0
  162. package/test-chris/000136.ldb +0 -0
  163. package/test-chris/000139.ldb +0 -0
  164. package/test-chris/000142.ldb +0 -0
  165. package/test-chris/000145.ldb +0 -0
  166. package/test-chris/000148.ldb +0 -0
  167. package/test-chris/000151.ldb +0 -0
  168. package/test-chris/000152.log +0 -0
  169. package/test-chris/CURRENT +1 -0
  170. package/test-chris/LOCK +0 -0
  171. package/test-chris/LOG +6 -0
  172. package/test-chris/LOG.old +6 -0
  173. package/test-chris/MANIFEST-000150 +0 -0
  174. package/test-node-a/000175.ldb +0 -0
  175. package/test-node-a/000177.ldb +0 -0
  176. package/test-node-a/000178.log +0 -0
  177. package/test-node-a/CURRENT +1 -1
  178. package/test-node-a/LOG +5 -5
  179. package/test-node-a/LOG.old +14 -5
  180. package/test-node-a/MANIFEST-000176 +0 -0
  181. package/test-node-b/000175.ldb +0 -0
  182. package/test-node-b/000177.ldb +0 -0
  183. package/test-node-b/000178.log +0 -0
  184. package/test-node-b/CURRENT +1 -1
  185. package/test-node-b/LOG +5 -5
  186. package/test-node-b/LOG.old +14 -5
  187. package/test-node-b/MANIFEST-000176 +0 -0
  188. package/test-store/000007.ldb +0 -0
  189. package/test-store/000010.ldb +0 -0
  190. package/test-store/000013.ldb +0 -0
  191. package/test-store/000016.ldb +0 -0
  192. package/test-store/000019.ldb +0 -0
  193. package/test-store/000022.ldb +0 -0
  194. package/test-store/000025.ldb +0 -0
  195. package/test-store/000028.ldb +0 -0
  196. package/test-store/000031.ldb +0 -0
  197. package/test-store/000034.ldb +0 -0
  198. package/test-store/000037.ldb +0 -0
  199. package/test-store/000038.log +0 -0
  200. package/test-store/CURRENT +1 -0
  201. package/test-store/LOCK +0 -0
  202. package/test-store/LOG +6 -0
  203. package/test-store/LOG.old +6 -0
  204. package/test-store/MANIFEST-000036 +0 -0
  205. package/test-verify-a/000049.log +0 -0
  206. package/test-verify-a/CURRENT +1 -1
  207. package/test-verify-a/LOG +3 -3
  208. package/test-verify-a/LOG.old +3 -3
  209. package/test-verify-a/MANIFEST-000048 +0 -0
  210. package/toolDbLibP2p.ts +12 -11
  211. package/test-alice/000663.ldb +0 -0
  212. package/test-alice/000665.ldb +0 -0
  213. package/test-alice/000668.ldb +0 -0
  214. package/test-alice/000669.log +0 -0
  215. package/test-alice/MANIFEST-000667 +0 -0
  216. package/test-alice-speed/000035.log +0 -0
  217. package/test-alice-speed/000036.ldb +0 -0
  218. package/test-alice-speed/MANIFEST-000033 +0 -0
  219. package/test-bob/000665.ldb +0 -0
  220. package/test-bob/000667.ldb +0 -0
  221. package/test-bob/000668.log +0 -0
  222. package/test-bob/MANIFEST-000666 +0 -0
  223. package/test-node-a/000663.ldb +0 -0
  224. package/test-node-a/000665.ldb +0 -0
  225. package/test-node-a/000668.ldb +0 -0
  226. package/test-node-a/000669.log +0 -0
  227. package/test-node-a/MANIFEST-000667 +0 -0
  228. package/test-node-b/000663.ldb +0 -0
  229. package/test-node-b/000665.ldb +0 -0
  230. package/test-node-b/000668.ldb +0 -0
  231. package/test-node-b/000669.log +0 -0
  232. package/test-node-b/MANIFEST-000667 +0 -0
  233. package/test-verify-a/000026.ldb +0 -0
  234. package/test-verify-a/000029.ldb +0 -0
  235. package/test-verify-a/000031.ldb +0 -0
  236. package/test-verify-a/000033.ldb +0 -0
  237. package/test-verify-a/MANIFEST-000249 +0 -0
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ var ws_1 = __importDefault(require("ws"));
22
+ var __1 = require("..");
23
+ var networkAdapter_1 = __importDefault(require("../adapters-base/networkAdapter"));
24
+ var ToolDbWebsocket = /** @class */ (function (_super) {
25
+ __extends(ToolDbWebsocket, _super);
26
+ function ToolDbWebsocket(db) {
27
+ var _this = _super.call(this, db) || this;
28
+ _this.wnd = typeof window === "undefined" ? undefined : window;
29
+ _this._wss = _this.wnd
30
+ ? _this.wnd.WebSocket || _this.wnd.webkitWebSocket || _this.wnd.mozWebSocket
31
+ : ws_1.default;
32
+ _this.server = null;
33
+ _this._connections = {};
34
+ _this._awaitingConnections = [];
35
+ _this.removeFromAwaiting = function (id) {
36
+ var index = _this._awaitingConnections.findIndex(function (c) { return c.id === id; });
37
+ if (index !== -1) {
38
+ _this._awaitingConnections.slice(index, 1);
39
+ }
40
+ };
41
+ /**
42
+ * Open a connection to a server
43
+ * @param url URL of the server (including port)
44
+ * @returns websocket
45
+ */
46
+ _this.connectTo = function (host, port, connectionId) {
47
+ _this.tooldb.logger("connectTo:", host + ":" + port);
48
+ try {
49
+ var wsUrl = port === 443 ? "wss://" + host : "ws://" + host + ":" + port;
50
+ var wss_1 = new _this._wss(wsUrl);
51
+ var connId_1 = connectionId || (0, __1.textRandom)(10);
52
+ var clientId_1 = "";
53
+ var previousConnection = _this._awaitingConnections.filter(function (c) { return c.id === connectionId; })[0];
54
+ if (connectionId && previousConnection) {
55
+ previousConnection.socket = wss_1;
56
+ }
57
+ else {
58
+ _this._awaitingConnections.push({
59
+ id: connId_1,
60
+ socket: wss_1,
61
+ tries: 0,
62
+ defer: null,
63
+ host: host,
64
+ port: port,
65
+ });
66
+ }
67
+ wss_1.onclose = function (_error) {
68
+ _this.tooldb.logger(_error.error);
69
+ _this.reconnect(connId_1);
70
+ };
71
+ wss_1.onerror = function (_error) {
72
+ var _a;
73
+ _this.tooldb.logger("wss.onerror", connId_1);
74
+ if (((_a = _error === null || _error === void 0 ? void 0 : _error.error) === null || _a === void 0 ? void 0 : _a.code) !== "ETIMEDOUT") {
75
+ _this.reconnect(connId_1);
76
+ }
77
+ };
78
+ wss_1.onopen = function () {
79
+ _this.removeFromAwaiting(connId_1);
80
+ _this.tooldb.logger("Connected to " + host + ":" + port + " sucessfully.");
81
+ // hi peer
82
+ wss_1.send(JSON.stringify({
83
+ type: "ping",
84
+ clientId: _this.tooldb.network.getClientAddress(),
85
+ to: [_this.tooldb.network.getClientAddress()],
86
+ isServer: _this.tooldb.options.server,
87
+ id: (0, __1.textRandom)(10),
88
+ }));
89
+ };
90
+ wss_1.onmessage = function (msg) {
91
+ if (!msg) {
92
+ return;
93
+ }
94
+ _this.onClientMessage(msg.data, clientId_1, function (id) {
95
+ clientId_1 = id;
96
+ _this.isClientConnected[id] = function () {
97
+ return wss_1.readyState === wss_1.OPEN;
98
+ };
99
+ _this.clientToSend[id] = function (_msg) {
100
+ wss_1.send(_msg);
101
+ };
102
+ });
103
+ };
104
+ return wss_1;
105
+ }
106
+ catch (e) {
107
+ _this.tooldb.logger(e);
108
+ }
109
+ return undefined;
110
+ };
111
+ _this.reconnect = function (connectionId) {
112
+ var connection = _this._awaitingConnections.filter(function (c) { return c.id === connectionId; })[0];
113
+ _this.tooldb.logger("reconnect", connectionId, connection);
114
+ if (connection) {
115
+ if (connection.defer) {
116
+ clearTimeout(connection.defer);
117
+ }
118
+ _this.tooldb.logger("connection " + connectionId + " tries: " + connection.tries);
119
+ if (connection.tries < _this.tooldb.options.maxRetries) {
120
+ var defer = function () {
121
+ connection.tries += 1;
122
+ _this.tooldb.logger("connection to " + connection.host + ":" + connection.port + " (" + connectionId + ") retry.");
123
+ _this.connectTo(connection.host, connection.port, connectionId);
124
+ };
125
+ connection.defer = setTimeout(defer, _this.tooldb.options.wait);
126
+ }
127
+ else {
128
+ _this.tooldb.logger("connection attempts to " + connection.host + ":" + connection.port + " (" + connectionId + ") exceeded,");
129
+ _this.removeFromAwaiting(connectionId);
130
+ // There are no more peers to connect!
131
+ if (Object.keys(_this._connections).length === 0) {
132
+ _this.tooldb.onDisconnect();
133
+ _this.tooldb.isConnected = false;
134
+ }
135
+ }
136
+ }
137
+ // else , attempting to reconnect to a missing peer?
138
+ };
139
+ _this.tooldb.options.peers.forEach(function (p) {
140
+ _this.connectTo(p.host, p.port);
141
+ });
142
+ if (_this.tooldb.options.server) {
143
+ _this.server = new ws_1.default.Server({
144
+ port: _this.tooldb.options.port,
145
+ server: _this.tooldb.options.httpServer,
146
+ });
147
+ _this.server.on("connection", function (socket) {
148
+ var clientId = null;
149
+ _this.tooldb.logger("new connection:", clientId);
150
+ socket.on("close", function () {
151
+ _this.tooldb.logger("closed connection:", clientId);
152
+ if (clientId) {
153
+ _this.onClientDisconnect(clientId);
154
+ }
155
+ });
156
+ socket.on("error", function () {
157
+ _this.tooldb.logger("errored connection:", clientId);
158
+ if (clientId) {
159
+ _this.onClientDisconnect(clientId);
160
+ }
161
+ });
162
+ socket.on("message", function (message) {
163
+ _this.onClientMessage(message, clientId || "", function (id) {
164
+ clientId = id;
165
+ // Set this socket's functions on the adapter
166
+ _this.isClientConnected[id] = function () {
167
+ return socket.readyState === socket.OPEN;
168
+ };
169
+ _this.clientToSend[id] = function (_msg) {
170
+ socket.send(_msg);
171
+ };
172
+ });
173
+ });
174
+ });
175
+ }
176
+ return _this;
177
+ }
178
+ return ToolDbWebsocket;
179
+ }(networkAdapter_1.default));
180
+ exports.default = ToolDbWebsocket;
181
+ //# sourceMappingURL=toolDbWebsocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolDbWebsocket.js","sourceRoot":"","sources":["../../src/adapters/toolDbWebsocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import ToolDb from "../tooldb";
2
+ import { ToolDbMessage } from "../types/message";
3
+ export default class ToolDbNetworkAdapter {
4
+ private _clientToSend;
5
+ private _isClientConnected;
6
+ private _clientIsServer;
7
+ private _tooldb;
8
+ constructor(db: ToolDb);
9
+ get clientToSend(): Record<string, (message: string) => void>;
10
+ get isClientConnected(): Record<string, () => boolean>;
11
+ get tooldb(): ToolDb;
12
+ /**
13
+ * Check if the specified client is connected or not
14
+ * @param clientId Client ID
15
+ * @returns boolean
16
+ */
17
+ isConnected(clientId: string): boolean;
18
+ /**
19
+ * Check if the specified client is a server/relay
20
+ * @param clientId Client ID
21
+ * @returns boolean
22
+ */
23
+ isServer(clientId: string): boolean;
24
+ /**
25
+ * Execute the function to send a message to the specified client ID
26
+ * @param clientId Client ID
27
+ * @param message Message
28
+ */
29
+ private executeSendToClient;
30
+ getClientAddress(): string;
31
+ onClientDisconnect(clientId: string): void;
32
+ /**
33
+ * Should be called as a message payload handler
34
+ * This function will take care of processing the messages and also making sure
35
+ * we use the correct response methods troughout the adapter.
36
+ * @param message message payload
37
+ * @param clientId Client ID (can be null for ping/pong)
38
+ * @param setClientId Callback to set the client id on the parent class
39
+ */
40
+ onClientMessage(message: string, clientId: string | null, setClientId: (clientId: string) => void): void;
41
+ /**
42
+ * Sends a message to all peers connected to us
43
+ * This function takes care of the message deduplication, making sure we dont send
44
+ * the same message twice to the same peer.
45
+ * @param msg message data
46
+ * @param crossServerOnly If this message should be send to server peers only
47
+ * @param isRelay if we should relay this message
48
+ */
49
+ sendToAll(msg: ToolDbMessage, crossServerOnly?: boolean): void;
50
+ /**
51
+ * Sends a message to a single peer.
52
+ * This function also takes care of the message deduplication.
53
+ * @param clientId Peer/Client id we want to send to.
54
+ * @param msg message data
55
+ */
56
+ sendToClientId(clientId: string, msg: ToolDbMessage): void;
57
+ }
@@ -0,0 +1,184 @@
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ var lodash_1 = __importDefault(require("lodash"));
27
+ var ToolDbNetworkAdapter = /** @class */ (function () {
28
+ function ToolDbNetworkAdapter(db) {
29
+ this._clientToSend = {};
30
+ this._isClientConnected = {};
31
+ this._clientIsServer = {};
32
+ this._tooldb = db;
33
+ }
34
+ Object.defineProperty(ToolDbNetworkAdapter.prototype, "clientToSend", {
35
+ get: function () {
36
+ return this._clientToSend;
37
+ },
38
+ enumerable: false,
39
+ configurable: true
40
+ });
41
+ Object.defineProperty(ToolDbNetworkAdapter.prototype, "isClientConnected", {
42
+ get: function () {
43
+ return this._isClientConnected;
44
+ },
45
+ enumerable: false,
46
+ configurable: true
47
+ });
48
+ Object.defineProperty(ToolDbNetworkAdapter.prototype, "tooldb", {
49
+ get: function () {
50
+ return this._tooldb;
51
+ },
52
+ enumerable: false,
53
+ configurable: true
54
+ });
55
+ /**
56
+ * Check if the specified client is connected or not
57
+ * @param clientId Client ID
58
+ * @returns boolean
59
+ */
60
+ ToolDbNetworkAdapter.prototype.isConnected = function (clientId) {
61
+ return this._isClientConnected[clientId]
62
+ ? this._isClientConnected[clientId]()
63
+ : false;
64
+ };
65
+ /**
66
+ * Check if the specified client is a server/relay
67
+ * @param clientId Client ID
68
+ * @returns boolean
69
+ */
70
+ ToolDbNetworkAdapter.prototype.isServer = function (clientId) {
71
+ return this._clientIsServer[clientId] || false;
72
+ };
73
+ /**
74
+ * Execute the function to send a message to the specified client ID
75
+ * @param clientId Client ID
76
+ * @param message Message
77
+ */
78
+ ToolDbNetworkAdapter.prototype.executeSendToClient = function (clientId, message) {
79
+ if (this._clientToSend[clientId]) {
80
+ this._clientToSend[clientId](message);
81
+ }
82
+ };
83
+ ToolDbNetworkAdapter.prototype.getClientAddress = function () {
84
+ // This is not a good idea to use on all adapters, so it should be replaced
85
+ // if its causing issues. The only reason we use the last 20 chars is to
86
+ // muse the same peer address as the webrtc adapter.
87
+ return (this.tooldb.peerAccount.getAddress() || "").slice(-20);
88
+ };
89
+ ToolDbNetworkAdapter.prototype.onClientDisconnect = function (clientId) {
90
+ delete this._clientToSend[clientId];
91
+ delete this._clientIsServer[clientId];
92
+ };
93
+ /**
94
+ * Should be called as a message payload handler
95
+ * This function will take care of processing the messages and also making sure
96
+ * we use the correct response methods troughout the adapter.
97
+ * @param message message payload
98
+ * @param clientId Client ID (can be null for ping/pong)
99
+ * @param setClientId Callback to set the client id on the parent class
100
+ */
101
+ ToolDbNetworkAdapter.prototype.onClientMessage = function (message, clientId, setClientId) {
102
+ // this.tooldb.logger("onClientMessage", clientId);
103
+ if (clientId && !this.tooldb.processedOutHashes[clientId]) {
104
+ this.tooldb.processedOutHashes[clientId] = [];
105
+ }
106
+ try {
107
+ var parsedMessage = JSON.parse(message);
108
+ // We assume the first messages to arrive will always be ping or pong.
109
+ // Only after that we can get the client id for this socket.
110
+ if (parsedMessage.type === "ping" || parsedMessage.type === "pong") {
111
+ var cid = parsedMessage.clientId;
112
+ setClientId(cid);
113
+ this.tooldb.onPeerConnect(cid);
114
+ this._clientIsServer[cid] = parsedMessage.isServer;
115
+ this.tooldb.processedOutHashes[cid] = [];
116
+ this.tooldb.clientOnMessage(parsedMessage, cid);
117
+ }
118
+ else if (clientId) {
119
+ this.tooldb.clientOnMessage(parsedMessage, clientId);
120
+ }
121
+ }
122
+ catch (e) {
123
+ this.tooldb.logger("Got message ERR", message);
124
+ this.tooldb.logger(e);
125
+ }
126
+ };
127
+ /**
128
+ * Sends a message to all peers connected to us
129
+ * This function takes care of the message deduplication, making sure we dont send
130
+ * the same message twice to the same peer.
131
+ * @param msg message data
132
+ * @param crossServerOnly If this message should be send to server peers only
133
+ * @param isRelay if we should relay this message
134
+ */
135
+ ToolDbNetworkAdapter.prototype.sendToAll = function (msg, crossServerOnly) {
136
+ var _this = this;
137
+ if (crossServerOnly === void 0) { crossServerOnly = false; }
138
+ var to = lodash_1.default.uniq(__spreadArray(__spreadArray([], msg.to, true), [this.getClientAddress()], false));
139
+ var finalMessage = JSON.stringify(__assign(__assign({}, msg), { to: to }));
140
+ var filteredConns = Object.keys(this.clientToSend)
141
+ .filter(function (id) { return !to.includes(id); })
142
+ .filter(function (clientId) { return _this.isConnected(clientId); });
143
+ filteredConns.forEach(function (clientId) {
144
+ if ((crossServerOnly && _this.isServer(clientId)) || !crossServerOnly) {
145
+ _this.tooldb.logger(to, "Sent out to:", clientId);
146
+ if (msg.type === "put" || msg.type === "crdtPut") {
147
+ if (!_this.tooldb.processedOutHashes[clientId].includes(msg.data.h)) {
148
+ _this.executeSendToClient(clientId, finalMessage);
149
+ _this.tooldb.processedOutHashes[clientId].push(msg.data.h);
150
+ }
151
+ }
152
+ else {
153
+ _this.executeSendToClient(clientId, finalMessage);
154
+ }
155
+ }
156
+ // } else {
157
+ // this.tooldb.logger("Fitlered out;", clientId);
158
+ // }
159
+ });
160
+ };
161
+ /**
162
+ * Sends a message to a single peer.
163
+ * This function also takes care of the message deduplication.
164
+ * @param clientId Peer/Client id we want to send to.
165
+ * @param msg message data
166
+ */
167
+ ToolDbNetworkAdapter.prototype.sendToClientId = function (clientId, msg) {
168
+ var to = lodash_1.default.uniq(__spreadArray(__spreadArray([], msg.to, true), [this.getClientAddress()], false));
169
+ var finalMessage = JSON.stringify(__assign(__assign({}, msg), { to: to }));
170
+ if (msg.type === "put" || msg.type === "crdtPut") {
171
+ if (clientId &&
172
+ !this.tooldb.processedOutHashes[clientId].includes(msg.data.h)) {
173
+ this.executeSendToClient(clientId, finalMessage);
174
+ this.tooldb.processedOutHashes[clientId].push(msg.data.h);
175
+ }
176
+ }
177
+ else {
178
+ this.executeSendToClient(clientId, finalMessage);
179
+ }
180
+ };
181
+ return ToolDbNetworkAdapter;
182
+ }());
183
+ exports.default = ToolDbNetworkAdapter;
184
+ //# sourceMappingURL=networkAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkAdapter.js","sourceRoot":"","sources":["../../src/adapters-base/networkAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import ToolDb from "../tooldb";
2
+ export default class ToolDbStorageAdapter {
3
+ private _tooldb;
4
+ get tooldb(): ToolDb;
5
+ constructor(db: ToolDb);
6
+ put(key: string, data: string): Promise<unknown>;
7
+ get(key: string): Promise<string>;
8
+ query(key: string): Promise<string[]>;
9
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var ToolDbStorageAdapter = /** @class */ (function () {
4
+ function ToolDbStorageAdapter(db) {
5
+ this._tooldb = db;
6
+ }
7
+ Object.defineProperty(ToolDbStorageAdapter.prototype, "tooldb", {
8
+ get: function () {
9
+ return this._tooldb;
10
+ },
11
+ enumerable: false,
12
+ configurable: true
13
+ });
14
+ ToolDbStorageAdapter.prototype.put = function (key, data) {
15
+ return Promise.resolve();
16
+ };
17
+ ToolDbStorageAdapter.prototype.get = function (key) {
18
+ return Promise.resolve("");
19
+ };
20
+ ToolDbStorageAdapter.prototype.query = function (key) {
21
+ return Promise.resolve([]);
22
+ };
23
+ return ToolDbStorageAdapter;
24
+ }());
25
+ exports.default = ToolDbStorageAdapter;
26
+ //# sourceMappingURL=storageAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageAdapter.js","sourceRoot":"","sources":["../../src/adapters-base/storageAdapter.ts"],"names":[],"mappings":";;AAEA;IAOE,8BAAY,EAAU;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAND,sBAAI,wCAAM;aAAV;YACE,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;;;OAAA;IAMD,kCAAG,GAAH,UAAI,GAAW,EAAE,IAAY;QAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,kCAAG,GAAH,UAAI,GAAW;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,oCAAK,GAAL,UAAM,GAAW;QACf,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACH,2BAAC;AAAD,CAAC,AAtBD,IAsBC"}
@@ -0,0 +1,14 @@
1
+ import ToolDb from "../tooldb";
2
+ import { VerificationData } from "../types/message";
3
+ export default class ToolDbUserAdapter {
4
+ constructor(db: ToolDb);
5
+ anonUser(): void;
6
+ setUser(account: unknown | undefined, name: string): void;
7
+ signData(data: string): Promise<string>;
8
+ verifySignature(message: Partial<VerificationData<any>>): Promise<boolean>;
9
+ getAccountFromPrivate(privateKey: string): Promise<unknown>;
10
+ encryptAccount(password: string): Promise<unknown>;
11
+ decryptAccount(acc: unknown, password: string): Promise<any>;
12
+ getAddress(): string | undefined;
13
+ getUsername(): string | undefined;
14
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var ToolDbUserAdapter = /** @class */ (function () {
4
+ function ToolDbUserAdapter(db) {
5
+ //
6
+ }
7
+ ToolDbUserAdapter.prototype.anonUser = function () {
8
+ return;
9
+ };
10
+ ToolDbUserAdapter.prototype.setUser = function (account, name) { };
11
+ ToolDbUserAdapter.prototype.signData = function (data) {
12
+ return Promise.resolve("");
13
+ };
14
+ ToolDbUserAdapter.prototype.verifySignature = function (message) {
15
+ return Promise.resolve(false);
16
+ };
17
+ ToolDbUserAdapter.prototype.getAccountFromPrivate = function (privateKey) {
18
+ return Promise.resolve(undefined);
19
+ };
20
+ ToolDbUserAdapter.prototype.encryptAccount = function (password) {
21
+ return Promise.resolve(undefined);
22
+ };
23
+ ToolDbUserAdapter.prototype.decryptAccount = function (acc, password) {
24
+ return Promise.resolve(undefined);
25
+ };
26
+ ToolDbUserAdapter.prototype.getAddress = function () {
27
+ return "";
28
+ };
29
+ ToolDbUserAdapter.prototype.getUsername = function () {
30
+ return "";
31
+ };
32
+ return ToolDbUserAdapter;
33
+ }());
34
+ exports.default = ToolDbUserAdapter;
35
+ //# sourceMappingURL=userAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userAdapter.js","sourceRoot":"","sources":["../../src/adapters-base/userAdapter.ts"],"names":[],"mappings":";;AAGA;IACE,2BAAY,EAAU;QACpB,EAAE;IACJ,CAAC;IAEM,oCAAQ,GAAf;QACE,OAAO;IACT,CAAC;IAEM,mCAAO,GAAd,UAAe,OAA4B,EAAE,IAAY,IAAS,CAAC;IAE5D,oCAAQ,GAAf,UAAgB,IAAY;QAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAEM,2CAAe,GAAtB,UACE,OAAuC;QAEvC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,iDAAqB,GAA5B,UAA6B,UAAkB;QAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEM,0CAAc,GAArB,UAAsB,QAAgB;QACpC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEM,0CAAc,GAArB,UAAsB,GAAY,EAAE,QAAgB;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEM,sCAAU,GAAjB;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,uCAAW,GAAlB;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IACH,wBAAC;AAAD,CAAC,AAxCD,IAwCC"}
package/dist/index.d.ts CHANGED
@@ -21,16 +21,20 @@ export { default as hexToUint8 } from "./utils/encoding/hexToUint8";
21
21
  export { default as generateKeyFromPassword } from "./utils/crypto/generateKeyFromPassword";
22
22
  export { default as decryptWithPass } from "./utils/crypto/decryptWithPass";
23
23
  export { default as encryptWithPass } from "./utils/crypto/encryptWithPass";
24
- export { default as ToolDbNetworkAdapter } from "./toolDbNetworkAdapter";
25
- export { default as ToolDbWebsocket } from "./toolDbWebsocket";
26
- export { default as ToolDbWebrtc } from "./toolDbWebrtc";
24
+ export { default as ToolDbNetworkAdapter } from "./adapters-base/networkAdapter";
25
+ export { default as ToolDbStorageAdapter } from "./adapters-base/storageAdapter";
26
+ export { default as ToolDbUserAdapter } from "./adapters-base/userAdapter";
27
+ export { default as ToolDbWebsocket } from "./adapters/toolDbWebsocket";
28
+ export { default as ToolDbWebrtc } from "./adapters/toolDbWebrtc";
29
+ export { default as ToolDbWeb3User } from "./adapters/toolDbWeb3User";
30
+ export { default as ToolDbIndexedb } from "./adapters/toolDbIndexedb";
31
+ export { default as ToolDbLeveldb } from "./adapters/toolDbLeveldb";
27
32
  export * from "./types/tooldb";
28
33
  export * from "./types/message";
29
34
  export * from "./crdt/baseCrdt";
30
35
  export * from "./crdt/counterCrdt";
31
36
  export * from "./crdt/listCrdt";
32
37
  export * from "./crdt/mapCrdt";
33
- export { default as ToolDbWeb3User } from "./toolDbWeb3User";
34
38
  export { default as handleSubscribe } from "./messageHandlers/handleSubscribe";
35
39
  export { default as handleCrdtGet } from "./messageHandlers/handleCrdtGet";
36
40
  export { default as handleCrdtPut } from "./messageHandlers/handleCrdtPut";
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  return (mod && mod.__esModule) ? mod : { "default": mod };
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ToolDb = exports.handlePut = exports.handleGet = exports.handlePong = exports.handlePing = exports.handleQuery = exports.handleCrdtPut = exports.handleCrdtGet = exports.handleSubscribe = exports.ToolDbWeb3User = exports.ToolDbWebrtc = exports.ToolDbWebsocket = exports.ToolDbNetworkAdapter = exports.encryptWithPass = exports.decryptWithPass = exports.generateKeyFromPassword = exports.hexToUint8 = exports.hexToString = exports.hexToArrayBuffer = exports.arrayBufferToHex = exports.arrayBufferToString = exports.verifyPeer = exports.verifyMessage = exports.stringToArrayBuffer = exports.textRandom = exports.randomAnimal = exports.generateIv = exports.sha256 = exports.sha1 = exports.proofOfWork = exports.MapCrdt = exports.ListCrdt = exports.CounterCrdt = exports.BaseCrdt = void 0;
18
+ exports.ToolDb = exports.handlePut = exports.handleGet = exports.handlePong = exports.handlePing = exports.handleQuery = exports.handleCrdtPut = exports.handleCrdtGet = exports.handleSubscribe = exports.ToolDbLeveldb = exports.ToolDbIndexedb = exports.ToolDbWeb3User = exports.ToolDbWebrtc = exports.ToolDbWebsocket = exports.ToolDbUserAdapter = exports.ToolDbStorageAdapter = exports.ToolDbNetworkAdapter = exports.encryptWithPass = exports.decryptWithPass = exports.generateKeyFromPassword = exports.hexToUint8 = exports.hexToString = exports.hexToArrayBuffer = exports.arrayBufferToHex = exports.arrayBufferToString = exports.verifyPeer = exports.verifyMessage = exports.stringToArrayBuffer = exports.textRandom = exports.randomAnimal = exports.generateIv = exports.sha256 = exports.sha1 = exports.proofOfWork = exports.MapCrdt = exports.ListCrdt = exports.CounterCrdt = exports.BaseCrdt = void 0;
19
19
  __exportStar(require("./types/tooldb"), exports);
20
20
  __exportStar(require("./types/message"), exports);
21
21
  global.Buffer = global.Buffer || require("buffer").Buffer;
@@ -64,20 +64,28 @@ var decryptWithPass_1 = require("./utils/crypto/decryptWithPass");
64
64
  Object.defineProperty(exports, "decryptWithPass", { enumerable: true, get: function () { return __importDefault(decryptWithPass_1).default; } });
65
65
  var encryptWithPass_1 = require("./utils/crypto/encryptWithPass");
66
66
  Object.defineProperty(exports, "encryptWithPass", { enumerable: true, get: function () { return __importDefault(encryptWithPass_1).default; } });
67
- var toolDbNetworkAdapter_1 = require("./toolDbNetworkAdapter");
68
- Object.defineProperty(exports, "ToolDbNetworkAdapter", { enumerable: true, get: function () { return __importDefault(toolDbNetworkAdapter_1).default; } });
69
- var toolDbWebsocket_1 = require("./toolDbWebsocket");
67
+ var networkAdapter_1 = require("./adapters-base/networkAdapter");
68
+ Object.defineProperty(exports, "ToolDbNetworkAdapter", { enumerable: true, get: function () { return __importDefault(networkAdapter_1).default; } });
69
+ var storageAdapter_1 = require("./adapters-base/storageAdapter");
70
+ Object.defineProperty(exports, "ToolDbStorageAdapter", { enumerable: true, get: function () { return __importDefault(storageAdapter_1).default; } });
71
+ var userAdapter_1 = require("./adapters-base/userAdapter");
72
+ Object.defineProperty(exports, "ToolDbUserAdapter", { enumerable: true, get: function () { return __importDefault(userAdapter_1).default; } });
73
+ var toolDbWebsocket_1 = require("./adapters/toolDbWebsocket");
70
74
  Object.defineProperty(exports, "ToolDbWebsocket", { enumerable: true, get: function () { return __importDefault(toolDbWebsocket_1).default; } });
71
- var toolDbWebrtc_1 = require("./toolDbWebrtc");
75
+ var toolDbWebrtc_1 = require("./adapters/toolDbWebrtc");
72
76
  Object.defineProperty(exports, "ToolDbWebrtc", { enumerable: true, get: function () { return __importDefault(toolDbWebrtc_1).default; } });
77
+ var toolDbWeb3User_1 = require("./adapters/toolDbWeb3User");
78
+ Object.defineProperty(exports, "ToolDbWeb3User", { enumerable: true, get: function () { return __importDefault(toolDbWeb3User_1).default; } });
79
+ var toolDbIndexedb_1 = require("./adapters/toolDbIndexedb");
80
+ Object.defineProperty(exports, "ToolDbIndexedb", { enumerable: true, get: function () { return __importDefault(toolDbIndexedb_1).default; } });
81
+ var toolDbLeveldb_1 = require("./adapters/toolDbLeveldb");
82
+ Object.defineProperty(exports, "ToolDbLeveldb", { enumerable: true, get: function () { return __importDefault(toolDbLeveldb_1).default; } });
73
83
  __exportStar(require("./types/tooldb"), exports);
74
84
  __exportStar(require("./types/message"), exports);
75
85
  __exportStar(require("./crdt/baseCrdt"), exports);
76
86
  __exportStar(require("./crdt/counterCrdt"), exports);
77
87
  __exportStar(require("./crdt/listCrdt"), exports);
78
88
  __exportStar(require("./crdt/mapCrdt"), exports);
79
- var toolDbWeb3User_1 = require("./toolDbWeb3User");
80
- Object.defineProperty(exports, "ToolDbWeb3User", { enumerable: true, get: function () { return __importDefault(toolDbWeb3User_1).default; } });
81
89
  var handleSubscribe_1 = require("./messageHandlers/handleSubscribe");
82
90
  Object.defineProperty(exports, "handleSubscribe", { enumerable: true, get: function () { return __importDefault(handleSubscribe_1).default; } });
83
91
  var handleCrdtGet_1 = require("./messageHandlers/handleCrdtGet");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,mCAAmC;;;;;;;;;;;;;;;;AAEnC,iDAA+B;AAC/B,kDAAgC;AAEhC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AAE1D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;CAC7C;AAED,4CAAsD;AAA7C,qHAAA,OAAO,OAAY;AAC5B,kDAA4D;AAAnD,2HAAA,OAAO,OAAe;AAC/B,4CAAsD;AAA7C,qHAAA,OAAO,OAAY;AAC5B,0CAAoD;AAA3C,mHAAA,OAAO,OAAW;AAE3B,mDAA6D;AAApD,2HAAA,OAAO,OAAe;AAC/B,qCAA+C;AAAtC,6GAAA,OAAO,OAAQ;AACxB,yCAAmD;AAA1C,iHAAA,OAAO,OAAU;AAE1B,iDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAC9B,qDAA+D;AAAtD,6HAAA,OAAO,OAAgB;AAChC,iDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAC9B,4EAAsF;AAA7E,2IAAA,OAAO,OAAuB;AACvC,uDAAiE;AAAxD,+HAAA,OAAO,OAAiB;AACjC,iDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAE9B,4EAAsF;AAA7E,2IAAA,OAAO,OAAuB;AACvC,sEAAgF;AAAvE,qIAAA,OAAO,OAAoB;AACpC,sEAAgF;AAAvE,qIAAA,OAAO,OAAoB;AACpC,4DAAsE;AAA7D,2HAAA,OAAO,OAAe;AAC/B,0DAAoE;AAA3D,yHAAA,OAAO,OAAc;AAE9B,kFAA4F;AAAnF,mJAAA,OAAO,OAA2B;AAC3C,kEAA4E;AAAnE,mIAAA,OAAO,OAAmB;AACnC,kEAA4E;AAAnE,mIAAA,OAAO,OAAmB;AAEnC,+DAAyE;AAAhE,6IAAA,OAAO,OAAwB;AACxC,qDAA+D;AAAtD,mIAAA,OAAO,OAAmB;AACnC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAEhC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAE/B,mDAA6D;AAApD,iIAAA,OAAO,OAAkB;AAElC,qEAA+E;AAAtE,mIAAA,OAAO,OAAmB;AACnC,iEAA2E;AAAlE,+HAAA,OAAO,OAAiB;AACjC,iEAA2E;AAAlE,+HAAA,OAAO,OAAiB;AACjC,6DAAuE;AAA9D,2HAAA,OAAO,OAAe;AAC/B,2DAAqE;AAA5D,yHAAA,OAAO,OAAc;AAC9B,2DAAqE;AAA5D,yHAAA,OAAO,OAAc;AAC9B,yDAAmE;AAA1D,uHAAA,OAAO,OAAa;AAC7B,yDAAmE;AAA1D,uHAAA,OAAO,OAAa;AAE7B,mCAA6C;AAApC,iHAAA,OAAO,OAAU"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,mCAAmC;;;;;;;;;;;;;;;;AAEnC,iDAA+B;AAC/B,kDAAgC;AAEhC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AAE1D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;CAC7C;AAED,4CAAsD;AAA7C,qHAAA,OAAO,OAAY;AAC5B,kDAA4D;AAAnD,2HAAA,OAAO,OAAe;AAC/B,4CAAsD;AAA7C,qHAAA,OAAO,OAAY;AAC5B,0CAAoD;AAA3C,mHAAA,OAAO,OAAW;AAE3B,mDAA6D;AAApD,2HAAA,OAAO,OAAe;AAC/B,qCAA+C;AAAtC,6GAAA,OAAO,OAAQ;AACxB,yCAAmD;AAA1C,iHAAA,OAAO,OAAU;AAE1B,iDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAC9B,qDAA+D;AAAtD,6HAAA,OAAO,OAAgB;AAChC,iDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAC9B,4EAAsF;AAA7E,2IAAA,OAAO,OAAuB;AACvC,uDAAiE;AAAxD,+HAAA,OAAO,OAAiB;AACjC,iDAA2D;AAAlD,yHAAA,OAAO,OAAc;AAE9B,4EAAsF;AAA7E,2IAAA,OAAO,OAAuB;AACvC,sEAAgF;AAAvE,qIAAA,OAAO,OAAoB;AACpC,sEAAgF;AAAvE,qIAAA,OAAO,OAAoB;AACpC,4DAAsE;AAA7D,2HAAA,OAAO,OAAe;AAC/B,0DAAoE;AAA3D,yHAAA,OAAO,OAAc;AAE9B,kFAA4F;AAAnF,mJAAA,OAAO,OAA2B;AAC3C,kEAA4E;AAAnE,mIAAA,OAAO,OAAmB;AACnC,kEAA4E;AAAnE,mIAAA,OAAO,OAAmB;AAEnC,iEAAiF;AAAxE,uIAAA,OAAO,OAAwB;AACxC,iEAAiF;AAAxE,uIAAA,OAAO,OAAwB;AACxC,2DAA2E;AAAlE,iIAAA,OAAO,OAAqB;AAErC,8DAAwE;AAA/D,mIAAA,OAAO,OAAmB;AACnC,wDAAkE;AAAzD,6HAAA,OAAO,OAAgB;AAChC,4DAAsE;AAA7D,iIAAA,OAAO,OAAkB;AAClC,4DAAsE;AAA7D,iIAAA,OAAO,OAAkB;AAClC,0DAAoE;AAA3D,+HAAA,OAAO,OAAiB;AAEjC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,qDAAmC;AACnC,kDAAgC;AAChC,iDAA+B;AAE/B,qEAA+E;AAAtE,mIAAA,OAAO,OAAmB;AACnC,iEAA2E;AAAlE,+HAAA,OAAO,OAAiB;AACjC,iEAA2E;AAAlE,+HAAA,OAAO,OAAiB;AACjC,6DAAuE;AAA9D,2HAAA,OAAO,OAAe;AAC/B,2DAAqE;AAA5D,yHAAA,OAAO,OAAc;AAC9B,2DAAqE;AAA5D,yHAAA,OAAO,OAAc;AAC9B,yDAAmE;AAA1D,uHAAA,OAAO,OAAa;AAC7B,yDAAmE;AAA1D,uHAAA,OAAO,OAAa;AAE7B,mCAA6C;AAApC,iHAAA,OAAO,OAAU"}
@@ -0,0 +1,2 @@
1
+ import ToolDb from "./tooldb";
2
+ export default function logger(this: ToolDb, arg0: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any, arg5?: any): void;