tool-db 2.3.0 → 2.5.1

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 (565) hide show
  1. package/README.md +10 -2
  2. package/bundle.js +1 -1
  3. package/dist/adapters-base/networkAdapter.d.ts +3 -2
  4. package/dist/adapters-base/networkAdapter.js +36 -6
  5. package/dist/adapters-base/networkAdapter.js.map +1 -1
  6. package/dist/adapters-base/storageAdapter.d.ts +4 -2
  7. package/dist/adapters-base/storageAdapter.js +11 -1
  8. package/dist/adapters-base/storageAdapter.js.map +1 -1
  9. package/dist/adapters-base/userAdapter.d.ts +3 -2
  10. package/dist/adapters-base/userAdapter.js +8 -1
  11. package/dist/adapters-base/userAdapter.js.map +1 -1
  12. package/dist/crdt/baseCrdt.d.ts +1 -1
  13. package/dist/crdt/baseCrdt.js +2 -2
  14. package/dist/crdt/baseCrdt.js.map +1 -1
  15. package/dist/crdt/counterCrdt.d.ts +2 -2
  16. package/dist/crdt/counterCrdt.js +5 -23
  17. package/dist/crdt/counterCrdt.js.map +1 -1
  18. package/dist/crdt/listCrdt.d.ts +2 -2
  19. package/dist/crdt/listCrdt.js +8 -26
  20. package/dist/crdt/listCrdt.js.map +1 -1
  21. package/dist/crdt/mapCrdt.d.ts +2 -2
  22. package/dist/crdt/mapCrdt.js +5 -23
  23. package/dist/crdt/mapCrdt.js.map +1 -1
  24. package/dist/index.d.ts +5 -17
  25. package/dist/index.js +16 -40
  26. package/dist/index.js.map +1 -1
  27. package/dist/logger.d.ts +1 -1
  28. package/dist/logger.js +2 -5
  29. package/dist/logger.js.map +1 -1
  30. package/dist/messageHandlers/handleCrdtGet.d.ts +1 -2
  31. package/dist/messageHandlers/handleCrdtGet.js.map +1 -1
  32. package/dist/messageHandlers/handleCrdtPut.d.ts +1 -2
  33. package/dist/messageHandlers/handleCrdtPut.js +8 -12
  34. package/dist/messageHandlers/handleCrdtPut.js.map +1 -1
  35. package/dist/messageHandlers/handleGet.d.ts +1 -2
  36. package/dist/messageHandlers/handleGet.js.map +1 -1
  37. package/dist/messageHandlers/handlePing.d.ts +1 -2
  38. package/dist/messageHandlers/handlePing.js +25 -17
  39. package/dist/messageHandlers/handlePing.js.map +1 -1
  40. package/dist/messageHandlers/handlePong.d.ts +1 -2
  41. package/dist/messageHandlers/handlePong.js +15 -1
  42. package/dist/messageHandlers/handlePong.js.map +1 -1
  43. package/dist/messageHandlers/handlePut.d.ts +1 -2
  44. package/dist/messageHandlers/handlePut.js +2 -2
  45. package/dist/messageHandlers/handlePut.js.map +1 -1
  46. package/dist/messageHandlers/handleQuery.d.ts +1 -2
  47. package/dist/messageHandlers/handleQuery.js.map +1 -1
  48. package/dist/messageHandlers/handleSubscribe.d.ts +1 -2
  49. package/dist/messageHandlers/handleSubscribe.js.map +1 -1
  50. package/dist/server.js +2 -5
  51. package/dist/server.js.map +1 -1
  52. package/dist/shared.js.map +1 -1
  53. package/dist/toolDbAnonSignIn.d.ts +1 -1
  54. package/dist/toolDbAnonSignIn.js.map +1 -1
  55. package/dist/toolDbClientOnMessage.d.ts +1 -2
  56. package/dist/toolDbClientOnMessage.js +1 -1
  57. package/dist/toolDbClientOnMessage.js.map +1 -1
  58. package/dist/toolDbCrdtGet.d.ts +1 -3
  59. package/dist/toolDbCrdtGet.js +1 -1
  60. package/dist/toolDbCrdtGet.js.map +1 -1
  61. package/dist/toolDbCrdtPut.d.ts +1 -3
  62. package/dist/toolDbCrdtPut.js +4 -8
  63. package/dist/toolDbCrdtPut.js.map +1 -1
  64. package/dist/toolDbGet.d.ts +1 -1
  65. package/dist/toolDbGet.js +1 -1
  66. package/dist/toolDbGet.js.map +1 -1
  67. package/dist/toolDbKeysSignIn.d.ts +1 -1
  68. package/dist/toolDbKeysSignIn.js.map +1 -1
  69. package/dist/toolDbPut.d.ts +1 -2
  70. package/dist/toolDbPut.js +4 -8
  71. package/dist/toolDbPut.js.map +1 -1
  72. package/dist/toolDbQueryKeys.d.ts +1 -1
  73. package/dist/toolDbQueryKeys.js +2 -6
  74. package/dist/toolDbQueryKeys.js.map +1 -1
  75. package/dist/toolDbSignIn.d.ts +1 -1
  76. package/dist/toolDbSignIn.js +4 -8
  77. package/dist/toolDbSignIn.js.map +1 -1
  78. package/dist/toolDbSignUp.d.ts +1 -2
  79. package/dist/toolDbSignUp.js +2 -2
  80. package/dist/toolDbSignUp.js.map +1 -1
  81. package/dist/toolDbSubscribe.d.ts +1 -1
  82. package/dist/toolDbSubscribe.js +1 -1
  83. package/dist/toolDbSubscribe.js.map +1 -1
  84. package/dist/toolDbVerificationWrapper.js.map +1 -1
  85. package/dist/tooldb.d.ts +5 -10
  86. package/dist/tooldb.js +36 -16
  87. package/dist/tooldb.js.map +1 -1
  88. package/dist/types/message.d.ts +5 -11
  89. package/dist/types/message.js.map +1 -1
  90. package/dist/types/tooldb.d.ts +2 -5
  91. package/dist/types/tooldb.js.map +1 -1
  92. package/dist/utils/catchReturn.js.map +1 -1
  93. package/dist/utils/encoding/arrayBufferToHex.js.map +1 -1
  94. package/dist/utils/encoding/arrayBufferToString.js.map +1 -1
  95. package/dist/utils/encoding/hexToArrayBuffer.js.map +1 -1
  96. package/dist/utils/encoding/hexToString.js.map +1 -1
  97. package/dist/utils/encoding/hexToUint8.js +2 -5
  98. package/dist/utils/encoding/hexToUint8.js.map +1 -1
  99. package/dist/utils/encoding/stringToArrayBuffer.js.map +1 -1
  100. package/dist/utils/getPeerSignature.d.ts +1 -1
  101. package/dist/utils/getPeerSignature.js +2 -5
  102. package/dist/utils/getPeerSignature.js.map +1 -1
  103. package/dist/utils/getTimestamp.js.map +1 -1
  104. package/dist/utils/proofOfWork.js +3 -6
  105. package/dist/utils/proofOfWork.js.map +1 -1
  106. package/dist/utils/randomAnimal.js +1 -1
  107. package/dist/utils/randomAnimal.js.map +1 -1
  108. package/dist/utils/sha1.js.map +1 -1
  109. package/dist/utils/sha256.js.map +1 -1
  110. package/dist/utils/textRandom.js.map +1 -1
  111. package/dist/utils/uniq.d.ts +1 -0
  112. package/dist/utils/uniq.js +7 -0
  113. package/dist/utils/uniq.js.map +1 -0
  114. package/dist/utils/verifyMessage.d.ts +1 -2
  115. package/dist/utils/verifyMessage.js +9 -13
  116. package/dist/utils/verifyMessage.js.map +1 -1
  117. package/dist/utils/verifyPeer.d.ts +1 -2
  118. package/dist/utils/verifyPeer.js +2 -5
  119. package/dist/utils/verifyPeer.js.map +1 -1
  120. package/lib/adapters-base/networkAdapter.ts +215 -0
  121. package/lib/adapters-base/storageAdapter.ts +35 -0
  122. package/lib/adapters-base/userAdapter.ts +49 -0
  123. package/lib/crdt/baseCrdt.ts +21 -0
  124. package/lib/crdt/counterCrdt.ts +111 -0
  125. package/lib/crdt/listCrdt.ts +190 -0
  126. package/lib/crdt/mapCrdt.ts +119 -0
  127. package/lib/index.ts +42 -0
  128. package/lib/logger.ts +30 -0
  129. package/lib/messageHandlers/handleCrdtGet.ts +29 -0
  130. package/lib/messageHandlers/handleCrdtPut.ts +118 -0
  131. package/lib/messageHandlers/handleGet.ts +29 -0
  132. package/lib/messageHandlers/handlePing.ts +40 -0
  133. package/lib/messageHandlers/handlePong.ts +30 -0
  134. package/lib/messageHandlers/handlePut.ts +54 -0
  135. package/lib/messageHandlers/handleQuery.ts +25 -0
  136. package/lib/messageHandlers/handleSubscribe.ts +46 -0
  137. package/lib/server.ts +7 -0
  138. package/lib/shared.ts +5 -0
  139. package/lib/toolDbAnonSignIn.ts +5 -0
  140. package/lib/toolDbClientOnMessage.ts +75 -0
  141. package/lib/toolDbCrdtGet.ts +82 -0
  142. package/lib/toolDbCrdtPut.ts +77 -0
  143. package/lib/toolDbGet.ts +80 -0
  144. package/lib/toolDbKeysSignIn.ts +16 -0
  145. package/lib/toolDbPut.ts +83 -0
  146. package/lib/toolDbQueryKeys.ts +64 -0
  147. package/lib/toolDbSignIn.ts +31 -0
  148. package/lib/toolDbSignUp.ts +71 -0
  149. package/lib/toolDbSubscribe.ts +53 -0
  150. package/lib/toolDbVerificationWrapper.ts +55 -0
  151. package/lib/tooldb.ts +314 -0
  152. package/lib/types/message.ts +133 -0
  153. package/lib/types/tooldb.ts +89 -0
  154. package/lib/utils/catchReturn.ts +4 -0
  155. package/lib/utils/encoding/arrayBufferToHex.ts +18 -0
  156. package/lib/utils/encoding/arrayBufferToString.ts +8 -0
  157. package/lib/utils/encoding/hexToArrayBuffer.ts +13 -0
  158. package/lib/utils/encoding/hexToString.ts +8 -0
  159. package/lib/utils/encoding/hexToUint8.ts +5 -0
  160. package/lib/utils/encoding/stringToArrayBuffer.ts +8 -0
  161. package/lib/utils/getPeerSignature.ts +12 -0
  162. package/lib/utils/getTimestamp.ts +3 -0
  163. package/lib/utils/proofOfWork.ts +16 -0
  164. package/lib/utils/randomAnimal.ts +77 -0
  165. package/lib/utils/sha1.ts +7 -0
  166. package/lib/utils/sha256.ts +7 -0
  167. package/lib/utils/textRandom.ts +11 -0
  168. package/lib/utils/uniq.ts +3 -0
  169. package/lib/utils/verifyMessage.ts +88 -0
  170. package/lib/utils/verifyPeer.ts +15 -0
  171. package/package.json +32 -69
  172. package/tsconfig.json +10 -72
  173. package/.eslintrc.json +0 -74
  174. package/.github/workflows/main.yml +0 -29
  175. package/babel.config.js +0 -6
  176. package/custom-test-env.js +0 -28
  177. package/dist/__tests__ copy/base64.d.ts +0 -1
  178. package/dist/__tests__ copy/base64.js +0 -61
  179. package/dist/__tests__ copy/base64.js.map +0 -1
  180. package/dist/__tests__ copy/encryption.d.ts +0 -1
  181. package/dist/__tests__ copy/encryption.js +0 -68
  182. package/dist/__tests__ copy/encryption.js.map +0 -1
  183. package/dist/__tests__ copy/keys.d.ts +0 -1
  184. package/dist/__tests__ copy/keys.js +0 -238
  185. package/dist/__tests__ copy/keys.js.map +0 -1
  186. package/dist/__tests__ copy/network.d.ts +0 -1
  187. package/dist/__tests__ copy/network.js +0 -206
  188. package/dist/__tests__ copy/network.js.map +0 -1
  189. package/dist/__tests__ copy/pow.d.ts +0 -1
  190. package/dist/__tests__ copy/pow.js +0 -25
  191. package/dist/__tests__ copy/pow.js.map +0 -1
  192. package/dist/__tests__ copy/sha1.d.ts +0 -1
  193. package/dist/__tests__ copy/sha1.js +0 -16
  194. package/dist/__tests__ copy/sha1.js.map +0 -1
  195. package/dist/__tests__ copy/sha256.d.ts +0 -1
  196. package/dist/__tests__ copy/sha256.js +0 -16
  197. package/dist/__tests__ copy/sha256.js.map +0 -1
  198. package/dist/__tests__ copy/textRandom.d.ts +0 -1
  199. package/dist/__tests__ copy/textRandom.js +0 -17
  200. package/dist/__tests__ copy/textRandom.js.map +0 -1
  201. package/dist/adapters/toolDbIndexedb.d.ts +0 -10
  202. package/dist/adapters/toolDbIndexedb.js +0 -128
  203. package/dist/adapters/toolDbIndexedb.js.map +0 -1
  204. package/dist/adapters/toolDbLeveldb.d.ts +0 -9
  205. package/dist/adapters/toolDbLeveldb.js +0 -112
  206. package/dist/adapters/toolDbLeveldb.js.map +0 -1
  207. package/dist/adapters/toolDbWeb3User.d.ts +0 -20
  208. package/dist/adapters/toolDbWeb3User.js +0 -75
  209. package/dist/adapters/toolDbWeb3User.js.map +0 -1
  210. package/dist/adapters/toolDbWebrtc.d.ts +0 -59
  211. package/dist/adapters/toolDbWebrtc.js +0 -492
  212. package/dist/adapters/toolDbWebrtc.js.map +0 -1
  213. package/dist/adapters/toolDbWebsocket.d.ts +0 -19
  214. package/dist/adapters/toolDbWebsocket.js +0 -181
  215. package/dist/adapters/toolDbWebsocket.js.map +0 -1
  216. package/dist/bundle.js +0 -69086
  217. package/dist/chain/Block.d.ts +0 -29
  218. package/dist/chain/Block.js +0 -142
  219. package/dist/chain/Block.js.map +0 -1
  220. package/dist/chain/ToolChain.d.ts +0 -27
  221. package/dist/chain/ToolChain.js +0 -253
  222. package/dist/chain/ToolChain.js.map +0 -1
  223. package/dist/chain/Tx.d.ts +0 -50
  224. package/dist/chain/Tx.js +0 -54
  225. package/dist/chain/Tx.js.map +0 -1
  226. package/dist/chain/Wallet.d.ts +0 -9
  227. package/dist/chain/Wallet.js +0 -37
  228. package/dist/chain/Wallet.js.map +0 -1
  229. package/dist/chain/isValidChain.d.ts +0 -1
  230. package/dist/chain/isValidChain.js +0 -37
  231. package/dist/chain/isValidChain.js.map +0 -1
  232. package/dist/chain/mempool.d.ts +0 -0
  233. package/dist/chain/mempool.js +0 -2
  234. package/dist/chain/mempool.js.map +0 -1
  235. package/dist/getCrypto.d.ts +0 -1
  236. package/dist/getCrypto.js +0 -10
  237. package/dist/getCrypto.js.map +0 -1
  238. package/dist/infuraFilecoin.d.ts +0 -0
  239. package/dist/infuraFilecoin.js +0 -2
  240. package/dist/infuraFilecoin.js.map +0 -1
  241. package/dist/loadCrdtDocument.d.ts +0 -3
  242. package/dist/loadCrdtDocument.js +0 -38
  243. package/dist/loadCrdtDocument.js.map +0 -1
  244. package/dist/makeTx.d.ts +0 -1
  245. package/dist/makeTx.js +0 -27
  246. package/dist/makeTx.js.map +0 -1
  247. package/dist/messageHandlers/handleCrdt.d.ts +0 -3
  248. package/dist/messageHandlers/handleCrdt.js +0 -11
  249. package/dist/messageHandlers/handleCrdt.js.map +0 -1
  250. package/dist/messageHandlers/handleJoin.d.ts +0 -3
  251. package/dist/messageHandlers/handleJoin.js +0 -36
  252. package/dist/messageHandlers/handleJoin.js.map +0 -1
  253. package/dist/messageHandlers/handleServers.d.ts +0 -3
  254. package/dist/messageHandlers/handleServers.js +0 -23
  255. package/dist/messageHandlers/handleServers.js.map +0 -1
  256. package/dist/sendJoin.d.ts +0 -2
  257. package/dist/sendJoin.js +0 -31
  258. package/dist/sendJoin.js.map +0 -1
  259. package/dist/test.d.ts +0 -1
  260. package/dist/test.js +0 -17
  261. package/dist/test.js.map +0 -1
  262. package/dist/toolChainServer.d.ts +0 -8
  263. package/dist/toolChainServer.js +0 -60
  264. package/dist/toolChainServer.js.map +0 -1
  265. package/dist/toolDbGetPubKey.d.ts +0 -2
  266. package/dist/toolDbGetPubKey.js +0 -18
  267. package/dist/toolDbGetPubKey.js.map +0 -1
  268. package/dist/toolDbNetwork.d.ts +0 -20
  269. package/dist/toolDbNetwork.js +0 -193
  270. package/dist/toolDbNetwork.js.map +0 -1
  271. package/dist/toolDbNetworkAdapter.d.ts +0 -57
  272. package/dist/toolDbNetworkAdapter.js +0 -188
  273. package/dist/toolDbNetworkAdapter.js.map +0 -1
  274. package/dist/toolDbWeb3User.d.ts +0 -20
  275. package/dist/toolDbWeb3User.js +0 -75
  276. package/dist/toolDbWeb3User.js.map +0 -1
  277. package/dist/toolDbWebrtc.d.ts +0 -59
  278. package/dist/toolDbWebrtc.js +0 -490
  279. package/dist/toolDbWebrtc.js.map +0 -1
  280. package/dist/toolDbWebsocket.d.ts +0 -19
  281. package/dist/toolDbWebsocket.js +0 -187
  282. package/dist/toolDbWebsocket.js.map +0 -1
  283. package/dist/toolchain.d.ts +0 -1
  284. package/dist/toolchain.js +0 -8
  285. package/dist/toolchain.js.map +0 -1
  286. package/dist/types/graph.d.ts +0 -0
  287. package/dist/types/graph.js +0 -2
  288. package/dist/types/graph.js.map +0 -1
  289. package/dist/utils/arrayBufferToBase64.d.ts +0 -1
  290. package/dist/utils/arrayBufferToBase64.js +0 -12
  291. package/dist/utils/arrayBufferToBase64.js.map +0 -1
  292. package/dist/utils/arrayBufferToHex.d.ts +0 -1
  293. package/dist/utils/arrayBufferToHex.js +0 -19
  294. package/dist/utils/arrayBufferToHex.js.map +0 -1
  295. package/dist/utils/arrayBufferToString.d.ts +0 -1
  296. package/dist/utils/arrayBufferToString.js +0 -12
  297. package/dist/utils/arrayBufferToString.js.map +0 -1
  298. package/dist/utils/base64ToArrayBuffer.d.ts +0 -1
  299. package/dist/utils/base64ToArrayBuffer.js +0 -12
  300. package/dist/utils/base64ToArrayBuffer.js.map +0 -1
  301. package/dist/utils/base64ToBinaryChange.d.ts +0 -2
  302. package/dist/utils/base64ToBinaryChange.js +0 -18
  303. package/dist/utils/base64ToBinaryChange.js.map +0 -1
  304. package/dist/utils/base64ToBinaryDocument.d.ts +0 -2
  305. package/dist/utils/base64ToBinaryDocument.js +0 -18
  306. package/dist/utils/base64ToBinaryDocument.js.map +0 -1
  307. package/dist/utils/base64ToHex.d.ts +0 -1
  308. package/dist/utils/base64ToHex.js +0 -13
  309. package/dist/utils/base64ToHex.js.map +0 -1
  310. package/dist/utils/base64ToUint8.d.ts +0 -1
  311. package/dist/utils/base64ToUint8.js +0 -17
  312. package/dist/utils/base64ToUint8.js.map +0 -1
  313. package/dist/utils/crypto/base64KeyToHex.d.ts +0 -1
  314. package/dist/utils/crypto/base64KeyToHex.js +0 -24
  315. package/dist/utils/crypto/base64KeyToHex.js.map +0 -1
  316. package/dist/utils/crypto/base64PublicKeyToHex.d.ts +0 -1
  317. package/dist/utils/crypto/base64PublicKeyToHex.js +0 -22
  318. package/dist/utils/crypto/base64PublicKeyToHex.js.map +0 -1
  319. package/dist/utils/crypto/decodeKeyString.d.ts +0 -1
  320. package/dist/utils/crypto/decodeKeyString.js +0 -12
  321. package/dist/utils/crypto/decodeKeyString.js.map +0 -1
  322. package/dist/utils/crypto/decryptData.d.ts +0 -1
  323. package/dist/utils/crypto/decryptData.js +0 -28
  324. package/dist/utils/crypto/decryptData.js.map +0 -1
  325. package/dist/utils/crypto/decryptWithPass.d.ts +0 -1
  326. package/dist/utils/crypto/decryptWithPass.js +0 -22
  327. package/dist/utils/crypto/decryptWithPass.js.map +0 -1
  328. package/dist/utils/crypto/deriveSecret.d.ts +0 -1
  329. package/dist/utils/crypto/deriveSecret.js +0 -18
  330. package/dist/utils/crypto/deriveSecret.js.map +0 -1
  331. package/dist/utils/crypto/encodeKeyString.d.ts +0 -1
  332. package/dist/utils/crypto/encodeKeyString.js +0 -12
  333. package/dist/utils/crypto/encodeKeyString.js.map +0 -1
  334. package/dist/utils/crypto/encryptData.d.ts +0 -1
  335. package/dist/utils/crypto/encryptData.js +0 -25
  336. package/dist/utils/crypto/encryptData.js.map +0 -1
  337. package/dist/utils/crypto/encryptWithPass.d.ts +0 -1
  338. package/dist/utils/crypto/encryptWithPass.js +0 -22
  339. package/dist/utils/crypto/encryptWithPass.js.map +0 -1
  340. package/dist/utils/crypto/exportKey.d.ts +0 -1
  341. package/dist/utils/crypto/exportKey.js +0 -14
  342. package/dist/utils/crypto/exportKey.js.map +0 -1
  343. package/dist/utils/crypto/exportKeyAsHex.d.ts +0 -1
  344. package/dist/utils/crypto/exportKeyAsHex.js +0 -18
  345. package/dist/utils/crypto/exportKeyAsHex.js.map +0 -1
  346. package/dist/utils/crypto/generateKeyFromPassword.d.ts +0 -1
  347. package/dist/utils/crypto/generateKeyFromPassword.js +0 -25
  348. package/dist/utils/crypto/generateKeyFromPassword.js.map +0 -1
  349. package/dist/utils/crypto/generateKeyPair.d.ts +0 -1
  350. package/dist/utils/crypto/generateKeyPair.js +0 -17
  351. package/dist/utils/crypto/generateKeyPair.js.map +0 -1
  352. package/dist/utils/crypto/generateKeysComb.d.ts +0 -4
  353. package/dist/utils/crypto/generateKeysComb.js +0 -60
  354. package/dist/utils/crypto/generateKeysComb.js.map +0 -1
  355. package/dist/utils/crypto/importKey.d.ts +0 -1
  356. package/dist/utils/crypto/importKey.js +0 -23
  357. package/dist/utils/crypto/importKey.js.map +0 -1
  358. package/dist/utils/crypto/loadKeysComb.d.ts +0 -5
  359. package/dist/utils/crypto/loadKeysComb.js +0 -90
  360. package/dist/utils/crypto/loadKeysComb.js.map +0 -1
  361. package/dist/utils/crypto/loadSignKeys.d.ts +0 -2
  362. package/dist/utils/crypto/loadSignKeys.js +0 -78
  363. package/dist/utils/crypto/loadSignKeys.js.map +0 -1
  364. package/dist/utils/crypto/recoverPubKey.d.ts +0 -1
  365. package/dist/utils/crypto/recoverPubKey.js +0 -33
  366. package/dist/utils/crypto/recoverPubKey.js.map +0 -1
  367. package/dist/utils/crypto/recoverPubKeyFromPrivate.d.ts +0 -1
  368. package/dist/utils/crypto/recoverPubKeyFromPrivate.js +0 -16
  369. package/dist/utils/crypto/recoverPubKeyFromPrivate.js.map +0 -1
  370. package/dist/utils/crypto/saveKeysComb.d.ts +0 -2
  371. package/dist/utils/crypto/saveKeysComb.js +0 -75
  372. package/dist/utils/crypto/saveKeysComb.js.map +0 -1
  373. package/dist/utils/crypto/saveSignKeys.d.ts +0 -2
  374. package/dist/utils/crypto/saveSignKeys.js +0 -67
  375. package/dist/utils/crypto/saveSignKeys.js.map +0 -1
  376. package/dist/utils/crypto/verifyData.d.ts +0 -1
  377. package/dist/utils/crypto/verifyData.js +0 -20
  378. package/dist/utils/crypto/verifyData.js.map +0 -1
  379. package/dist/utils/encoding/arrayBufferToBase64.d.ts +0 -1
  380. package/dist/utils/encoding/arrayBufferToBase64.js +0 -12
  381. package/dist/utils/encoding/arrayBufferToBase64.js.map +0 -1
  382. package/dist/utils/encoding/base64ToArrayBuffer.d.ts +0 -1
  383. package/dist/utils/encoding/base64ToArrayBuffer.js +0 -12
  384. package/dist/utils/encoding/base64ToArrayBuffer.js.map +0 -1
  385. package/dist/utils/encoding/base64ToBinaryChange.d.ts +0 -2
  386. package/dist/utils/encoding/base64ToBinaryChange.js +0 -18
  387. package/dist/utils/encoding/base64ToBinaryChange.js.map +0 -1
  388. package/dist/utils/encoding/base64ToBinaryDocument.d.ts +0 -2
  389. package/dist/utils/encoding/base64ToBinaryDocument.js +0 -18
  390. package/dist/utils/encoding/base64ToBinaryDocument.js.map +0 -1
  391. package/dist/utils/encoding/base64ToHex.d.ts +0 -1
  392. package/dist/utils/encoding/base64ToHex.js +0 -13
  393. package/dist/utils/encoding/base64ToHex.js.map +0 -1
  394. package/dist/utils/encoding/base64ToUint8.d.ts +0 -1
  395. package/dist/utils/encoding/base64ToUint8.js +0 -17
  396. package/dist/utils/encoding/base64ToUint8.js.map +0 -1
  397. package/dist/utils/encoding/fromBase64.d.ts +0 -1
  398. package/dist/utils/encoding/fromBase64.js +0 -7
  399. package/dist/utils/encoding/fromBase64.js.map +0 -1
  400. package/dist/utils/encoding/hexToBase64.d.ts +0 -1
  401. package/dist/utils/encoding/hexToBase64.js +0 -12
  402. package/dist/utils/encoding/hexToBase64.js.map +0 -1
  403. package/dist/utils/encoding/toBase64.d.ts +0 -1
  404. package/dist/utils/encoding/toBase64.js +0 -7
  405. package/dist/utils/encoding/toBase64.js.map +0 -1
  406. package/dist/utils/encoding/uint8ArrayToHex.d.ts +0 -1
  407. package/dist/utils/encoding/uint8ArrayToHex.js +0 -7
  408. package/dist/utils/encoding/uint8ArrayToHex.js.map +0 -1
  409. package/dist/utils/encoding/uint8ToBase64.d.ts +0 -1
  410. package/dist/utils/encoding/uint8ToBase64.js +0 -15
  411. package/dist/utils/encoding/uint8ToBase64.js.map +0 -1
  412. package/dist/utils/fromBase64.d.ts +0 -1
  413. package/dist/utils/fromBase64.js +0 -7
  414. package/dist/utils/fromBase64.js.map +0 -1
  415. package/dist/utils/generateIv.d.ts +0 -1
  416. package/dist/utils/generateIv.js +0 -12
  417. package/dist/utils/generateIv.js.map +0 -1
  418. package/dist/utils/hexToArrayBuffer.d.ts +0 -1
  419. package/dist/utils/hexToArrayBuffer.js +0 -15
  420. package/dist/utils/hexToArrayBuffer.js.map +0 -1
  421. package/dist/utils/hexToBase64.d.ts +0 -1
  422. package/dist/utils/hexToBase64.js +0 -12
  423. package/dist/utils/hexToBase64.js.map +0 -1
  424. package/dist/utils/hexToString.d.ts +0 -1
  425. package/dist/utils/hexToString.js +0 -12
  426. package/dist/utils/hexToString.js.map +0 -1
  427. package/dist/utils/hexToUint8.d.ts +0 -1
  428. package/dist/utils/hexToUint8.js +0 -8
  429. package/dist/utils/hexToUint8.js.map +0 -1
  430. package/dist/utils/indexedb.d.ts +0 -2
  431. package/dist/utils/indexedb.js +0 -116
  432. package/dist/utils/indexedb.js.map +0 -1
  433. package/dist/utils/leveldb.d.ts +0 -2
  434. package/dist/utils/leveldb.js +0 -85
  435. package/dist/utils/leveldb.js.map +0 -1
  436. package/dist/utils/signData.d.ts +0 -1
  437. package/dist/utils/signData.js +0 -19
  438. package/dist/utils/signData.js.map +0 -1
  439. package/dist/utils/stringToArrayBuffer.d.ts +0 -1
  440. package/dist/utils/stringToArrayBuffer.js +0 -12
  441. package/dist/utils/stringToArrayBuffer.js.map +0 -1
  442. package/dist/utils/toBase64.d.ts +0 -1
  443. package/dist/utils/toBase64.js +0 -7
  444. package/dist/utils/toBase64.js.map +0 -1
  445. package/dist/utils/uint8ArrayToHex.d.ts +0 -2
  446. package/dist/utils/uint8ArrayToHex.js +0 -7
  447. package/dist/utils/uint8ArrayToHex.js.map +0 -1
  448. package/dist/utils/uint8ToBase64.d.ts +0 -2
  449. package/dist/utils/uint8ToBase64.js +0 -15
  450. package/dist/utils/uint8ToBase64.js.map +0 -1
  451. package/jest.config.ts +0 -195
  452. package/jest.setup.js +0 -0
  453. package/test-alice/000145.ldb +0 -0
  454. package/test-alice/000147.ldb +0 -0
  455. package/test-alice/000150.ldb +0 -0
  456. package/test-alice/000153.ldb +0 -0
  457. package/test-alice/000154.log +0 -0
  458. package/test-alice/CURRENT +0 -1
  459. package/test-alice/LOCK +0 -0
  460. package/test-alice/LOG +0 -5
  461. package/test-alice/LOG.old +0 -5
  462. package/test-alice/MANIFEST-000152 +0 -0
  463. package/test-alice-speed/000022.ldb +0 -0
  464. package/test-alice-speed/000024.ldb +0 -0
  465. package/test-alice-speed/000027.ldb +0 -0
  466. package/test-alice-speed/000030.ldb +0 -0
  467. package/test-alice-speed/000031.log +0 -0
  468. package/test-alice-speed/CURRENT +0 -1
  469. package/test-alice-speed/LOCK +0 -0
  470. package/test-alice-speed/LOG +0 -5
  471. package/test-alice-speed/LOG.old +0 -5
  472. package/test-alice-speed/MANIFEST-000029 +0 -0
  473. package/test-base-client/000099.log +0 -0
  474. package/test-base-client/CURRENT +0 -1
  475. package/test-base-client/LOCK +0 -0
  476. package/test-base-client/LOG +0 -3
  477. package/test-base-client/LOG.old +0 -3
  478. package/test-base-client/MANIFEST-000098 +0 -0
  479. package/test-base-server/000101.log +0 -0
  480. package/test-base-server/CURRENT +0 -1
  481. package/test-base-server/LOCK +0 -0
  482. package/test-base-server/LOG +0 -3
  483. package/test-base-server/LOG.old +0 -3
  484. package/test-base-server/MANIFEST-000100 +0 -0
  485. package/test-bob/000160.ldb +0 -0
  486. package/test-bob/000162.ldb +0 -0
  487. package/test-bob/000163.log +0 -0
  488. package/test-bob/CURRENT +0 -1
  489. package/test-bob/LOCK +0 -0
  490. package/test-bob/LOG +0 -5
  491. package/test-bob/LOG.old +0 -14
  492. package/test-bob/MANIFEST-000161 +0 -0
  493. package/test-chris/000017.ldb +0 -0
  494. package/test-chris/000020.ldb +0 -0
  495. package/test-chris/000023.ldb +0 -0
  496. package/test-chris/000026.ldb +0 -0
  497. package/test-chris/000029.ldb +0 -0
  498. package/test-chris/000086.ldb +0 -0
  499. package/test-chris/000089.ldb +0 -0
  500. package/test-chris/000092.ldb +0 -0
  501. package/test-chris/000095.ldb +0 -0
  502. package/test-chris/000098.ldb +0 -0
  503. package/test-chris/000103.ldb +0 -0
  504. package/test-chris/000106.ldb +0 -0
  505. package/test-chris/000109.ldb +0 -0
  506. package/test-chris/000112.ldb +0 -0
  507. package/test-chris/000115.ldb +0 -0
  508. package/test-chris/000118.ldb +0 -0
  509. package/test-chris/000121.ldb +0 -0
  510. package/test-chris/000124.ldb +0 -0
  511. package/test-chris/000127.ldb +0 -0
  512. package/test-chris/000130.ldb +0 -0
  513. package/test-chris/000133.ldb +0 -0
  514. package/test-chris/000136.ldb +0 -0
  515. package/test-chris/000139.ldb +0 -0
  516. package/test-chris/000142.ldb +0 -0
  517. package/test-chris/000145.ldb +0 -0
  518. package/test-chris/000148.ldb +0 -0
  519. package/test-chris/000151.ldb +0 -0
  520. package/test-chris/000152.log +0 -0
  521. package/test-chris/CURRENT +0 -1
  522. package/test-chris/LOCK +0 -0
  523. package/test-chris/LOG +0 -6
  524. package/test-chris/LOG.old +0 -6
  525. package/test-chris/MANIFEST-000150 +0 -0
  526. package/test-node-a/000175.ldb +0 -0
  527. package/test-node-a/000177.ldb +0 -0
  528. package/test-node-a/000178.log +0 -0
  529. package/test-node-a/CURRENT +0 -1
  530. package/test-node-a/LOCK +0 -0
  531. package/test-node-a/LOG +0 -5
  532. package/test-node-a/LOG.old +0 -14
  533. package/test-node-a/MANIFEST-000176 +0 -0
  534. package/test-node-b/000175.ldb +0 -0
  535. package/test-node-b/000177.ldb +0 -0
  536. package/test-node-b/000178.log +0 -0
  537. package/test-node-b/CURRENT +0 -1
  538. package/test-node-b/LOCK +0 -0
  539. package/test-node-b/LOG +0 -5
  540. package/test-node-b/LOG.old +0 -14
  541. package/test-node-b/MANIFEST-000176 +0 -0
  542. package/test-store/000007.ldb +0 -0
  543. package/test-store/000010.ldb +0 -0
  544. package/test-store/000013.ldb +0 -0
  545. package/test-store/000016.ldb +0 -0
  546. package/test-store/000019.ldb +0 -0
  547. package/test-store/000022.ldb +0 -0
  548. package/test-store/000025.ldb +0 -0
  549. package/test-store/000028.ldb +0 -0
  550. package/test-store/000031.ldb +0 -0
  551. package/test-store/000034.ldb +0 -0
  552. package/test-store/000037.ldb +0 -0
  553. package/test-store/000038.log +0 -0
  554. package/test-store/CURRENT +0 -1
  555. package/test-store/LOCK +0 -0
  556. package/test-store/LOG +0 -6
  557. package/test-store/LOG.old +0 -6
  558. package/test-store/MANIFEST-000036 +0 -0
  559. package/test-verify-a/000049.log +0 -0
  560. package/test-verify-a/CURRENT +0 -1
  561. package/test-verify-a/LOCK +0 -0
  562. package/test-verify-a/LOG +0 -3
  563. package/test-verify-a/LOG.old +0 -3
  564. package/test-verify-a/MANIFEST-000048 +0 -0
  565. package/toolDbLibP2p.ts +0 -207
@@ -1,181 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolDbWebsocket.js","sourceRoot":"","sources":["../../src/adapters/toolDbWebsocket.ts"],"names":[],"mappings":"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"}