tool-db 2.3.1 → 2.5.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 (615) hide show
  1. package/README.md +1 -74
  2. package/lib/adapters-base/networkAdapter.ts +215 -0
  3. package/lib/adapters-base/storageAdapter.ts +35 -0
  4. package/lib/adapters-base/userAdapter.ts +49 -0
  5. package/lib/crdt/baseCrdt.ts +21 -0
  6. package/lib/crdt/counterCrdt.ts +111 -0
  7. package/lib/crdt/listCrdt.ts +190 -0
  8. package/lib/crdt/mapCrdt.ts +119 -0
  9. package/{dist/index.d.ts → lib/index.ts} +8 -5
  10. package/lib/logger.ts +30 -0
  11. package/lib/messageHandlers/handleCrdtGet.ts +29 -0
  12. package/lib/messageHandlers/handleCrdtPut.ts +118 -0
  13. package/lib/messageHandlers/handleGet.ts +29 -0
  14. package/lib/messageHandlers/handlePing.ts +40 -0
  15. package/lib/messageHandlers/handlePong.ts +30 -0
  16. package/lib/messageHandlers/handlePut.ts +54 -0
  17. package/lib/messageHandlers/handleQuery.ts +25 -0
  18. package/lib/messageHandlers/handleSubscribe.ts +46 -0
  19. package/lib/server.ts +7 -0
  20. package/lib/shared.ts +5 -0
  21. package/lib/toolDbAnonSignIn.ts +5 -0
  22. package/lib/toolDbClientOnMessage.ts +75 -0
  23. package/lib/toolDbCrdtGet.ts +82 -0
  24. package/lib/toolDbCrdtPut.ts +77 -0
  25. package/lib/toolDbGet.ts +80 -0
  26. package/lib/toolDbKeysSignIn.ts +16 -0
  27. package/lib/toolDbPut.ts +83 -0
  28. package/lib/toolDbQueryKeys.ts +64 -0
  29. package/lib/toolDbSignIn.ts +31 -0
  30. package/lib/toolDbSignUp.ts +71 -0
  31. package/lib/toolDbSubscribe.ts +53 -0
  32. package/lib/toolDbVerificationWrapper.ts +55 -0
  33. package/lib/tooldb.ts +314 -0
  34. package/lib/types/message.ts +133 -0
  35. package/lib/types/tooldb.ts +89 -0
  36. package/lib/utils/catchReturn.ts +4 -0
  37. package/lib/utils/encoding/arrayBufferToHex.ts +18 -0
  38. package/lib/utils/encoding/arrayBufferToString.ts +8 -0
  39. package/lib/utils/encoding/hexToArrayBuffer.ts +13 -0
  40. package/lib/utils/encoding/hexToString.ts +8 -0
  41. package/lib/utils/encoding/hexToUint8.ts +5 -0
  42. package/lib/utils/encoding/stringToArrayBuffer.ts +8 -0
  43. package/lib/utils/getPeerSignature.ts +12 -0
  44. package/lib/utils/getTimestamp.ts +3 -0
  45. package/lib/utils/proofOfWork.ts +16 -0
  46. package/lib/utils/randomAnimal.ts +77 -0
  47. package/lib/utils/sha1.ts +7 -0
  48. package/lib/utils/sha256.ts +7 -0
  49. package/lib/utils/textRandom.ts +11 -0
  50. package/lib/utils/uniq.ts +3 -0
  51. package/lib/utils/verifyMessage.ts +88 -0
  52. package/lib/utils/verifyPeer.ts +15 -0
  53. package/package.json +31 -65
  54. package/tsconfig.json +10 -72
  55. package/.eslintrc.json +0 -74
  56. package/.github/workflows/main.yml +0 -29
  57. package/_____peer/000005.ldb +0 -0
  58. package/_____peer/000008.log +0 -0
  59. package/_____peer/CURRENT +0 -1
  60. package/_____peer/LOCK +0 -0
  61. package/_____peer/LOG +0 -0
  62. package/_____peer/LOG.old +0 -0
  63. package/_____peer/MANIFEST-000007 +0 -0
  64. package/_____peer_test-alice/000003.log +0 -0
  65. package/_____peer_test-alice/CURRENT +0 -1
  66. package/_____peer_test-alice/LOCK +0 -0
  67. package/_____peer_test-alice/LOG +0 -1
  68. package/_____peer_test-alice/MANIFEST-000002 +0 -0
  69. package/_____peer_test-base-client/000005.ldb +0 -0
  70. package/_____peer_test-base-client/000006.log +0 -0
  71. package/_____peer_test-base-client/CURRENT +0 -1
  72. package/_____peer_test-base-client/LOCK +0 -0
  73. package/_____peer_test-base-client/LOG +0 -5
  74. package/_____peer_test-base-client/LOG.old +0 -1
  75. package/_____peer_test-base-client/MANIFEST-000004 +0 -0
  76. package/_____peer_test-base-server/000005.ldb +0 -0
  77. package/_____peer_test-base-server/000006.log +0 -0
  78. package/_____peer_test-base-server/CURRENT +0 -1
  79. package/_____peer_test-base-server/LOCK +0 -0
  80. package/_____peer_test-base-server/LOG +0 -5
  81. package/_____peer_test-base-server/LOG.old +0 -1
  82. package/_____peer_test-base-server/MANIFEST-000004 +0 -0
  83. package/_____peer_test-bob/000003.log +0 -0
  84. package/_____peer_test-bob/CURRENT +0 -1
  85. package/_____peer_test-bob/LOCK +0 -0
  86. package/_____peer_test-bob/LOG +0 -1
  87. package/_____peer_test-bob/MANIFEST-000002 +0 -0
  88. package/_____peer_test-chris/000003.log +0 -0
  89. package/_____peer_test-chris/CURRENT +0 -1
  90. package/_____peer_test-chris/LOCK +0 -0
  91. package/_____peer_test-chris/LOG +0 -1
  92. package/_____peer_test-chris/MANIFEST-000002 +0 -0
  93. package/_____peer_test-node-a/000003.log +0 -0
  94. package/_____peer_test-node-a/CURRENT +0 -1
  95. package/_____peer_test-node-a/LOCK +0 -0
  96. package/_____peer_test-node-a/LOG +0 -1
  97. package/_____peer_test-node-a/MANIFEST-000002 +0 -0
  98. package/_____peer_test-node-b/000003.log +0 -0
  99. package/_____peer_test-node-b/CURRENT +0 -1
  100. package/_____peer_test-node-b/LOCK +0 -0
  101. package/_____peer_test-node-b/LOG +0 -1
  102. package/_____peer_test-node-b/MANIFEST-000002 +0 -0
  103. package/_____peer_test-store/000003.log +0 -0
  104. package/_____peer_test-store/CURRENT +0 -1
  105. package/_____peer_test-store/LOCK +0 -0
  106. package/_____peer_test-store/LOG +0 -1
  107. package/_____peer_test-store/MANIFEST-000002 +0 -0
  108. package/_____peer_test-verify-a/000003.log +0 -0
  109. package/_____peer_test-verify-a/CURRENT +0 -1
  110. package/_____peer_test-verify-a/LOCK +0 -0
  111. package/_____peer_test-verify-a/LOG +0 -1
  112. package/_____peer_test-verify-a/MANIFEST-000002 +0 -0
  113. package/babel.config.js +0 -6
  114. package/bundle.js +0 -1
  115. package/custom-test-env.js +0 -28
  116. package/dist/__tests__ copy/base64.d.ts +0 -1
  117. package/dist/__tests__ copy/base64.js +0 -61
  118. package/dist/__tests__ copy/base64.js.map +0 -1
  119. package/dist/__tests__ copy/encryption.d.ts +0 -1
  120. package/dist/__tests__ copy/encryption.js +0 -68
  121. package/dist/__tests__ copy/encryption.js.map +0 -1
  122. package/dist/__tests__ copy/keys.d.ts +0 -1
  123. package/dist/__tests__ copy/keys.js +0 -238
  124. package/dist/__tests__ copy/keys.js.map +0 -1
  125. package/dist/__tests__ copy/network.d.ts +0 -1
  126. package/dist/__tests__ copy/network.js +0 -206
  127. package/dist/__tests__ copy/network.js.map +0 -1
  128. package/dist/__tests__ copy/pow.d.ts +0 -1
  129. package/dist/__tests__ copy/pow.js +0 -25
  130. package/dist/__tests__ copy/pow.js.map +0 -1
  131. package/dist/__tests__ copy/sha1.d.ts +0 -1
  132. package/dist/__tests__ copy/sha1.js +0 -16
  133. package/dist/__tests__ copy/sha1.js.map +0 -1
  134. package/dist/__tests__ copy/sha256.d.ts +0 -1
  135. package/dist/__tests__ copy/sha256.js +0 -16
  136. package/dist/__tests__ copy/sha256.js.map +0 -1
  137. package/dist/__tests__ copy/textRandom.d.ts +0 -1
  138. package/dist/__tests__ copy/textRandom.js +0 -17
  139. package/dist/__tests__ copy/textRandom.js.map +0 -1
  140. package/dist/adapters/toolDbIndexedb.d.ts +0 -9
  141. package/dist/adapters/toolDbIndexedb.js +0 -131
  142. package/dist/adapters/toolDbIndexedb.js.map +0 -1
  143. package/dist/adapters/toolDbLeveldb.d.ts +0 -8
  144. package/dist/adapters/toolDbLeveldb.js +0 -109
  145. package/dist/adapters/toolDbLeveldb.js.map +0 -1
  146. package/dist/adapters/toolDbWeb3User.d.ts +0 -18
  147. package/dist/adapters/toolDbWeb3User.js +0 -74
  148. package/dist/adapters/toolDbWeb3User.js.map +0 -1
  149. package/dist/adapters/toolDbWebrtc.d.ts +0 -58
  150. package/dist/adapters/toolDbWebrtc.js +0 -487
  151. package/dist/adapters/toolDbWebrtc.js.map +0 -1
  152. package/dist/adapters/toolDbWebsocket.d.ts +0 -18
  153. package/dist/adapters/toolDbWebsocket.js +0 -176
  154. package/dist/adapters/toolDbWebsocket.js.map +0 -1
  155. package/dist/adapters-base/networkAdapter.d.ts +0 -58
  156. package/dist/adapters-base/networkAdapter.js +0 -214
  157. package/dist/adapters-base/networkAdapter.js.map +0 -1
  158. package/dist/adapters-base/storageAdapter.d.ts +0 -11
  159. package/dist/adapters-base/storageAdapter.js +0 -36
  160. package/dist/adapters-base/storageAdapter.js.map +0 -1
  161. package/dist/adapters-base/userAdapter.d.ts +0 -15
  162. package/dist/adapters-base/userAdapter.js +0 -42
  163. package/dist/adapters-base/userAdapter.js.map +0 -1
  164. package/dist/bundle.js +0 -69086
  165. package/dist/chain/Block.d.ts +0 -29
  166. package/dist/chain/Block.js +0 -142
  167. package/dist/chain/Block.js.map +0 -1
  168. package/dist/chain/ToolChain.d.ts +0 -27
  169. package/dist/chain/ToolChain.js +0 -253
  170. package/dist/chain/ToolChain.js.map +0 -1
  171. package/dist/chain/Tx.d.ts +0 -50
  172. package/dist/chain/Tx.js +0 -54
  173. package/dist/chain/Tx.js.map +0 -1
  174. package/dist/chain/Wallet.d.ts +0 -9
  175. package/dist/chain/Wallet.js +0 -37
  176. package/dist/chain/Wallet.js.map +0 -1
  177. package/dist/chain/isValidChain.d.ts +0 -1
  178. package/dist/chain/isValidChain.js +0 -37
  179. package/dist/chain/isValidChain.js.map +0 -1
  180. package/dist/chain/mempool.d.ts +0 -0
  181. package/dist/chain/mempool.js +0 -2
  182. package/dist/chain/mempool.js.map +0 -1
  183. package/dist/crdt/baseCrdt.d.ts +0 -9
  184. package/dist/crdt/baseCrdt.js +0 -27
  185. package/dist/crdt/baseCrdt.js.map +0 -1
  186. package/dist/crdt/counterCrdt.d.ts +0 -30
  187. package/dist/crdt/counterCrdt.js +0 -106
  188. package/dist/crdt/counterCrdt.js.map +0 -1
  189. package/dist/crdt/listCrdt.d.ts +0 -42
  190. package/dist/crdt/listCrdt.js +0 -159
  191. package/dist/crdt/listCrdt.js.map +0 -1
  192. package/dist/crdt/mapCrdt.d.ts +0 -32
  193. package/dist/crdt/mapCrdt.js +0 -118
  194. package/dist/crdt/mapCrdt.js.map +0 -1
  195. package/dist/getCrypto.d.ts +0 -1
  196. package/dist/getCrypto.js +0 -10
  197. package/dist/getCrypto.js.map +0 -1
  198. package/dist/index.js +0 -93
  199. package/dist/index.js.map +0 -1
  200. package/dist/infuraFilecoin.d.ts +0 -0
  201. package/dist/infuraFilecoin.js +0 -2
  202. package/dist/infuraFilecoin.js.map +0 -1
  203. package/dist/loadCrdtDocument.d.ts +0 -3
  204. package/dist/loadCrdtDocument.js +0 -43
  205. package/dist/loadCrdtDocument.js.map +0 -1
  206. package/dist/logger.d.ts +0 -2
  207. package/dist/logger.js +0 -29
  208. package/dist/logger.js.map +0 -1
  209. package/dist/makeTx.d.ts +0 -1
  210. package/dist/makeTx.js +0 -27
  211. package/dist/makeTx.js.map +0 -1
  212. package/dist/messageHandlers/handleCrdt.d.ts +0 -2
  213. package/dist/messageHandlers/handleCrdt.js +0 -15
  214. package/dist/messageHandlers/handleCrdt.js.map +0 -1
  215. package/dist/messageHandlers/handleCrdtGet.d.ts +0 -2
  216. package/dist/messageHandlers/handleCrdtGet.js +0 -29
  217. package/dist/messageHandlers/handleCrdtGet.js.map +0 -1
  218. package/dist/messageHandlers/handleCrdtPut.d.ts +0 -2
  219. package/dist/messageHandlers/handleCrdtPut.js +0 -93
  220. package/dist/messageHandlers/handleCrdtPut.js.map +0 -1
  221. package/dist/messageHandlers/handleGet.d.ts +0 -2
  222. package/dist/messageHandlers/handleGet.js +0 -29
  223. package/dist/messageHandlers/handleGet.js.map +0 -1
  224. package/dist/messageHandlers/handleJoin.d.ts +0 -2
  225. package/dist/messageHandlers/handleJoin.js +0 -36
  226. package/dist/messageHandlers/handleJoin.js.map +0 -1
  227. package/dist/messageHandlers/handlePing.d.ts +0 -2
  228. package/dist/messageHandlers/handlePing.js +0 -36
  229. package/dist/messageHandlers/handlePing.js.map +0 -1
  230. package/dist/messageHandlers/handlePong.d.ts +0 -2
  231. package/dist/messageHandlers/handlePong.js +0 -26
  232. package/dist/messageHandlers/handlePong.js.map +0 -1
  233. package/dist/messageHandlers/handlePut.d.ts +0 -2
  234. package/dist/messageHandlers/handlePut.js +0 -57
  235. package/dist/messageHandlers/handlePut.js.map +0 -1
  236. package/dist/messageHandlers/handleQuery.d.ts +0 -2
  237. package/dist/messageHandlers/handleQuery.js +0 -23
  238. package/dist/messageHandlers/handleQuery.js.map +0 -1
  239. package/dist/messageHandlers/handleServers.d.ts +0 -2
  240. package/dist/messageHandlers/handleServers.js +0 -23
  241. package/dist/messageHandlers/handleServers.js.map +0 -1
  242. package/dist/messageHandlers/handleSubscribe.d.ts +0 -2
  243. package/dist/messageHandlers/handleSubscribe.js +0 -44
  244. package/dist/messageHandlers/handleSubscribe.js.map +0 -1
  245. package/dist/sendJoin.d.ts +0 -2
  246. package/dist/sendJoin.js +0 -31
  247. package/dist/sendJoin.js.map +0 -1
  248. package/dist/server.d.ts +0 -1
  249. package/dist/server.js +0 -9
  250. package/dist/server.js.map +0 -1
  251. package/dist/shared.d.ts +0 -2
  252. package/dist/shared.js +0 -7
  253. package/dist/shared.js.map +0 -1
  254. package/dist/test.d.ts +0 -1
  255. package/dist/test.js +0 -17
  256. package/dist/test.js.map +0 -1
  257. package/dist/toolChainServer.d.ts +0 -8
  258. package/dist/toolChainServer.js +0 -60
  259. package/dist/toolChainServer.js.map +0 -1
  260. package/dist/toolDbAnonSignIn.d.ts +0 -2
  261. package/dist/toolDbAnonSignIn.js +0 -7
  262. package/dist/toolDbAnonSignIn.js.map +0 -1
  263. package/dist/toolDbClientOnMessage.d.ts +0 -2
  264. package/dist/toolDbClientOnMessage.js +0 -59
  265. package/dist/toolDbClientOnMessage.js.map +0 -1
  266. package/dist/toolDbCrdtGet.d.ts +0 -9
  267. package/dist/toolDbCrdtGet.js +0 -77
  268. package/dist/toolDbCrdtGet.js.map +0 -1
  269. package/dist/toolDbCrdtPut.d.ts +0 -9
  270. package/dist/toolDbCrdtPut.js +0 -63
  271. package/dist/toolDbCrdtPut.js.map +0 -1
  272. package/dist/toolDbGet.d.ts +0 -9
  273. package/dist/toolDbGet.js +0 -77
  274. package/dist/toolDbGet.js.map +0 -1
  275. package/dist/toolDbGetPubKey.d.ts +0 -2
  276. package/dist/toolDbGetPubKey.js +0 -18
  277. package/dist/toolDbGetPubKey.js.map +0 -1
  278. package/dist/toolDbKeysSignIn.d.ts +0 -2
  279. package/dist/toolDbKeysSignIn.js +0 -16
  280. package/dist/toolDbKeysSignIn.js.map +0 -1
  281. package/dist/toolDbNetwork.d.ts +0 -32
  282. package/dist/toolDbNetwork.js +0 -296
  283. package/dist/toolDbNetwork.js.map +0 -1
  284. package/dist/toolDbNetworkAdapter.d.ts +0 -57
  285. package/dist/toolDbNetworkAdapter.js +0 -188
  286. package/dist/toolDbNetworkAdapter.js.map +0 -1
  287. package/dist/toolDbPut.d.ts +0 -9
  288. package/dist/toolDbPut.js +0 -69
  289. package/dist/toolDbPut.js.map +0 -1
  290. package/dist/toolDbQueryKeys.d.ts +0 -8
  291. package/dist/toolDbQueryKeys.js +0 -66
  292. package/dist/toolDbQueryKeys.js.map +0 -1
  293. package/dist/toolDbSignIn.d.ts +0 -2
  294. package/dist/toolDbSignIn.js +0 -27
  295. package/dist/toolDbSignIn.js.map +0 -1
  296. package/dist/toolDbSignUp.d.ts +0 -2
  297. package/dist/toolDbSignUp.js +0 -101
  298. package/dist/toolDbSignUp.js.map +0 -1
  299. package/dist/toolDbSubscribe.d.ts +0 -9
  300. package/dist/toolDbSubscribe.js +0 -50
  301. package/dist/toolDbSubscribe.js.map +0 -1
  302. package/dist/toolDbVerificationWrapper.d.ts +0 -2
  303. package/dist/toolDbVerificationWrapper.js +0 -98
  304. package/dist/toolDbVerificationWrapper.js.map +0 -1
  305. package/dist/toolDbWeb3User.d.ts +0 -20
  306. package/dist/toolDbWeb3User.js +0 -75
  307. package/dist/toolDbWeb3User.js.map +0 -1
  308. package/dist/toolDbWebrtc.d.ts +0 -75
  309. package/dist/toolDbWebrtc.js +0 -472
  310. package/dist/toolDbWebrtc.js.map +0 -1
  311. package/dist/toolDbWebsocket.d.ts +0 -19
  312. package/dist/toolDbWebsocket.js +0 -187
  313. package/dist/toolDbWebsocket.js.map +0 -1
  314. package/dist/toolchain.d.ts +0 -1
  315. package/dist/toolchain.js +0 -8
  316. package/dist/toolchain.js.map +0 -1
  317. package/dist/tooldb.d.ts +0 -108
  318. package/dist/tooldb.js +0 -285
  319. package/dist/tooldb.js.map +0 -1
  320. package/dist/types/graph.d.ts +0 -0
  321. package/dist/types/graph.js +0 -2
  322. package/dist/types/graph.js.map +0 -1
  323. package/dist/types/message.d.ts +0 -100
  324. package/dist/types/message.js +0 -17
  325. package/dist/types/message.js.map +0 -1
  326. package/dist/types/tooldb.d.ts +0 -79
  327. package/dist/types/tooldb.js +0 -3
  328. package/dist/types/tooldb.js.map +0 -1
  329. package/dist/utils/arrayBufferToBase64.d.ts +0 -1
  330. package/dist/utils/arrayBufferToBase64.js +0 -12
  331. package/dist/utils/arrayBufferToBase64.js.map +0 -1
  332. package/dist/utils/arrayBufferToHex.d.ts +0 -1
  333. package/dist/utils/arrayBufferToHex.js +0 -19
  334. package/dist/utils/arrayBufferToHex.js.map +0 -1
  335. package/dist/utils/arrayBufferToString.d.ts +0 -1
  336. package/dist/utils/arrayBufferToString.js +0 -12
  337. package/dist/utils/arrayBufferToString.js.map +0 -1
  338. package/dist/utils/base64ToArrayBuffer.d.ts +0 -1
  339. package/dist/utils/base64ToArrayBuffer.js +0 -12
  340. package/dist/utils/base64ToArrayBuffer.js.map +0 -1
  341. package/dist/utils/base64ToBinaryChange.d.ts +0 -2
  342. package/dist/utils/base64ToBinaryChange.js +0 -18
  343. package/dist/utils/base64ToBinaryChange.js.map +0 -1
  344. package/dist/utils/base64ToBinaryDocument.d.ts +0 -2
  345. package/dist/utils/base64ToBinaryDocument.js +0 -18
  346. package/dist/utils/base64ToBinaryDocument.js.map +0 -1
  347. package/dist/utils/base64ToHex.d.ts +0 -1
  348. package/dist/utils/base64ToHex.js +0 -13
  349. package/dist/utils/base64ToHex.js.map +0 -1
  350. package/dist/utils/base64ToUint8.d.ts +0 -1
  351. package/dist/utils/base64ToUint8.js +0 -17
  352. package/dist/utils/base64ToUint8.js.map +0 -1
  353. package/dist/utils/catchReturn.d.ts +0 -1
  354. package/dist/utils/catchReturn.js +0 -8
  355. package/dist/utils/catchReturn.js.map +0 -1
  356. package/dist/utils/crypto/base64KeyToHex.d.ts +0 -1
  357. package/dist/utils/crypto/base64KeyToHex.js +0 -24
  358. package/dist/utils/crypto/base64KeyToHex.js.map +0 -1
  359. package/dist/utils/crypto/base64PublicKeyToHex.d.ts +0 -1
  360. package/dist/utils/crypto/base64PublicKeyToHex.js +0 -22
  361. package/dist/utils/crypto/base64PublicKeyToHex.js.map +0 -1
  362. package/dist/utils/crypto/decodeKeyString.d.ts +0 -1
  363. package/dist/utils/crypto/decodeKeyString.js +0 -13
  364. package/dist/utils/crypto/decodeKeyString.js.map +0 -1
  365. package/dist/utils/crypto/decryptData.d.ts +0 -1
  366. package/dist/utils/crypto/decryptData.js +0 -28
  367. package/dist/utils/crypto/decryptData.js.map +0 -1
  368. package/dist/utils/crypto/decryptWithPass.d.ts +0 -1
  369. package/dist/utils/crypto/decryptWithPass.js +0 -23
  370. package/dist/utils/crypto/decryptWithPass.js.map +0 -1
  371. package/dist/utils/crypto/deriveSecret.d.ts +0 -1
  372. package/dist/utils/crypto/deriveSecret.js +0 -18
  373. package/dist/utils/crypto/deriveSecret.js.map +0 -1
  374. package/dist/utils/crypto/encodeKeyString.d.ts +0 -1
  375. package/dist/utils/crypto/encodeKeyString.js +0 -13
  376. package/dist/utils/crypto/encodeKeyString.js.map +0 -1
  377. package/dist/utils/crypto/encryptData.d.ts +0 -1
  378. package/dist/utils/crypto/encryptData.js +0 -30
  379. package/dist/utils/crypto/encryptData.js.map +0 -1
  380. package/dist/utils/crypto/encryptWithPass.d.ts +0 -1
  381. package/dist/utils/crypto/encryptWithPass.js +0 -26
  382. package/dist/utils/crypto/encryptWithPass.js.map +0 -1
  383. package/dist/utils/crypto/exportKey.d.ts +0 -1
  384. package/dist/utils/crypto/exportKey.js +0 -14
  385. package/dist/utils/crypto/exportKey.js.map +0 -1
  386. package/dist/utils/crypto/exportKeyAsHex.d.ts +0 -1
  387. package/dist/utils/crypto/exportKeyAsHex.js +0 -18
  388. package/dist/utils/crypto/exportKeyAsHex.js.map +0 -1
  389. package/dist/utils/crypto/generateKeyFromPassword.d.ts +0 -1
  390. package/dist/utils/crypto/generateKeyFromPassword.js +0 -25
  391. package/dist/utils/crypto/generateKeyFromPassword.js.map +0 -1
  392. package/dist/utils/crypto/generateKeyPair.d.ts +0 -1
  393. package/dist/utils/crypto/generateKeyPair.js +0 -17
  394. package/dist/utils/crypto/generateKeyPair.js.map +0 -1
  395. package/dist/utils/crypto/generateKeysComb.d.ts +0 -4
  396. package/dist/utils/crypto/generateKeysComb.js +0 -60
  397. package/dist/utils/crypto/generateKeysComb.js.map +0 -1
  398. package/dist/utils/crypto/importKey.d.ts +0 -1
  399. package/dist/utils/crypto/importKey.js +0 -23
  400. package/dist/utils/crypto/importKey.js.map +0 -1
  401. package/dist/utils/crypto/loadKeysComb.d.ts +0 -5
  402. package/dist/utils/crypto/loadKeysComb.js +0 -90
  403. package/dist/utils/crypto/loadKeysComb.js.map +0 -1
  404. package/dist/utils/crypto/loadSignKeys.d.ts +0 -2
  405. package/dist/utils/crypto/loadSignKeys.js +0 -78
  406. package/dist/utils/crypto/loadSignKeys.js.map +0 -1
  407. package/dist/utils/crypto/recoverPubKey.d.ts +0 -1
  408. package/dist/utils/crypto/recoverPubKey.js +0 -27
  409. package/dist/utils/crypto/recoverPubKey.js.map +0 -1
  410. package/dist/utils/crypto/recoverPubKeyFromPrivate.d.ts +0 -1
  411. package/dist/utils/crypto/recoverPubKeyFromPrivate.js +0 -16
  412. package/dist/utils/crypto/recoverPubKeyFromPrivate.js.map +0 -1
  413. package/dist/utils/crypto/saveKeysComb.d.ts +0 -2
  414. package/dist/utils/crypto/saveKeysComb.js +0 -75
  415. package/dist/utils/crypto/saveKeysComb.js.map +0 -1
  416. package/dist/utils/crypto/saveSignKeys.d.ts +0 -2
  417. package/dist/utils/crypto/saveSignKeys.js +0 -67
  418. package/dist/utils/crypto/saveSignKeys.js.map +0 -1
  419. package/dist/utils/crypto/verifyData.d.ts +0 -1
  420. package/dist/utils/crypto/verifyData.js +0 -20
  421. package/dist/utils/crypto/verifyData.js.map +0 -1
  422. package/dist/utils/encoding/arrayBufferToBase64.d.ts +0 -1
  423. package/dist/utils/encoding/arrayBufferToBase64.js +0 -12
  424. package/dist/utils/encoding/arrayBufferToBase64.js.map +0 -1
  425. package/dist/utils/encoding/arrayBufferToHex.d.ts +0 -1
  426. package/dist/utils/encoding/arrayBufferToHex.js +0 -19
  427. package/dist/utils/encoding/arrayBufferToHex.js.map +0 -1
  428. package/dist/utils/encoding/arrayBufferToString.d.ts +0 -1
  429. package/dist/utils/encoding/arrayBufferToString.js +0 -12
  430. package/dist/utils/encoding/arrayBufferToString.js.map +0 -1
  431. package/dist/utils/encoding/base64ToArrayBuffer.d.ts +0 -1
  432. package/dist/utils/encoding/base64ToArrayBuffer.js +0 -12
  433. package/dist/utils/encoding/base64ToArrayBuffer.js.map +0 -1
  434. package/dist/utils/encoding/base64ToBinaryChange.d.ts +0 -2
  435. package/dist/utils/encoding/base64ToBinaryChange.js +0 -18
  436. package/dist/utils/encoding/base64ToBinaryChange.js.map +0 -1
  437. package/dist/utils/encoding/base64ToBinaryDocument.d.ts +0 -2
  438. package/dist/utils/encoding/base64ToBinaryDocument.js +0 -18
  439. package/dist/utils/encoding/base64ToBinaryDocument.js.map +0 -1
  440. package/dist/utils/encoding/base64ToHex.d.ts +0 -1
  441. package/dist/utils/encoding/base64ToHex.js +0 -13
  442. package/dist/utils/encoding/base64ToHex.js.map +0 -1
  443. package/dist/utils/encoding/base64ToUint8.d.ts +0 -1
  444. package/dist/utils/encoding/base64ToUint8.js +0 -17
  445. package/dist/utils/encoding/base64ToUint8.js.map +0 -1
  446. package/dist/utils/encoding/fromBase64.d.ts +0 -1
  447. package/dist/utils/encoding/fromBase64.js +0 -7
  448. package/dist/utils/encoding/fromBase64.js.map +0 -1
  449. package/dist/utils/encoding/hexToArrayBuffer.d.ts +0 -1
  450. package/dist/utils/encoding/hexToArrayBuffer.js +0 -15
  451. package/dist/utils/encoding/hexToArrayBuffer.js.map +0 -1
  452. package/dist/utils/encoding/hexToBase64.d.ts +0 -1
  453. package/dist/utils/encoding/hexToBase64.js +0 -12
  454. package/dist/utils/encoding/hexToBase64.js.map +0 -1
  455. package/dist/utils/encoding/hexToString.d.ts +0 -1
  456. package/dist/utils/encoding/hexToString.js +0 -12
  457. package/dist/utils/encoding/hexToString.js.map +0 -1
  458. package/dist/utils/encoding/hexToUint8.d.ts +0 -1
  459. package/dist/utils/encoding/hexToUint8.js +0 -8
  460. package/dist/utils/encoding/hexToUint8.js.map +0 -1
  461. package/dist/utils/encoding/stringToArrayBuffer.d.ts +0 -1
  462. package/dist/utils/encoding/stringToArrayBuffer.js +0 -12
  463. package/dist/utils/encoding/stringToArrayBuffer.js.map +0 -1
  464. package/dist/utils/encoding/toBase64.d.ts +0 -1
  465. package/dist/utils/encoding/toBase64.js +0 -7
  466. package/dist/utils/encoding/toBase64.js.map +0 -1
  467. package/dist/utils/encoding/uint8ArrayToHex.d.ts +0 -1
  468. package/dist/utils/encoding/uint8ArrayToHex.js +0 -7
  469. package/dist/utils/encoding/uint8ArrayToHex.js.map +0 -1
  470. package/dist/utils/encoding/uint8ToBase64.d.ts +0 -1
  471. package/dist/utils/encoding/uint8ToBase64.js +0 -15
  472. package/dist/utils/encoding/uint8ToBase64.js.map +0 -1
  473. package/dist/utils/fromBase64.d.ts +0 -1
  474. package/dist/utils/fromBase64.js +0 -7
  475. package/dist/utils/fromBase64.js.map +0 -1
  476. package/dist/utils/generateIv.d.ts +0 -1
  477. package/dist/utils/generateIv.js +0 -12
  478. package/dist/utils/generateIv.js.map +0 -1
  479. package/dist/utils/getPeerSignature.d.ts +0 -2
  480. package/dist/utils/getPeerSignature.js +0 -9
  481. package/dist/utils/getPeerSignature.js.map +0 -1
  482. package/dist/utils/getTimestamp.d.ts +0 -1
  483. package/dist/utils/getTimestamp.js +0 -7
  484. package/dist/utils/getTimestamp.js.map +0 -1
  485. package/dist/utils/hexToArrayBuffer.d.ts +0 -1
  486. package/dist/utils/hexToArrayBuffer.js +0 -15
  487. package/dist/utils/hexToArrayBuffer.js.map +0 -1
  488. package/dist/utils/hexToBase64.d.ts +0 -1
  489. package/dist/utils/hexToBase64.js +0 -12
  490. package/dist/utils/hexToBase64.js.map +0 -1
  491. package/dist/utils/hexToString.d.ts +0 -1
  492. package/dist/utils/hexToString.js +0 -12
  493. package/dist/utils/hexToString.js.map +0 -1
  494. package/dist/utils/hexToUint8.d.ts +0 -1
  495. package/dist/utils/hexToUint8.js +0 -8
  496. package/dist/utils/hexToUint8.js.map +0 -1
  497. package/dist/utils/indexedb.d.ts +0 -2
  498. package/dist/utils/indexedb.js +0 -116
  499. package/dist/utils/indexedb.js.map +0 -1
  500. package/dist/utils/leveldb.d.ts +0 -2
  501. package/dist/utils/leveldb.js +0 -83
  502. package/dist/utils/leveldb.js.map +0 -1
  503. package/dist/utils/proofOfWork.d.ts +0 -4
  504. package/dist/utils/proofOfWork.js +0 -16
  505. package/dist/utils/proofOfWork.js.map +0 -1
  506. package/dist/utils/randomAnimal.d.ts +0 -1
  507. package/dist/utils/randomAnimal.js +0 -77
  508. package/dist/utils/randomAnimal.js.map +0 -1
  509. package/dist/utils/sha1.d.ts +0 -1
  510. package/dist/utils/sha1.js +0 -13
  511. package/dist/utils/sha1.js.map +0 -1
  512. package/dist/utils/sha256.d.ts +0 -3
  513. package/dist/utils/sha256.js +0 -13
  514. package/dist/utils/sha256.js.map +0 -1
  515. package/dist/utils/signData.d.ts +0 -1
  516. package/dist/utils/signData.js +0 -19
  517. package/dist/utils/signData.js.map +0 -1
  518. package/dist/utils/stringToArrayBuffer.d.ts +0 -1
  519. package/dist/utils/stringToArrayBuffer.js +0 -12
  520. package/dist/utils/stringToArrayBuffer.js.map +0 -1
  521. package/dist/utils/textRandom.d.ts +0 -1
  522. package/dist/utils/textRandom.js +0 -15
  523. package/dist/utils/textRandom.js.map +0 -1
  524. package/dist/utils/toBase64.d.ts +0 -1
  525. package/dist/utils/toBase64.js +0 -7
  526. package/dist/utils/toBase64.js.map +0 -1
  527. package/dist/utils/uint8ArrayToHex.d.ts +0 -2
  528. package/dist/utils/uint8ArrayToHex.js +0 -7
  529. package/dist/utils/uint8ArrayToHex.js.map +0 -1
  530. package/dist/utils/uint8ToBase64.d.ts +0 -2
  531. package/dist/utils/uint8ToBase64.js +0 -15
  532. package/dist/utils/uint8ToBase64.js.map +0 -1
  533. package/dist/utils/uniq.d.ts +0 -1
  534. package/dist/utils/uniq.js +0 -7
  535. package/dist/utils/uniq.js.map +0 -1
  536. package/dist/utils/verifyMessage.d.ts +0 -8
  537. package/dist/utils/verifyMessage.js +0 -129
  538. package/dist/utils/verifyMessage.js.map +0 -1
  539. package/dist/utils/verifyPeer.d.ts +0 -2
  540. package/dist/utils/verifyPeer.js +0 -15
  541. package/dist/utils/verifyPeer.js.map +0 -1
  542. package/jest.config.ts +0 -195
  543. package/jest.setup.js +0 -0
  544. package/test-alice/000216.ldb +0 -0
  545. package/test-alice/000218.ldb +0 -0
  546. package/test-alice/000221.ldb +0 -0
  547. package/test-alice/000224.ldb +0 -0
  548. package/test-alice/000225.log +0 -0
  549. package/test-alice/CURRENT +0 -1
  550. package/test-alice/LOCK +0 -0
  551. package/test-alice/LOG +0 -5
  552. package/test-alice/LOG.old +0 -5
  553. package/test-alice/MANIFEST-000223 +0 -0
  554. package/test-base-client/000019.log +0 -0
  555. package/test-base-client/CURRENT +0 -1
  556. package/test-base-client/LOCK +0 -0
  557. package/test-base-client/LOG +0 -3
  558. package/test-base-client/LOG.old +0 -3
  559. package/test-base-client/MANIFEST-000018 +0 -0
  560. package/test-base-server/000019.log +0 -0
  561. package/test-base-server/CURRENT +0 -1
  562. package/test-base-server/LOCK +0 -0
  563. package/test-base-server/LOG +0 -3
  564. package/test-base-server/LOG.old +0 -3
  565. package/test-base-server/MANIFEST-000018 +0 -0
  566. package/test-bob/000231.ldb +0 -0
  567. package/test-bob/000233.ldb +0 -0
  568. package/test-bob/000234.log +0 -0
  569. package/test-bob/CURRENT +0 -1
  570. package/test-bob/LOCK +0 -0
  571. package/test-bob/LOG +0 -5
  572. package/test-bob/LOG.old +0 -14
  573. package/test-bob/MANIFEST-000232 +0 -0
  574. package/test-chris/000005.ldb +0 -0
  575. package/test-chris/000008.ldb +0 -0
  576. package/test-chris/000009.log +0 -0
  577. package/test-chris/CURRENT +0 -1
  578. package/test-chris/LOCK +0 -0
  579. package/test-chris/LOG +0 -5
  580. package/test-chris/LOG.old +0 -5
  581. package/test-chris/MANIFEST-000007 +0 -0
  582. package/test-node-a/000246.ldb +0 -0
  583. package/test-node-a/000248.ldb +0 -0
  584. package/test-node-a/000249.log +0 -0
  585. package/test-node-a/CURRENT +0 -1
  586. package/test-node-a/LOCK +0 -0
  587. package/test-node-a/LOG +0 -5
  588. package/test-node-a/LOG.old +0 -14
  589. package/test-node-a/MANIFEST-000247 +0 -0
  590. package/test-node-b/000246.ldb +0 -0
  591. package/test-node-b/000248.ldb +0 -0
  592. package/test-node-b/000249.log +0 -0
  593. package/test-node-b/CURRENT +0 -1
  594. package/test-node-b/LOCK +0 -0
  595. package/test-node-b/LOG +0 -5
  596. package/test-node-b/LOG.old +0 -14
  597. package/test-node-b/MANIFEST-000247 +0 -0
  598. package/test-store/000005.ldb +0 -0
  599. package/test-store/000008.ldb +0 -0
  600. package/test-store/000011.ldb +0 -0
  601. package/test-store/000014.ldb +0 -0
  602. package/test-store/000017.ldb +0 -0
  603. package/test-store/000018.log +0 -0
  604. package/test-store/CURRENT +0 -1
  605. package/test-store/LOCK +0 -0
  606. package/test-store/LOG +0 -6
  607. package/test-store/LOG.old +0 -6
  608. package/test-store/MANIFEST-000016 +0 -0
  609. package/test-verify-a/000059.ldb +0 -0
  610. package/test-verify-a/000066.log +0 -0
  611. package/test-verify-a/CURRENT +0 -1
  612. package/test-verify-a/LOCK +0 -0
  613. package/test-verify-a/LOG +0 -3
  614. package/test-verify-a/LOG.old +0 -3
  615. package/test-verify-a/MANIFEST-000065 +0 -0
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- var Block_1 = __importStar(require("./Block"));
23
- function isValidChain(chain) {
24
- if ((0, Block_1.decodeBlock)(chain[0]).height !== 0)
25
- return false;
26
- for (var i = 1; i < chain.length; i++) {
27
- var block = (0, Block_1.decodeBlock)(chain[i]);
28
- var lastBlock = (0, Block_1.decodeBlock)(chain[i - 1]);
29
- if (block.lastHash !== lastBlock.hash ||
30
- block.hash !== Block_1.default.blockHash(block)) {
31
- return false;
32
- }
33
- }
34
- return true;
35
- }
36
- exports.default = isValidChain;
37
- //# sourceMappingURL=isValidChain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isValidChain.js","sourceRoot":"","sources":["../../src/chain/isValidChain.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,+CAA6C;AAE7C,SAAwB,YAAY,CAAC,KAAe;IAClD,IAAI,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE5C,IACE,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI;YACjC,KAAK,CAAC,IAAI,KAAK,eAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EACrC;YACA,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAhBD,+BAgBC"}
File without changes
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=mempool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../src/chain/mempool.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- export declare const CRDT_MAP = "MAP";
2
- export declare const CRDT_LIST = "LIST";
3
- export declare const CRDT_COUNTER = "COUNTER";
4
- export declare class BaseCrdt<T = any, Changes = any, Value = any> {
5
- type: string;
6
- mergeChanges(changes: Changes[]): void;
7
- getChanges(): Changes[];
8
- get value(): Value;
9
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseCrdt = exports.CRDT_COUNTER = exports.CRDT_LIST = exports.CRDT_MAP = void 0;
4
- exports.CRDT_MAP = "MAP";
5
- exports.CRDT_LIST = "LIST";
6
- exports.CRDT_COUNTER = "COUNTER";
7
- var BaseCrdt = /** @class */ (function () {
8
- function BaseCrdt() {
9
- this.type = "";
10
- }
11
- BaseCrdt.prototype.mergeChanges = function (changes) {
12
- //
13
- };
14
- BaseCrdt.prototype.getChanges = function () {
15
- return [];
16
- };
17
- Object.defineProperty(BaseCrdt.prototype, "value", {
18
- get: function () {
19
- return "";
20
- },
21
- enumerable: false,
22
- configurable: true
23
- });
24
- return BaseCrdt;
25
- }());
26
- exports.BaseCrdt = BaseCrdt;
27
- //# sourceMappingURL=baseCrdt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseCrdt.js","sourceRoot":"","sources":["../../src/crdt/baseCrdt.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,KAAK,CAAC;AAEjB,QAAA,SAAS,GAAG,MAAM,CAAC;AAEnB,QAAA,YAAY,GAAG,SAAS,CAAC;AAEtC;IAAA;QACS,SAAI,GAAW,EAAE,CAAC;IAa3B,CAAC;IAXQ,+BAAY,GAAnB,UAAoB,OAAkB;QACpC,EAAE;IACJ,CAAC;IAEM,6BAAU,GAAjB;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,sBAAI,2BAAK;aAAT;YACE,OAAO,EAAS,CAAC;QACnB,CAAC;;;OAAA;IACH,eAAC;AAAD,CAAC,AAdD,IAcC;AAdY,4BAAQ"}
@@ -1,30 +0,0 @@
1
- import { BaseCrdt } from "..";
2
- export declare type CounterOperations = "ADD" | "SUB";
3
- export interface ChangeCounterBase {
4
- t: CounterOperations;
5
- v: number;
6
- a: string;
7
- i: number;
8
- }
9
- export interface AddCounterChange extends ChangeCounterBase {
10
- t: "ADD";
11
- }
12
- export interface SubCounterChange extends ChangeCounterBase {
13
- t: "SUB";
14
- }
15
- export declare type CounterChanges = AddCounterChange | SubCounterChange;
16
- export declare class CounterCrdt<T> extends BaseCrdt<number, CounterChanges, number> {
17
- type: string;
18
- _changes: CounterChanges[];
19
- private _author;
20
- private _value;
21
- private _lastUpdateSize;
22
- constructor(author: string, changes?: CounterChanges[]);
23
- changesSort(a: CounterChanges, b: CounterChanges): 0 | 1 | -1;
24
- calculate(): void;
25
- get value(): number;
26
- mergeChanges(newChanges: CounterChanges[]): void;
27
- getChanges(): CounterChanges[];
28
- ADD(value: number): void;
29
- SUB(value: number): void;
30
- }
@@ -1,106 +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
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.CounterCrdt = void 0;
19
- var __1 = require("..");
20
- var CounterCrdt = /** @class */ (function (_super) {
21
- __extends(CounterCrdt, _super);
22
- function CounterCrdt(author, changes) {
23
- var _this = _super.call(this) || this;
24
- _this.type = __1.CRDT_LIST;
25
- _this._changes = [];
26
- _this._author = "";
27
- _this._value = 0;
28
- _this._lastUpdateSize = 0;
29
- _this._author = author;
30
- if (changes) {
31
- _this.mergeChanges(changes);
32
- }
33
- _this.calculate();
34
- return _this;
35
- }
36
- CounterCrdt.prototype.changesSort = function (a, b) {
37
- if (a.i > b.i)
38
- return 1;
39
- if (a.i < b.i)
40
- return -1;
41
- return 0; // Should never be equal!
42
- };
43
- CounterCrdt.prototype.calculate = function () {
44
- var temp = 0;
45
- // Only update if we have new changes
46
- if (Object.values(this._changes).length !== this._lastUpdateSize) {
47
- this._changes.sort(this.changesSort).forEach(function (change) {
48
- if (change.t === "ADD") {
49
- temp += change.v;
50
- }
51
- else if (change.t === "SUB") {
52
- temp -= change.v;
53
- }
54
- });
55
- this._value = temp;
56
- }
57
- };
58
- Object.defineProperty(CounterCrdt.prototype, "value", {
59
- get: function () {
60
- this.calculate();
61
- return this._value;
62
- },
63
- enumerable: false,
64
- configurable: true
65
- });
66
- CounterCrdt.prototype.mergeChanges = function (newChanges) {
67
- var _this = this;
68
- newChanges.forEach(function (change) {
69
- // Filter by author and index
70
- var filtered = _this._changes.filter(function (c) { return c.i === change.i && c.a === change.a && c.t === change.t; });
71
- // Only add if there are not matches
72
- if (filtered.length === 0) {
73
- _this._changes.push(change);
74
- }
75
- });
76
- this.calculate();
77
- };
78
- CounterCrdt.prototype.getChanges = function () {
79
- return this._changes;
80
- };
81
- CounterCrdt.prototype.ADD = function (value) {
82
- var _this = this;
83
- var ourChanges = this._changes.filter(function (c) { return c.a === _this._author; });
84
- this._changes.push({
85
- t: "ADD",
86
- v: value,
87
- a: this._author,
88
- i: ourChanges.length,
89
- });
90
- this.calculate();
91
- };
92
- CounterCrdt.prototype.SUB = function (value) {
93
- var _this = this;
94
- var ourChanges = this._changes.filter(function (c) { return c.a === _this._author; });
95
- this._changes.push({
96
- t: "SUB",
97
- v: value,
98
- a: this._author,
99
- i: ourChanges.length,
100
- });
101
- this.calculate();
102
- };
103
- return CounterCrdt;
104
- }(__1.BaseCrdt));
105
- exports.CounterCrdt = CounterCrdt;
106
- //# sourceMappingURL=counterCrdt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"counterCrdt.js","sourceRoot":"","sources":["../../src/crdt/counterCrdt.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import { BaseCrdt } from "..";
2
- export declare type ListOperations = "INS" | "DEL";
3
- export interface ChangeListBase<T> {
4
- t: ListOperations;
5
- i: string;
6
- }
7
- export interface InsListChange<T> extends ChangeListBase<T> {
8
- t: "INS";
9
- v: T;
10
- p: string | undefined;
11
- n: string | undefined;
12
- }
13
- export interface DelListChange<T> extends ChangeListBase<T> {
14
- t: "DEL";
15
- v: string;
16
- }
17
- export declare type ListChanges<T> = InsListChange<T> | DelListChange<T>;
18
- interface ListTempCursor<T> {
19
- value: T;
20
- index: string;
21
- tomb: boolean;
22
- prev: string | undefined;
23
- next: string | undefined;
24
- }
25
- export declare class ListCrdt<T> extends BaseCrdt<T, ListChanges<T>, T[]> {
26
- type: string;
27
- _changes: ListChanges<T>[];
28
- private _author;
29
- private _value;
30
- _tempValues: ListTempCursor<T>[];
31
- private _lastUpdateSize;
32
- constructor(author: string, changes?: ListChanges<T>[]);
33
- changesSort(a: ListChanges<T>, b: ListChanges<T>): 0 | 1 | -1;
34
- calculate(): void;
35
- get value(): T[];
36
- mergeChanges(newChanges: ListChanges<T>[]): void;
37
- getChanges(): ListChanges<T>[];
38
- INS(value: T, index: number): void;
39
- PUSH(value: T): void;
40
- DEL(index: number): void;
41
- }
42
- export {};
@@ -1,159 +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
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ListCrdt = void 0;
19
- var __1 = require("..");
20
- var ListCrdt = /** @class */ (function (_super) {
21
- __extends(ListCrdt, _super);
22
- function ListCrdt(author, changes) {
23
- var _this = _super.call(this) || this;
24
- _this.type = __1.CRDT_LIST;
25
- _this._changes = [];
26
- _this._author = "";
27
- _this._value = [];
28
- _this._tempValues = [];
29
- _this._lastUpdateSize = 0;
30
- _this._author = author;
31
- if (changes) {
32
- _this.mergeChanges(changes);
33
- }
34
- _this.calculate();
35
- return _this;
36
- }
37
- ListCrdt.prototype.changesSort = function (a, b) {
38
- if (a.i > b.i)
39
- return 1;
40
- if (a.i < b.i)
41
- return -1;
42
- return 0; // Should never be equal!
43
- };
44
- ListCrdt.prototype.calculate = function () {
45
- var temp = [];
46
- // Only update if we have new changes
47
- if (Object.values(this._changes).length !== this._lastUpdateSize) {
48
- this._changes.sort(this.changesSort).forEach(function (change) {
49
- if (change.t === "INS") {
50
- var poisitionToInsert = 0;
51
- if (change.p) {
52
- poisitionToInsert = temp.findIndex(function (v) { return v.index === change.p; }) + 1;
53
- }
54
- else if (change.n) {
55
- poisitionToInsert = temp.findIndex(function (v) { return v.index === change.n; });
56
- }
57
- var cursorValue = {
58
- value: change.v,
59
- index: change.i,
60
- tomb: false,
61
- prev: change.p,
62
- next: change.n,
63
- };
64
- temp.splice(poisitionToInsert, 0, cursorValue);
65
- }
66
- else if (change.t === "DEL") {
67
- var poisitionToInsert = temp.findIndex(function (v) { return v.index === change.v; });
68
- temp[poisitionToInsert].tomb = true;
69
- }
70
- });
71
- this._lastUpdateSize = Object.values(temp).length;
72
- this._tempValues = temp;
73
- this._value = temp.filter(function (v) { return !v.tomb; }).map(function (v) { return v.value; });
74
- }
75
- };
76
- Object.defineProperty(ListCrdt.prototype, "value", {
77
- get: function () {
78
- this.calculate();
79
- return this._value;
80
- },
81
- enumerable: false,
82
- configurable: true
83
- });
84
- ListCrdt.prototype.mergeChanges = function (newChanges) {
85
- var _this = this;
86
- newChanges.forEach(function (change) {
87
- // Filter by author and index
88
- var filtered = _this._changes.filter(function (c) { return c.i === change.i && c.t === change.t && c.v === change.v; });
89
- // Only add if there are not matches
90
- if (filtered.length === 0) {
91
- _this._changes.push(change);
92
- }
93
- });
94
- this.calculate();
95
- };
96
- ListCrdt.prototype.getChanges = function () {
97
- return this._changes;
98
- };
99
- ListCrdt.prototype.INS = function (value, index) {
100
- var _this = this;
101
- var filterTombs = this._tempValues.filter(function (v) { return !v.tomb; });
102
- var currentPrev = undefined;
103
- var currentNext = undefined;
104
- if (filterTombs.length !== 0) {
105
- var currentIndex_1 = filterTombs[index].index;
106
- var currentIndexPosition = this._tempValues.findIndex(function (v) { return v.index === currentIndex_1; });
107
- currentPrev = this._tempValues[currentIndexPosition - 1];
108
- currentNext = this._tempValues[currentIndexPosition];
109
- }
110
- var ourChanges = this._changes.filter(function (c) {
111
- return c.i.startsWith(_this._author);
112
- });
113
- this._changes.push({
114
- t: "INS",
115
- p: currentPrev === null || currentPrev === void 0 ? void 0 : currentPrev.index,
116
- n: currentNext === null || currentNext === void 0 ? void 0 : currentNext.index,
117
- v: value,
118
- i: this._author + "-" + "".concat(ourChanges.length).padStart(8, "0"),
119
- });
120
- this.calculate();
121
- };
122
- ListCrdt.prototype.PUSH = function (value) {
123
- var _this = this;
124
- var _a;
125
- var filterTombs = this._tempValues.filter(function (v) { return !v.tomb; });
126
- var currentIndex = (_a = filterTombs[filterTombs.length - 1]) === null || _a === void 0 ? void 0 : _a.index;
127
- var currentIndexPosition = this._tempValues.findIndex(function (v) { return v.index === currentIndex; });
128
- var currentPrev = this._tempValues[currentIndexPosition];
129
- var ourChanges = this._changes.filter(function (c) {
130
- return c.i.startsWith(_this._author);
131
- });
132
- this._changes.push({
133
- t: "INS",
134
- p: currentPrev === null || currentPrev === void 0 ? void 0 : currentPrev.index,
135
- n: undefined,
136
- v: value,
137
- i: this._author + "-" + "".concat(ourChanges.length).padStart(8, "0"),
138
- });
139
- this.calculate();
140
- };
141
- ListCrdt.prototype.DEL = function (index) {
142
- var _this = this;
143
- var currentIndex = this._tempValues.filter(function (v) { return !v.tomb; })[index].index;
144
- var currentIndexPosition = this._tempValues.findIndex(function (v) { return v.index === currentIndex; });
145
- var current = this._tempValues[currentIndexPosition];
146
- var ourChanges = this._changes.filter(function (c) {
147
- return c.i.startsWith(_this._author);
148
- });
149
- this._changes.push({
150
- t: "DEL",
151
- v: current.index,
152
- i: this._author + "-" + "".concat(ourChanges.length).padStart(8, "0"),
153
- });
154
- this.calculate();
155
- };
156
- return ListCrdt;
157
- }(__1.BaseCrdt));
158
- exports.ListCrdt = ListCrdt;
159
- //# sourceMappingURL=listCrdt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listCrdt.js","sourceRoot":"","sources":["../../src/crdt/listCrdt.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import { BaseCrdt } from "..";
2
- export declare type MapOperations = "SET" | "DEL";
3
- export interface ChangeMapBase<T> {
4
- t: MapOperations;
5
- a: string;
6
- k: string;
7
- i: number;
8
- }
9
- export interface SetMapChange<T> extends ChangeMapBase<T> {
10
- t: "SET";
11
- v: T;
12
- }
13
- export interface DelMapChange<T> extends ChangeMapBase<T> {
14
- t: "DEL";
15
- }
16
- export declare type MapChanges<T> = SetMapChange<T> | DelMapChange<T>;
17
- export declare class MapCrdt<T> extends BaseCrdt<T, MapChanges<T>, Record<string, T>> {
18
- type: string;
19
- private _changes;
20
- private _author;
21
- private _value;
22
- private _keyIndex;
23
- private _lastUpdateSize;
24
- constructor(author: string, changes?: MapChanges<T>[]);
25
- changesSort(a: MapChanges<T>, b: MapChanges<T>): 0 | 1 | -1;
26
- calculate(): void;
27
- get value(): Record<string, T>;
28
- mergeChanges(newChanges: MapChanges<T>[]): void;
29
- getChanges(): MapChanges<T>[];
30
- SET(key: string, value: T): void;
31
- DEL(key: string): void;
32
- }
@@ -1,118 +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
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.MapCrdt = void 0;
19
- var __1 = require("..");
20
- var MapCrdt = /** @class */ (function (_super) {
21
- __extends(MapCrdt, _super);
22
- function MapCrdt(author, changes) {
23
- var _this = _super.call(this) || this;
24
- _this.type = __1.CRDT_MAP;
25
- _this._changes = [];
26
- _this._author = "";
27
- _this._value = {};
28
- _this._keyIndex = {};
29
- _this._lastUpdateSize = 0;
30
- _this._author = author;
31
- if (changes) {
32
- _this.mergeChanges(changes);
33
- }
34
- _this.calculate();
35
- return _this;
36
- }
37
- MapCrdt.prototype.changesSort = function (a, b) {
38
- if (a.i < b.i)
39
- return -1;
40
- if (a.i > b.i)
41
- return 1;
42
- if (a.t === "SET" && b.t === "DEL")
43
- return -1;
44
- if (a.t === "DEL" && b.t === "SET")
45
- return 1;
46
- if (a.a < b.a)
47
- return -1;
48
- if (a.a > b.a)
49
- return 1;
50
- return 0; // Should never be equal!
51
- };
52
- MapCrdt.prototype.calculate = function () {
53
- var _this = this;
54
- var temp = {};
55
- // Only update if we have new changes
56
- if (Object.values(this._changes).length !== this._lastUpdateSize) {
57
- this._changes.sort(this.changesSort).forEach(function (change) {
58
- // Here we apply the model properties
59
- // Since this is a KV store we dont need much logic,
60
- // except for the sorting of the changes. Then we just apply them.
61
- if (change.t === "SET") {
62
- temp[change.k] = change.v;
63
- }
64
- else if (change.t === "DEL") {
65
- delete temp[change.k];
66
- }
67
- _this._keyIndex[change.k] = change.i;
68
- });
69
- this._lastUpdateSize = Object.values(temp).length;
70
- this._value = temp;
71
- }
72
- };
73
- Object.defineProperty(MapCrdt.prototype, "value", {
74
- get: function () {
75
- this.calculate();
76
- return this._value;
77
- },
78
- enumerable: false,
79
- configurable: true
80
- });
81
- MapCrdt.prototype.mergeChanges = function (newChanges) {
82
- var _this = this;
83
- newChanges.forEach(function (change) {
84
- // Filter by author and index
85
- var filtered = _this._changes.filter(function (c) { return c.i === change.i && c.a === change.a && c.t === change.t; });
86
- // Only add if there are not matches
87
- if (filtered.length === 0) {
88
- _this._changes.push(change);
89
- }
90
- });
91
- this.calculate();
92
- };
93
- MapCrdt.prototype.getChanges = function () {
94
- return this._changes;
95
- };
96
- MapCrdt.prototype.SET = function (key, value) {
97
- this._keyIndex[key] = (this._keyIndex[key] || 0) + 1;
98
- this._changes.push({
99
- t: "SET",
100
- k: key,
101
- a: this._author,
102
- v: value,
103
- i: this._keyIndex[key],
104
- });
105
- };
106
- MapCrdt.prototype.DEL = function (key) {
107
- this._keyIndex[key] = (this._keyIndex[key] || 0) + 1;
108
- this._changes.push({
109
- t: "DEL",
110
- k: key,
111
- a: this._author,
112
- i: this._keyIndex[key],
113
- });
114
- };
115
- return MapCrdt;
116
- }(__1.BaseCrdt));
117
- exports.MapCrdt = MapCrdt;
118
- //# sourceMappingURL=mapCrdt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapCrdt.js","sourceRoot":"","sources":["../../src/crdt/mapCrdt.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export default function getCrypto(this: any): typeof window.crypto;
package/dist/getCrypto.js DELETED
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function getCrypto() {
4
- if (typeof window === "undefined") {
5
- return require("crypto").webcrypto;
6
- }
7
- return window.crypto;
8
- }
9
- exports.default = getCrypto;
10
- //# sourceMappingURL=getCrypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getCrypto.js","sourceRoot":"","sources":["../src/getCrypto.ts"],"names":[],"mappings":";;AAAA,SAAwB,SAAS;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;KACpC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAND,4BAMC"}