lib0 0.2.117 → 1.0.0-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 (861) hide show
  1. package/package.json +160 -407
  2. package/{array.js → src/array.js} +6 -2
  3. package/{binary.js → src/binary.js} +29 -35
  4. package/{delta → src/delta}/delta.js +472 -411
  5. package/{environment.js → src/environment.js} +30 -16
  6. package/{hash → src/hash}/rabin.js +6 -6
  7. package/{schema.js → src/schema.js} +127 -58
  8. package/{string.js → src/string.js} +47 -26
  9. package/{testing.js → src/testing.js} +3 -1
  10. package/src/ts.js +46 -0
  11. package/{dist → types}/array.d.ts +1 -1
  12. package/types/array.d.ts.map +1 -0
  13. package/{dist → types}/binary.d.ts +31 -37
  14. package/types/binary.d.ts.map +1 -0
  15. package/types/broadcastchannel.d.ts.map +1 -0
  16. package/types/buffer.d.ts.map +1 -0
  17. package/types/cache.d.ts.map +1 -0
  18. package/types/component.d.ts.map +1 -0
  19. package/types/conditions.d.ts.map +1 -0
  20. package/types/decoding.d.ts.map +1 -0
  21. package/types/delta/delta.d.ts +78 -7
  22. package/types/delta/delta.d.ts.map +1 -1
  23. package/types/delta/t3.test.d.ts.map +1 -1
  24. package/types/diff.d.ts.map +1 -0
  25. package/types/dom.d.ts.map +1 -0
  26. package/types/encoding.d.ts.map +1 -0
  27. package/{environment.d.ts → types/environment.d.ts} +2 -0
  28. package/types/environment.d.ts.map +1 -0
  29. package/types/error.d.ts.map +1 -0
  30. package/types/eventloop.d.ts.map +1 -0
  31. package/{function.d.ts → types/function.d.ts} +1 -1
  32. package/types/function.d.ts.map +1 -0
  33. package/types/hash/sha256.node.d.ts +1 -1
  34. package/types/hash/sha256.node.d.ts.map +1 -1
  35. package/types/indexeddb.d.ts.map +1 -0
  36. package/types/indexeddbV2.d.ts.map +1 -0
  37. package/types/iterator.d.ts.map +1 -0
  38. package/types/json.d.ts.map +1 -0
  39. package/types/list.d.ts.map +1 -0
  40. package/types/logging.common.d.ts.map +1 -0
  41. package/types/logging.d.ts.map +1 -0
  42. package/types/logging.node.d.ts.map +1 -0
  43. package/types/map.d.ts.map +1 -0
  44. package/types/math.d.ts.map +1 -0
  45. package/types/metric.d.ts.map +1 -0
  46. package/types/mutex.d.ts.map +1 -0
  47. package/{number.d.ts → types/number.d.ts} +2 -2
  48. package/types/number.d.ts.map +1 -0
  49. package/types/object.d.ts.map +1 -0
  50. package/types/observable.d.ts.map +1 -0
  51. package/types/pair.d.ts.map +1 -0
  52. package/types/performance.d.ts.map +1 -0
  53. package/types/performance.node.d.ts.map +1 -0
  54. package/types/pledge.d.ts.map +1 -0
  55. package/types/prng.d.ts.map +1 -0
  56. package/types/promise.d.ts.map +1 -0
  57. package/types/queue.d.ts.map +1 -0
  58. package/types/random.d.ts.map +1 -0
  59. package/{schema.d.ts → types/schema.d.ts} +65 -59
  60. package/types/schema.d.ts.map +1 -0
  61. package/types/set.d.ts.map +1 -0
  62. package/types/sort.d.ts.map +1 -0
  63. package/types/statistics.d.ts.map +1 -0
  64. package/types/storage.d.ts.map +1 -0
  65. package/{string.d.ts → types/string.d.ts} +3 -8
  66. package/types/string.d.ts.map +1 -0
  67. package/types/symbol.d.ts.map +1 -0
  68. package/{testing.d.ts → types/testing.d.ts} +2 -1
  69. package/types/testing.d.ts.map +1 -0
  70. package/types/time.d.ts.map +1 -0
  71. package/types/tree.d.ts.map +1 -0
  72. package/types/ts.d.ts +22 -0
  73. package/types/ts.d.ts.map +1 -0
  74. package/types/url.d.ts.map +1 -0
  75. package/types/webcrypto.d.ts.map +1 -0
  76. package/types/webcrypto.deno.d.ts.map +1 -0
  77. package/types/webcrypto.node.d.ts.map +1 -0
  78. package/types/webcrypto.react-native.d.ts.map +1 -0
  79. package/types/websocket.d.ts.map +1 -0
  80. package/.github/workflows/node.js.yml +0 -24
  81. package/.jsdoc.json +0 -18
  82. package/.vscode/launch.json +0 -17
  83. package/array.d.ts +0 -30
  84. package/array.d.ts.map +0 -1
  85. package/array.test.d.ts +0 -13
  86. package/array.test.d.ts.map +0 -1
  87. package/bin/0ecdsa-generate-keypair.d.ts +0 -3
  88. package/bin/0ecdsa-generate-keypair.d.ts.map +0 -1
  89. package/bin/0serve.d.ts +0 -3
  90. package/bin/0serve.d.ts.map +0 -1
  91. package/bin/gendocs.d.ts +0 -3
  92. package/bin/gendocs.d.ts.map +0 -1
  93. package/bin/gentesthtml.d.ts +0 -3
  94. package/bin/gentesthtml.d.ts.map +0 -1
  95. package/binary.d.ts +0 -87
  96. package/binary.d.ts.map +0 -1
  97. package/binary.test.d.ts +0 -4
  98. package/binary.test.d.ts.map +0 -1
  99. package/broadcastchannel.d.ts.map +0 -1
  100. package/broadcastchannel.test.d.ts +0 -3
  101. package/broadcastchannel.test.d.ts.map +0 -1
  102. package/buffer.d.ts.map +0 -1
  103. package/buffer.test.d.ts +0 -6
  104. package/buffer.test.d.ts.map +0 -1
  105. package/cache.d.ts.map +0 -1
  106. package/cache.test.d.ts +0 -3
  107. package/cache.test.d.ts.map +0 -1
  108. package/component.d.ts.map +0 -1
  109. package/conditions.d.ts.map +0 -1
  110. package/coverage/tmp/coverage-70359-1766561372098-0.json +0 -1
  111. package/crypto/aes-gcm.d.ts +0 -17
  112. package/crypto/aes-gcm.d.ts.map +0 -1
  113. package/crypto/common.d.ts +0 -3
  114. package/crypto/common.d.ts.map +0 -1
  115. package/crypto/ecdsa.d.ts +0 -17
  116. package/crypto/ecdsa.d.ts.map +0 -1
  117. package/crypto/jwt.d.ts +0 -10
  118. package/crypto/jwt.d.ts.map +0 -1
  119. package/crypto/rsa-oaep.d.ts +0 -13
  120. package/crypto/rsa-oaep.d.ts.map +0 -1
  121. package/crypto.test.d.ts +0 -9
  122. package/crypto.test.d.ts.map +0 -1
  123. package/decoding.d.ts.map +0 -1
  124. package/delta/binding.d.ts +0 -107
  125. package/delta/binding.d.ts.map +0 -1
  126. package/delta/binding.test.d.ts +0 -5
  127. package/delta/binding.test.d.ts.map +0 -1
  128. package/delta/delta-pitch.test.d.ts +0 -5
  129. package/delta/delta-pitch.test.d.ts.map +0 -1
  130. package/delta/delta.d.ts +0 -1008
  131. package/delta/delta.d.ts.map +0 -1
  132. package/delta/delta.test.d.ts +0 -29
  133. package/delta/delta.test.d.ts.map +0 -1
  134. package/delta/t3.test.d.ts +0 -19
  135. package/delta/t3.test.d.ts.map +0 -1
  136. package/deno.json +0 -12
  137. package/deno.lock +0 -122
  138. package/diff/patience.d.ts +0 -16
  139. package/diff/patience.d.ts.map +0 -1
  140. package/diff/patience.test.d.ts +0 -4
  141. package/diff/patience.test.d.ts.map +0 -1
  142. package/diff.d.ts.map +0 -1
  143. package/diff.test.d.ts +0 -6
  144. package/diff.test.d.ts.map +0 -1
  145. package/dist/aes-gcm.cjs +0 -171
  146. package/dist/aes-gcm.cjs.map +0 -1
  147. package/dist/array-78849c95.cjs +0 -260
  148. package/dist/array-78849c95.cjs.map +0 -1
  149. package/dist/array.cjs +0 -26
  150. package/dist/array.cjs.map +0 -1
  151. package/dist/array.d.ts.map +0 -1
  152. package/dist/array.test.d.ts +0 -13
  153. package/dist/array.test.d.ts.map +0 -1
  154. package/dist/bin/0ecdsa-generate-keypair.d.ts +0 -3
  155. package/dist/bin/0ecdsa-generate-keypair.d.ts.map +0 -1
  156. package/dist/bin/0serve.d.ts +0 -3
  157. package/dist/bin/0serve.d.ts.map +0 -1
  158. package/dist/bin/gendocs.d.ts +0 -3
  159. package/dist/bin/gendocs.d.ts.map +0 -1
  160. package/dist/bin/gentesthtml.d.ts +0 -3
  161. package/dist/bin/gentesthtml.d.ts.map +0 -1
  162. package/dist/binary-ac8e39e2.cjs +0 -229
  163. package/dist/binary-ac8e39e2.cjs.map +0 -1
  164. package/dist/binary.cjs +0 -74
  165. package/dist/binary.cjs.map +0 -1
  166. package/dist/binary.d.ts.map +0 -1
  167. package/dist/binary.test.d.ts +0 -4
  168. package/dist/binary.test.d.ts.map +0 -1
  169. package/dist/binding.cjs +0 -484
  170. package/dist/binding.cjs.map +0 -1
  171. package/dist/broadcastchannel-aca4f606.cjs +0 -128
  172. package/dist/broadcastchannel-aca4f606.cjs.map +0 -1
  173. package/dist/broadcastchannel.cjs +0 -29
  174. package/dist/broadcastchannel.cjs.map +0 -1
  175. package/dist/broadcastchannel.d.ts +0 -8
  176. package/dist/broadcastchannel.d.ts.map +0 -1
  177. package/dist/broadcastchannel.test.d.ts +0 -3
  178. package/dist/broadcastchannel.test.d.ts.map +0 -1
  179. package/dist/buffer-3e750729.cjs +0 -198
  180. package/dist/buffer-3e750729.cjs.map +0 -1
  181. package/dist/buffer.cjs +0 -38
  182. package/dist/buffer.cjs.map +0 -1
  183. package/dist/buffer.d.ts +0 -22
  184. package/dist/buffer.d.ts.map +0 -1
  185. package/dist/buffer.test.d.ts +0 -6
  186. package/dist/buffer.test.d.ts.map +0 -1
  187. package/dist/cache.cjs +0 -223
  188. package/dist/cache.cjs.map +0 -1
  189. package/dist/cache.d.ts +0 -52
  190. package/dist/cache.d.ts.map +0 -1
  191. package/dist/cache.test.d.ts +0 -3
  192. package/dist/cache.test.d.ts.map +0 -1
  193. package/dist/common.cjs +0 -47
  194. package/dist/common.cjs.map +0 -1
  195. package/dist/component.cjs +0 -437
  196. package/dist/component.cjs.map +0 -1
  197. package/dist/component.d.ts +0 -86
  198. package/dist/component.d.ts.map +0 -1
  199. package/dist/conditions-f5c0c102.cjs +0 -24
  200. package/dist/conditions-f5c0c102.cjs.map +0 -1
  201. package/dist/conditions.cjs +0 -10
  202. package/dist/conditions.cjs.map +0 -1
  203. package/dist/conditions.d.ts +0 -2
  204. package/dist/conditions.d.ts.map +0 -1
  205. package/dist/crypto/aes-gcm.d.ts +0 -17
  206. package/dist/crypto/aes-gcm.d.ts.map +0 -1
  207. package/dist/crypto/common.d.ts +0 -3
  208. package/dist/crypto/common.d.ts.map +0 -1
  209. package/dist/crypto/ecdsa.d.ts +0 -17
  210. package/dist/crypto/ecdsa.d.ts.map +0 -1
  211. package/dist/crypto/jwt.d.ts +0 -10
  212. package/dist/crypto/jwt.d.ts.map +0 -1
  213. package/dist/crypto/rsa-oaep.d.ts +0 -13
  214. package/dist/crypto/rsa-oaep.d.ts.map +0 -1
  215. package/dist/crypto.test.d.ts +0 -9
  216. package/dist/crypto.test.d.ts.map +0 -1
  217. package/dist/decoding-76e75827.cjs +0 -795
  218. package/dist/decoding-76e75827.cjs.map +0 -1
  219. package/dist/decoding.cjs +0 -55
  220. package/dist/decoding.cjs.map +0 -1
  221. package/dist/decoding.d.ts +0 -165
  222. package/dist/decoding.d.ts.map +0 -1
  223. package/dist/delta/binding.d.ts +0 -107
  224. package/dist/delta/binding.d.ts.map +0 -1
  225. package/dist/delta/binding.test.d.ts +0 -5
  226. package/dist/delta/binding.test.d.ts.map +0 -1
  227. package/dist/delta/delta-pitch.test.d.ts +0 -5
  228. package/dist/delta/delta-pitch.test.d.ts.map +0 -1
  229. package/dist/delta/delta.d.ts +0 -1008
  230. package/dist/delta/delta.d.ts.map +0 -1
  231. package/dist/delta/delta.test.d.ts +0 -29
  232. package/dist/delta/delta.test.d.ts.map +0 -1
  233. package/dist/delta/t3.test.d.ts +0 -19
  234. package/dist/delta/t3.test.d.ts.map +0 -1
  235. package/dist/delta.cjs +0 -2412
  236. package/dist/delta.cjs.map +0 -1
  237. package/dist/diff/patience.d.ts +0 -16
  238. package/dist/diff/patience.d.ts.map +0 -1
  239. package/dist/diff/patience.test.d.ts +0 -4
  240. package/dist/diff/patience.test.d.ts.map +0 -1
  241. package/dist/diff-9d236524.cjs +0 -162
  242. package/dist/diff-9d236524.cjs.map +0 -1
  243. package/dist/diff.cjs +0 -18
  244. package/dist/diff.cjs.map +0 -1
  245. package/dist/diff.d.ts +0 -36
  246. package/dist/diff.d.ts.map +0 -1
  247. package/dist/diff.test.d.ts +0 -6
  248. package/dist/diff.test.d.ts.map +0 -1
  249. package/dist/dom-7e625b09.cjs +0 -371
  250. package/dist/dom-7e625b09.cjs.map +0 -1
  251. package/dist/dom.cjs +0 -71
  252. package/dist/dom.cjs.map +0 -1
  253. package/dist/dom.d.ts.map +0 -1
  254. package/dist/ecdsa.cjs +0 -130
  255. package/dist/ecdsa.cjs.map +0 -1
  256. package/dist/encoding-1a745c43.cjs +0 -1025
  257. package/dist/encoding-1a745c43.cjs.map +0 -1
  258. package/dist/encoding.cjs +0 -54
  259. package/dist/encoding.cjs.map +0 -1
  260. package/dist/encoding.d.ts.map +0 -1
  261. package/dist/encoding.test.d.ts +0 -50
  262. package/dist/encoding.test.d.ts.map +0 -1
  263. package/dist/environment-1c97264d.cjs +0 -180
  264. package/dist/environment-1c97264d.cjs.map +0 -1
  265. package/dist/environment.cjs +0 -29
  266. package/dist/environment.cjs.map +0 -1
  267. package/dist/environment.d.ts +0 -19
  268. package/dist/environment.d.ts.map +0 -1
  269. package/dist/equality.cjs +0 -34
  270. package/dist/equality.cjs.map +0 -1
  271. package/dist/error-0c1f634f.cjs +0 -53
  272. package/dist/error-0c1f634f.cjs.map +0 -1
  273. package/dist/error.cjs +0 -13
  274. package/dist/error.cjs.map +0 -1
  275. package/dist/error.d.ts.map +0 -1
  276. package/dist/eventloop-a0168106.cjs +0 -151
  277. package/dist/eventloop-a0168106.cjs.map +0 -1
  278. package/dist/eventloop.cjs +0 -19
  279. package/dist/eventloop.cjs.map +0 -1
  280. package/dist/eventloop.d.ts.map +0 -1
  281. package/dist/eventloop.test.d.ts +0 -10
  282. package/dist/eventloop.test.d.ts.map +0 -1
  283. package/dist/fingerprint.cjs +0 -44
  284. package/dist/fingerprint.cjs.map +0 -1
  285. package/dist/function-314580f7.cjs +0 -223
  286. package/dist/function-314580f7.cjs.map +0 -1
  287. package/dist/function.cjs +0 -26
  288. package/dist/function.cjs.map +0 -1
  289. package/dist/function.d.ts +0 -19
  290. package/dist/function.d.ts.map +0 -1
  291. package/dist/function.test.d.ts +0 -5
  292. package/dist/function.test.d.ts.map +0 -1
  293. package/dist/hash/rabin-gf2-polynomial.d.ts +0 -45
  294. package/dist/hash/rabin-gf2-polynomial.d.ts.map +0 -1
  295. package/dist/hash/rabin-uncached.d.ts +0 -29
  296. package/dist/hash/rabin-uncached.d.ts.map +0 -1
  297. package/dist/hash/rabin.d.ts +0 -27
  298. package/dist/hash/rabin.d.ts.map +0 -1
  299. package/dist/hash/rabin.test.d.ts +0 -8
  300. package/dist/hash/rabin.test.d.ts.map +0 -1
  301. package/dist/hash/sha256.d.ts +0 -2
  302. package/dist/hash/sha256.d.ts.map +0 -1
  303. package/dist/hash/sha256.node.d.ts +0 -2
  304. package/dist/hash/sha256.node.d.ts.map +0 -1
  305. package/dist/hash/sha256.test.d.ts +0 -7
  306. package/dist/hash/sha256.test.d.ts.map +0 -1
  307. package/dist/index.cjs +0 -99
  308. package/dist/index.cjs.map +0 -1
  309. package/dist/index.d.ts +0 -35
  310. package/dist/index.d.ts.map +0 -1
  311. package/dist/indexeddb-46d1e737.cjs +0 -311
  312. package/dist/indexeddb-46d1e737.cjs.map +0 -1
  313. package/dist/indexeddb.cjs +0 -37
  314. package/dist/indexeddb.cjs.map +0 -1
  315. package/dist/indexeddb.d.ts.map +0 -1
  316. package/dist/indexeddb.test.d.ts +0 -3
  317. package/dist/indexeddb.test.d.ts.map +0 -1
  318. package/dist/indexeddbV2.cjs +0 -288
  319. package/dist/indexeddbV2.cjs.map +0 -1
  320. package/dist/indexeddbV2.d.ts.map +0 -1
  321. package/dist/indexeddbV2.test.d.ts +0 -3
  322. package/dist/indexeddbV2.test.d.ts.map +0 -1
  323. package/dist/isomorphic.cjs +0 -17
  324. package/dist/isomorphic.cjs.map +0 -1
  325. package/dist/iterator-9fc627c1.cjs +0 -78
  326. package/dist/iterator-9fc627c1.cjs.map +0 -1
  327. package/dist/iterator.cjs +0 -13
  328. package/dist/iterator.cjs.map +0 -1
  329. package/dist/iterator.d.ts.map +0 -1
  330. package/dist/json-092190a1.cjs +0 -34
  331. package/dist/json-092190a1.cjs.map +0 -1
  332. package/dist/json.cjs +0 -11
  333. package/dist/json.cjs.map +0 -1
  334. package/dist/json.d.ts.map +0 -1
  335. package/dist/jwt.cjs +0 -96
  336. package/dist/jwt.cjs.map +0 -1
  337. package/dist/list.cjs +0 -266
  338. package/dist/list.cjs.map +0 -1
  339. package/dist/list.d.ts.map +0 -1
  340. package/dist/list.test.d.ts +0 -6
  341. package/dist/list.test.d.ts.map +0 -1
  342. package/dist/logging.cjs +0 -428
  343. package/dist/logging.cjs.map +0 -1
  344. package/dist/logging.common.cjs +0 -132
  345. package/dist/logging.common.cjs.map +0 -1
  346. package/dist/logging.common.d.ts.map +0 -1
  347. package/dist/logging.d.ts.map +0 -1
  348. package/dist/logging.node.cjs +0 -203
  349. package/dist/logging.node.cjs.map +0 -1
  350. package/dist/logging.node.d.ts.map +0 -1
  351. package/dist/logging.test.d.ts +0 -3
  352. package/dist/logging.test.d.ts.map +0 -1
  353. package/dist/map-24d263c0.cjs +0 -139
  354. package/dist/map-24d263c0.cjs.map +0 -1
  355. package/dist/map.cjs +0 -15
  356. package/dist/map.cjs.map +0 -1
  357. package/dist/map.d.ts.map +0 -1
  358. package/dist/map.test.d.ts +0 -4
  359. package/dist/map.test.d.ts.map +0 -1
  360. package/dist/math-96d5e8c4.cjs +0 -103
  361. package/dist/math-96d5e8c4.cjs.map +0 -1
  362. package/dist/math.cjs +0 -26
  363. package/dist/math.cjs.map +0 -1
  364. package/dist/math.d.ts.map +0 -1
  365. package/dist/math.test.d.ts +0 -3
  366. package/dist/math.test.d.ts.map +0 -1
  367. package/dist/metric.cjs +0 -83
  368. package/dist/metric.cjs.map +0 -1
  369. package/dist/metric.d.ts.map +0 -1
  370. package/dist/metric.test.d.ts +0 -3
  371. package/dist/metric.test.d.ts.map +0 -1
  372. package/dist/mutex-63f09c81.cjs +0 -54
  373. package/dist/mutex-63f09c81.cjs.map +0 -1
  374. package/dist/mutex.cjs +0 -10
  375. package/dist/mutex.cjs.map +0 -1
  376. package/dist/mutex.d.ts.map +0 -1
  377. package/dist/mutex.test.d.ts +0 -3
  378. package/dist/mutex.test.d.ts.map +0 -1
  379. package/dist/number-1fb57bba.cjs +0 -64
  380. package/dist/number-1fb57bba.cjs.map +0 -1
  381. package/dist/number.cjs +0 -20
  382. package/dist/number.cjs.map +0 -1
  383. package/dist/number.d.ts +0 -10
  384. package/dist/number.d.ts.map +0 -1
  385. package/dist/number.test.d.ts +0 -4
  386. package/dist/number.test.d.ts.map +0 -1
  387. package/dist/object-c0c9435b.cjs +0 -212
  388. package/dist/object-c0c9435b.cjs.map +0 -1
  389. package/dist/object.cjs +0 -27
  390. package/dist/object.cjs.map +0 -1
  391. package/dist/object.d.ts.map +0 -1
  392. package/dist/object.test.d.ts +0 -6
  393. package/dist/object.test.d.ts.map +0 -1
  394. package/dist/observable.cjs +0 -169
  395. package/dist/observable.cjs.map +0 -1
  396. package/dist/observable.d.ts.map +0 -1
  397. package/dist/observable.test.d.ts +0 -3
  398. package/dist/observable.test.d.ts.map +0 -1
  399. package/dist/pair-ab022bc3.cjs +0 -69
  400. package/dist/pair-ab022bc3.cjs.map +0 -1
  401. package/dist/pair.cjs +0 -14
  402. package/dist/pair.cjs.map +0 -1
  403. package/dist/pair.d.ts.map +0 -1
  404. package/dist/pair.test.d.ts +0 -3
  405. package/dist/pair.test.d.ts.map +0 -1
  406. package/dist/patience.cjs +0 -236
  407. package/dist/patience.cjs.map +0 -1
  408. package/dist/performance.cjs +0 -14
  409. package/dist/performance.cjs.map +0 -1
  410. package/dist/performance.d.ts.map +0 -1
  411. package/dist/performance.node.cjs +0 -36
  412. package/dist/performance.node.cjs.map +0 -1
  413. package/dist/performance.node.d.ts.map +0 -1
  414. package/dist/pledge.cjs +0 -308
  415. package/dist/pledge.cjs.map +0 -1
  416. package/dist/pledge.d.ts.map +0 -1
  417. package/dist/pledge.test.d.ts +0 -6
  418. package/dist/pledge.test.d.ts.map +0 -1
  419. package/dist/prng/Mt19937.d.ts +0 -29
  420. package/dist/prng/Mt19937.d.ts.map +0 -1
  421. package/dist/prng/Xoroshiro128plus.d.ts +0 -27
  422. package/dist/prng/Xoroshiro128plus.d.ts.map +0 -1
  423. package/dist/prng/Xorshift32.d.ts +0 -21
  424. package/dist/prng/Xorshift32.d.ts.map +0 -1
  425. package/dist/prng-37d48618.cjs +0 -387
  426. package/dist/prng-37d48618.cjs.map +0 -1
  427. package/dist/prng.cjs +0 -44
  428. package/dist/prng.cjs.map +0 -1
  429. package/dist/prng.d.ts.map +0 -1
  430. package/dist/prng.test.d.ts +0 -6
  431. package/dist/prng.test.d.ts.map +0 -1
  432. package/dist/promise-cda7b9bb.cjs +0 -145
  433. package/dist/promise-cda7b9bb.cjs.map +0 -1
  434. package/dist/promise.cjs +0 -22
  435. package/dist/promise.cjs.map +0 -1
  436. package/dist/promise.d.ts.map +0 -1
  437. package/dist/promise.test.d.ts +0 -5
  438. package/dist/promise.test.d.ts.map +0 -1
  439. package/dist/queue.cjs +0 -97
  440. package/dist/queue.cjs.map +0 -1
  441. package/dist/queue.d.ts.map +0 -1
  442. package/dist/queue.test.d.ts +0 -3
  443. package/dist/queue.test.d.ts.map +0 -1
  444. package/dist/rabin-gf2-polynomial.cjs +0 -440
  445. package/dist/rabin-gf2-polynomial.cjs.map +0 -1
  446. package/dist/rabin-uncached.cjs +0 -90
  447. package/dist/rabin-uncached.cjs.map +0 -1
  448. package/dist/rabin.cjs +0 -128
  449. package/dist/rabin.cjs.map +0 -1
  450. package/dist/random.cjs +0 -48
  451. package/dist/random.cjs.map +0 -1
  452. package/dist/random.d.ts.map +0 -1
  453. package/dist/random.test.d.ts +0 -7
  454. package/dist/random.test.d.ts.map +0 -1
  455. package/dist/rollup.config.d.ts +0 -13
  456. package/dist/rollup.config.d.ts.map +0 -1
  457. package/dist/rsa-oaep.cjs +0 -112
  458. package/dist/rsa-oaep.cjs.map +0 -1
  459. package/dist/schema.cjs +0 -1223
  460. package/dist/schema.cjs.map +0 -1
  461. package/dist/schema.d.ts +0 -595
  462. package/dist/schema.d.ts.map +0 -1
  463. package/dist/schema.test.d.ts +0 -15
  464. package/dist/schema.test.d.ts.map +0 -1
  465. package/dist/set-5b47859e.cjs +0 -45
  466. package/dist/set-5b47859e.cjs.map +0 -1
  467. package/dist/set.cjs +0 -13
  468. package/dist/set.cjs.map +0 -1
  469. package/dist/set.d.ts.map +0 -1
  470. package/dist/set.test.d.ts +0 -3
  471. package/dist/set.test.d.ts.map +0 -1
  472. package/dist/sha256.cjs +0 -183
  473. package/dist/sha256.cjs.map +0 -1
  474. package/dist/sha256.node.cjs +0 -17
  475. package/dist/sha256.node.cjs.map +0 -1
  476. package/dist/sort-812cc211.cjs +0 -103
  477. package/dist/sort-812cc211.cjs.map +0 -1
  478. package/dist/sort.cjs +0 -13
  479. package/dist/sort.cjs.map +0 -1
  480. package/dist/sort.d.ts.map +0 -1
  481. package/dist/sort.test.d.ts +0 -7
  482. package/dist/sort.test.d.ts.map +0 -1
  483. package/dist/statistics-65f6114b.cjs +0 -32
  484. package/dist/statistics-65f6114b.cjs.map +0 -1
  485. package/dist/statistics.cjs +0 -12
  486. package/dist/statistics.cjs.map +0 -1
  487. package/dist/statistics.d.ts.map +0 -1
  488. package/dist/statistics.test.d.ts +0 -3
  489. package/dist/statistics.test.d.ts.map +0 -1
  490. package/dist/storage.cjs +0 -81
  491. package/dist/storage.cjs.map +0 -1
  492. package/dist/storage.d.ts.map +0 -1
  493. package/dist/storage.test.d.ts +0 -3
  494. package/dist/storage.test.d.ts.map +0 -1
  495. package/dist/string-fddc5f8b.cjs +0 -209
  496. package/dist/string-fddc5f8b.cjs.map +0 -1
  497. package/dist/string.cjs +0 -32
  498. package/dist/string.cjs.map +0 -1
  499. package/dist/string.d.ts +0 -28
  500. package/dist/string.d.ts.map +0 -1
  501. package/dist/string.test.d.ts +0 -9
  502. package/dist/string.test.d.ts.map +0 -1
  503. package/dist/symbol-9c439012.cjs +0 -29
  504. package/dist/symbol-9c439012.cjs.map +0 -1
  505. package/dist/symbol.cjs +0 -11
  506. package/dist/symbol.cjs.map +0 -1
  507. package/dist/symbol.d.ts.map +0 -1
  508. package/dist/symbol.test.d.ts +0 -3
  509. package/dist/symbol.test.d.ts.map +0 -1
  510. package/dist/testing.cjs +0 -709
  511. package/dist/testing.cjs.map +0 -1
  512. package/dist/testing.d.ts +0 -64
  513. package/dist/testing.d.ts.map +0 -1
  514. package/dist/testing.test.d.ts +0 -9
  515. package/dist/testing.test.d.ts.map +0 -1
  516. package/dist/time-d8438852.cjs +0 -63
  517. package/dist/time-d8438852.cjs.map +0 -1
  518. package/dist/time.cjs +0 -14
  519. package/dist/time.cjs.map +0 -1
  520. package/dist/time.d.ts.map +0 -1
  521. package/dist/time.test.d.ts +0 -4
  522. package/dist/time.test.d.ts.map +0 -1
  523. package/dist/trait/equality.d.ts +0 -6
  524. package/dist/trait/equality.d.ts.map +0 -1
  525. package/dist/trait/fingerprint.d.ts +0 -13
  526. package/dist/trait/fingerprint.d.ts.map +0 -1
  527. package/dist/trait/traits.d.ts +0 -3
  528. package/dist/trait/traits.d.ts.map +0 -1
  529. package/dist/trait/traits.test.d.ts +0 -5
  530. package/dist/trait/traits.test.d.ts.map +0 -1
  531. package/dist/traits.cjs +0 -31
  532. package/dist/traits.cjs.map +0 -1
  533. package/dist/tree-9f3c8837.cjs +0 -557
  534. package/dist/tree-9f3c8837.cjs.map +0 -1
  535. package/dist/tree.cjs +0 -10
  536. package/dist/tree.cjs.map +0 -1
  537. package/dist/tree.d.ts.map +0 -1
  538. package/dist/tree.test.d.ts +0 -2
  539. package/dist/tree.test.d.ts.map +0 -1
  540. package/dist/url.cjs +0 -46
  541. package/dist/url.cjs.map +0 -1
  542. package/dist/url.d.ts.map +0 -1
  543. package/dist/url.test.d.ts +0 -3
  544. package/dist/url.test.d.ts.map +0 -1
  545. package/dist/webcrypto.cjs +0 -12
  546. package/dist/webcrypto.cjs.map +0 -1
  547. package/dist/webcrypto.d.ts.map +0 -1
  548. package/dist/webcrypto.deno.cjs +0 -12
  549. package/dist/webcrypto.deno.cjs.map +0 -1
  550. package/dist/webcrypto.deno.d.ts.map +0 -1
  551. package/dist/webcrypto.node.cjs +0 -12
  552. package/dist/webcrypto.node.cjs.map +0 -1
  553. package/dist/webcrypto.node.d.ts.map +0 -1
  554. package/dist/webcrypto.react-native.cjs +0 -20
  555. package/dist/webcrypto.react-native.cjs.map +0 -1
  556. package/dist/webcrypto.react-native.d.ts.map +0 -1
  557. package/dist/websocket-b073d0fc.cjs +0 -157
  558. package/dist/websocket-b073d0fc.cjs.map +0 -1
  559. package/dist/websocket.cjs +0 -17
  560. package/dist/websocket.cjs.map +0 -1
  561. package/dist/websocket.d.ts.map +0 -1
  562. package/dom.d.ts +0 -60
  563. package/dom.d.ts.map +0 -1
  564. package/encoding.d.ts +0 -235
  565. package/encoding.d.ts.map +0 -1
  566. package/encoding.test.d.ts +0 -50
  567. package/encoding.test.d.ts.map +0 -1
  568. package/environment.d.ts.map +0 -1
  569. package/error.d.ts +0 -5
  570. package/error.d.ts.map +0 -1
  571. package/eventloop.d.ts +0 -16
  572. package/eventloop.d.ts.map +0 -1
  573. package/eventloop.test.d.ts +0 -10
  574. package/eventloop.test.d.ts.map +0 -1
  575. package/function.d.ts.map +0 -1
  576. package/function.test.d.ts +0 -5
  577. package/function.test.d.ts.map +0 -1
  578. package/hash/rabin-gf2-polynomial.d.ts +0 -45
  579. package/hash/rabin-gf2-polynomial.d.ts.map +0 -1
  580. package/hash/rabin-uncached.d.ts +0 -29
  581. package/hash/rabin-uncached.d.ts.map +0 -1
  582. package/hash/rabin.d.ts +0 -27
  583. package/hash/rabin.d.ts.map +0 -1
  584. package/hash/rabin.test.d.ts +0 -8
  585. package/hash/rabin.test.d.ts.map +0 -1
  586. package/hash/sha256.d.ts +0 -2
  587. package/hash/sha256.d.ts.map +0 -1
  588. package/hash/sha256.node.d.ts +0 -2
  589. package/hash/sha256.node.d.ts.map +0 -1
  590. package/hash/sha256.test.d.ts +0 -7
  591. package/hash/sha256.test.d.ts.map +0 -1
  592. package/index.d.ts +0 -35
  593. package/index.d.ts.map +0 -1
  594. package/index.js +0 -82
  595. package/indexeddb.d.ts +0 -34
  596. package/indexeddb.d.ts.map +0 -1
  597. package/indexeddb.test.d.ts +0 -3
  598. package/indexeddb.test.d.ts.map +0 -1
  599. package/indexeddbV2.d.ts +0 -35
  600. package/indexeddbV2.d.ts.map +0 -1
  601. package/indexeddbV2.test.d.ts +0 -3
  602. package/indexeddbV2.test.d.ts.map +0 -1
  603. package/isomorphic.js +0 -10
  604. package/iterator.d.ts +0 -5
  605. package/iterator.d.ts.map +0 -1
  606. package/json.d.ts +0 -23
  607. package/json.d.ts.map +0 -1
  608. package/list.d.ts +0 -55
  609. package/list.d.ts.map +0 -1
  610. package/list.test.d.ts +0 -6
  611. package/list.test.d.ts.map +0 -1
  612. package/logging.common.d.ts +0 -12
  613. package/logging.common.d.ts.map +0 -1
  614. package/logging.d.ts +0 -55
  615. package/logging.d.ts.map +0 -1
  616. package/logging.node.d.ts +0 -14
  617. package/logging.node.d.ts.map +0 -1
  618. package/logging.test.d.ts +0 -3
  619. package/logging.test.d.ts.map +0 -1
  620. package/map.d.ts +0 -8
  621. package/map.d.ts.map +0 -1
  622. package/map.test.d.ts +0 -4
  623. package/map.test.d.ts.map +0 -1
  624. package/math.d.ts +0 -23
  625. package/math.d.ts.map +0 -1
  626. package/math.test.d.ts +0 -3
  627. package/math.test.d.ts.map +0 -1
  628. package/metric.d.ts +0 -25
  629. package/metric.d.ts.map +0 -1
  630. package/metric.test.d.ts +0 -3
  631. package/metric.test.d.ts.map +0 -1
  632. package/mutex.d.ts +0 -3
  633. package/mutex.d.ts.map +0 -1
  634. package/mutex.test.d.ts +0 -3
  635. package/mutex.test.d.ts.map +0 -1
  636. package/number.d.ts.map +0 -1
  637. package/number.test.d.ts +0 -4
  638. package/number.test.d.ts.map +0 -1
  639. package/object.d.ts +0 -72
  640. package/object.d.ts.map +0 -1
  641. package/object.test.d.ts +0 -6
  642. package/object.test.d.ts.map +0 -1
  643. package/observable.d.ts +0 -86
  644. package/observable.d.ts.map +0 -1
  645. package/observable.test.d.ts +0 -3
  646. package/observable.test.d.ts.map +0 -1
  647. package/pair.d.ts +0 -22
  648. package/pair.d.ts.map +0 -1
  649. package/pair.test.d.ts +0 -3
  650. package/pair.test.d.ts.map +0 -1
  651. package/performance.d.ts +0 -4
  652. package/performance.d.ts.map +0 -1
  653. package/performance.node.d.ts +0 -14
  654. package/performance.node.d.ts.map +0 -1
  655. package/pledge.d.ts +0 -68
  656. package/pledge.d.ts.map +0 -1
  657. package/pledge.test.d.ts +0 -6
  658. package/pledge.test.d.ts.map +0 -1
  659. package/prng/Mt19937.d.ts +0 -29
  660. package/prng/Mt19937.d.ts.map +0 -1
  661. package/prng/Xoroshiro128plus.d.ts +0 -27
  662. package/prng/Xoroshiro128plus.d.ts.map +0 -1
  663. package/prng/Xorshift32.d.ts +0 -21
  664. package/prng/Xorshift32.d.ts.map +0 -1
  665. package/prng.d.ts +0 -44
  666. package/prng.d.ts.map +0 -1
  667. package/prng.test.d.ts +0 -6
  668. package/prng.test.d.ts.map +0 -1
  669. package/promise.d.ts +0 -22
  670. package/promise.d.ts.map +0 -1
  671. package/promise.test.d.ts +0 -5
  672. package/promise.test.d.ts.map +0 -1
  673. package/queue.d.ts +0 -34
  674. package/queue.d.ts.map +0 -1
  675. package/queue.test.d.ts +0 -3
  676. package/queue.test.d.ts.map +0 -1
  677. package/random.d.ts +0 -6
  678. package/random.d.ts.map +0 -1
  679. package/random.test.d.ts +0 -7
  680. package/random.test.d.ts.map +0 -1
  681. package/rollup.config.d.ts +0 -13
  682. package/rollup.config.d.ts.map +0 -1
  683. package/schema.d.ts.map +0 -1
  684. package/schema.test.d.ts +0 -15
  685. package/schema.test.d.ts.map +0 -1
  686. package/set.d.ts +0 -5
  687. package/set.d.ts.map +0 -1
  688. package/set.test.d.ts +0 -3
  689. package/set.test.d.ts.map +0 -1
  690. package/sort.d.ts +0 -4
  691. package/sort.d.ts.map +0 -1
  692. package/sort.test.d.ts +0 -7
  693. package/sort.test.d.ts.map +0 -1
  694. package/statistics.d.ts +0 -3
  695. package/statistics.d.ts.map +0 -1
  696. package/statistics.test.d.ts +0 -3
  697. package/statistics.test.d.ts.map +0 -1
  698. package/storage.d.ts +0 -15
  699. package/storage.d.ts.map +0 -1
  700. package/storage.test.d.ts +0 -3
  701. package/storage.test.d.ts.map +0 -1
  702. package/string.d.ts.map +0 -1
  703. package/string.test.d.ts +0 -9
  704. package/string.test.d.ts.map +0 -1
  705. package/symbol.d.ts +0 -11
  706. package/symbol.d.ts.map +0 -1
  707. package/symbol.test.d.ts +0 -3
  708. package/symbol.test.d.ts.map +0 -1
  709. package/test.d.ts +0 -2
  710. package/test.d.ts.map +0 -1
  711. package/test.html +0 -168
  712. package/test.js +0 -104
  713. package/testing.d.ts.map +0 -1
  714. package/testing.test.d.ts +0 -9
  715. package/testing.test.d.ts.map +0 -1
  716. package/time.d.ts +0 -9
  717. package/time.d.ts.map +0 -1
  718. package/time.test.d.ts +0 -4
  719. package/time.test.d.ts.map +0 -1
  720. package/trait/equality.d.ts +0 -6
  721. package/trait/equality.d.ts.map +0 -1
  722. package/trait/fingerprint.d.ts +0 -13
  723. package/trait/fingerprint.d.ts.map +0 -1
  724. package/trait/traits.d.ts +0 -3
  725. package/trait/traits.d.ts.map +0 -1
  726. package/trait/traits.test.d.ts +0 -5
  727. package/trait/traits.test.d.ts.map +0 -1
  728. package/tree.d.ts +0 -96
  729. package/tree.d.ts.map +0 -1
  730. package/tree.test.d.ts +0 -2
  731. package/tree.test.d.ts.map +0 -1
  732. package/url.d.ts +0 -7
  733. package/url.d.ts.map +0 -1
  734. package/url.test.d.ts +0 -3
  735. package/url.test.d.ts.map +0 -1
  736. package/webcrypto.d.ts +0 -3
  737. package/webcrypto.d.ts.map +0 -1
  738. package/webcrypto.deno.d.ts +0 -3
  739. package/webcrypto.deno.d.ts.map +0 -1
  740. package/webcrypto.node.d.ts +0 -3
  741. package/webcrypto.node.d.ts.map +0 -1
  742. package/webcrypto.react-native.d.ts +0 -3
  743. package/webcrypto.react-native.d.ts.map +0 -1
  744. package/websocket.d.ts +0 -38
  745. package/websocket.d.ts.map +0 -1
  746. /package/{bin → src/bin}/0ecdsa-generate-keypair.js +0 -0
  747. /package/{bin → src/bin}/0serve.js +0 -0
  748. /package/{bin → src/bin}/gendocs.js +0 -0
  749. /package/{bin → src/bin}/gentesthtml.js +0 -0
  750. /package/{broadcastchannel.js → src/broadcastchannel.js} +0 -0
  751. /package/{buffer.js → src/buffer.js} +0 -0
  752. /package/{cache.js → src/cache.js} +0 -0
  753. /package/{component.js → src/component.js} +0 -0
  754. /package/{conditions.js → src/conditions.js} +0 -0
  755. /package/{crypto → src/crypto}/aes-gcm.js +0 -0
  756. /package/{crypto → src/crypto}/common.js +0 -0
  757. /package/{crypto → src/crypto}/ecdsa.js +0 -0
  758. /package/{crypto → src/crypto}/jwt.js +0 -0
  759. /package/{crypto → src/crypto}/rsa-oaep.js +0 -0
  760. /package/{decoding.js → src/decoding.js} +0 -0
  761. /package/{delta → src/delta}/binding.js +0 -0
  762. /package/{delta → src/delta}/readme.md +0 -0
  763. /package/{diff → src/diff}/patience.js +0 -0
  764. /package/{diff.js → src/diff.js} +0 -0
  765. /package/{dom.js → src/dom.js} +0 -0
  766. /package/{encoding.js → src/encoding.js} +0 -0
  767. /package/{error.js → src/error.js} +0 -0
  768. /package/{eventloop.js → src/eventloop.js} +0 -0
  769. /package/{function.js → src/function.js} +0 -0
  770. /package/{hash → src/hash}/rabin-gf2-polynomial.js +0 -0
  771. /package/{hash → src/hash}/rabin-uncached.js +0 -0
  772. /package/{hash → src/hash}/sha256.js +0 -0
  773. /package/{hash → src/hash}/sha256.node.js +0 -0
  774. /package/{indexeddb.js → src/indexeddb.js} +0 -0
  775. /package/{indexeddbV2.js → src/indexeddbV2.js} +0 -0
  776. /package/{iterator.js → src/iterator.js} +0 -0
  777. /package/{json.js → src/json.js} +0 -0
  778. /package/{list.js → src/list.js} +0 -0
  779. /package/{logging.common.js → src/logging.common.js} +0 -0
  780. /package/{logging.js → src/logging.js} +0 -0
  781. /package/{logging.node.js → src/logging.node.js} +0 -0
  782. /package/{map.js → src/map.js} +0 -0
  783. /package/{math.js → src/math.js} +0 -0
  784. /package/{metric.js → src/metric.js} +0 -0
  785. /package/{mutex.js → src/mutex.js} +0 -0
  786. /package/{number.js → src/number.js} +0 -0
  787. /package/{object.js → src/object.js} +0 -0
  788. /package/{observable.js → src/observable.js} +0 -0
  789. /package/{pair.js → src/pair.js} +0 -0
  790. /package/{performance.js → src/performance.js} +0 -0
  791. /package/{performance.node.js → src/performance.node.js} +0 -0
  792. /package/{pledge.js → src/pledge.js} +0 -0
  793. /package/{prng → src/prng}/Mt19937.js +0 -0
  794. /package/{prng → src/prng}/Xoroshiro128plus.js +0 -0
  795. /package/{prng → src/prng}/Xorshift32.js +0 -0
  796. /package/{prng.js → src/prng.js} +0 -0
  797. /package/{promise.js → src/promise.js} +0 -0
  798. /package/{queue.js → src/queue.js} +0 -0
  799. /package/{random.js → src/random.js} +0 -0
  800. /package/{set.js → src/set.js} +0 -0
  801. /package/{sort.js → src/sort.js} +0 -0
  802. /package/{statistics.js → src/statistics.js} +0 -0
  803. /package/{storage.js → src/storage.js} +0 -0
  804. /package/{symbol.js → src/symbol.js} +0 -0
  805. /package/{time.js → src/time.js} +0 -0
  806. /package/{trait → src/trait}/equality.js +0 -0
  807. /package/{trait → src/trait}/fingerprint.js +0 -0
  808. /package/{trait → src/trait}/traits.js +0 -0
  809. /package/{tree.js → src/tree.js} +0 -0
  810. /package/{url.js → src/url.js} +0 -0
  811. /package/{webcrypto.deno.js → src/webcrypto.deno.js} +0 -0
  812. /package/{webcrypto.js → src/webcrypto.js} +0 -0
  813. /package/{webcrypto.node.js → src/webcrypto.node.js} +0 -0
  814. /package/{webcrypto.react-native.js → src/webcrypto.react-native.js} +0 -0
  815. /package/{websocket.js → src/websocket.js} +0 -0
  816. /package/{broadcastchannel.d.ts → types/broadcastchannel.d.ts} +0 -0
  817. /package/{buffer.d.ts → types/buffer.d.ts} +0 -0
  818. /package/{cache.d.ts → types/cache.d.ts} +0 -0
  819. /package/{component.d.ts → types/component.d.ts} +0 -0
  820. /package/{conditions.d.ts → types/conditions.d.ts} +0 -0
  821. /package/{decoding.d.ts → types/decoding.d.ts} +0 -0
  822. /package/{diff.d.ts → types/diff.d.ts} +0 -0
  823. /package/{dist → types}/dom.d.ts +0 -0
  824. /package/{dist → types}/encoding.d.ts +0 -0
  825. /package/{dist → types}/error.d.ts +0 -0
  826. /package/{dist → types}/eventloop.d.ts +0 -0
  827. /package/{dist → types}/indexeddb.d.ts +0 -0
  828. /package/{dist → types}/indexeddbV2.d.ts +0 -0
  829. /package/{dist → types}/iterator.d.ts +0 -0
  830. /package/{dist → types}/json.d.ts +0 -0
  831. /package/{dist → types}/list.d.ts +0 -0
  832. /package/{dist → types}/logging.common.d.ts +0 -0
  833. /package/{dist → types}/logging.d.ts +0 -0
  834. /package/{dist → types}/logging.node.d.ts +0 -0
  835. /package/{dist → types}/map.d.ts +0 -0
  836. /package/{dist → types}/math.d.ts +0 -0
  837. /package/{dist → types}/metric.d.ts +0 -0
  838. /package/{dist → types}/mutex.d.ts +0 -0
  839. /package/{dist → types}/object.d.ts +0 -0
  840. /package/{dist → types}/observable.d.ts +0 -0
  841. /package/{dist → types}/pair.d.ts +0 -0
  842. /package/{dist → types}/performance.d.ts +0 -0
  843. /package/{dist → types}/performance.node.d.ts +0 -0
  844. /package/{dist → types}/pledge.d.ts +0 -0
  845. /package/{dist → types}/prng.d.ts +0 -0
  846. /package/{dist → types}/promise.d.ts +0 -0
  847. /package/{dist → types}/queue.d.ts +0 -0
  848. /package/{dist → types}/random.d.ts +0 -0
  849. /package/{dist → types}/set.d.ts +0 -0
  850. /package/{dist → types}/sort.d.ts +0 -0
  851. /package/{dist → types}/statistics.d.ts +0 -0
  852. /package/{dist → types}/storage.d.ts +0 -0
  853. /package/{dist → types}/symbol.d.ts +0 -0
  854. /package/{dist → types}/time.d.ts +0 -0
  855. /package/{dist → types}/tree.d.ts +0 -0
  856. /package/{dist → types}/url.d.ts +0 -0
  857. /package/{dist → types}/webcrypto.d.ts +0 -0
  858. /package/{dist → types}/webcrypto.deno.d.ts +0 -0
  859. /package/{dist → types}/webcrypto.node.d.ts +0 -0
  860. /package/{dist → types}/webcrypto.react-native.d.ts +0 -0
  861. /package/{dist → types}/websocket.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"promise.test.d.ts","sourceRoot":"","sources":["../promise.test.js"],"names":[],"mappings":"AA6BO,uCAFI,CAAC,CAAC,QAAQ,iBAmBpB;AAKM,mCAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,iCAFI,CAAC,CAAC,QAAQ,iBAapB;mBA7EkB,cAAc"}
package/dist/queue.cjs DELETED
@@ -1,97 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- class QueueNode {
6
- constructor () {
7
- /**
8
- * @type {QueueNode|null}
9
- */
10
- this.next = null;
11
- }
12
- }
13
-
14
- /**
15
- * @template V
16
- */
17
- class QueueValue extends QueueNode {
18
- /**
19
- * @param {V} v
20
- */
21
- constructor (v) {
22
- super();
23
- this.v = v;
24
- }
25
- }
26
-
27
- /**
28
- * @template {QueueNode} N
29
- */
30
- class Queue {
31
- constructor () {
32
- /**
33
- * @type {N | null}
34
- */
35
- this.start = null;
36
- /**
37
- * @type {N | null}
38
- */
39
- this.end = null;
40
- }
41
- }
42
-
43
- /**
44
- * @note The queue implementation is experimental and unfinished.
45
- * Don't use this in production yet.
46
- *
47
- * @template {QueueNode} N
48
- * @return {Queue<N>}
49
- */
50
- const create = () => new Queue();
51
-
52
- /**
53
- * @param {Queue<any>} queue
54
- */
55
- const isEmpty = queue => queue.start === null;
56
-
57
- /**
58
- * @template {Queue<any>} Q
59
- * @param {Q} queue
60
- * @param {Q extends Queue<infer N> ? N : never} n
61
- */
62
- const enqueue = (queue, n) => {
63
- if (queue.end !== null) {
64
- queue.end.next = n;
65
- queue.end = n;
66
- } else {
67
- queue.end = n;
68
- queue.start = n;
69
- }
70
- };
71
-
72
- /**
73
- * @template {QueueNode} N
74
- * @param {Queue<N>} queue
75
- * @return {N | null}
76
- */
77
- const dequeue = queue => {
78
- const n = queue.start;
79
- if (n !== null) {
80
- // @ts-ignore
81
- queue.start = n.next;
82
- if (queue.start === null) {
83
- queue.end = null;
84
- }
85
- return n
86
- }
87
- return null
88
- };
89
-
90
- exports.Queue = Queue;
91
- exports.QueueNode = QueueNode;
92
- exports.QueueValue = QueueValue;
93
- exports.create = create;
94
- exports.dequeue = dequeue;
95
- exports.enqueue = enqueue;
96
- exports.isEmpty = isEmpty;
97
- //# sourceMappingURL=queue.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.cjs","sources":["../queue.js"],"sourcesContent":["export class QueueNode {\n constructor () {\n /**\n * @type {QueueNode|null}\n */\n this.next = null\n }\n}\n\n/**\n * @template V\n */\nexport class QueueValue extends QueueNode {\n /**\n * @param {V} v\n */\n constructor (v) {\n super()\n this.v = v\n }\n}\n\n/**\n * @template {QueueNode} N\n */\nexport class Queue {\n constructor () {\n /**\n * @type {N | null}\n */\n this.start = null\n /**\n * @type {N | null}\n */\n this.end = null\n }\n}\n\n/**\n * @note The queue implementation is experimental and unfinished.\n * Don't use this in production yet.\n *\n * @template {QueueNode} N\n * @return {Queue<N>}\n */\nexport const create = () => new Queue()\n\n/**\n * @param {Queue<any>} queue\n */\nexport const isEmpty = queue => queue.start === null\n\n/**\n * @template {Queue<any>} Q\n * @param {Q} queue\n * @param {Q extends Queue<infer N> ? N : never} n\n */\nexport const enqueue = (queue, n) => {\n if (queue.end !== null) {\n queue.end.next = n\n queue.end = n\n } else {\n queue.end = n\n queue.start = n\n }\n}\n\n/**\n * @template {QueueNode} N\n * @param {Queue<N>} queue\n * @return {N | null}\n */\nexport const dequeue = queue => {\n const n = queue.start\n if (n !== null) {\n // @ts-ignore\n queue.start = n.next\n if (queue.start === null) {\n queue.end = null\n }\n return n\n }\n return null\n}\n"],"names":[],"mappings":";;;;AAAO,MAAM,SAAS,CAAC;AACvB,EAAE,WAAW,CAAC,GAAG;AACjB;AACA;AACA;AACA,IAAI,IAAI,CAAC,IAAI,GAAG,KAAI;AACpB,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACO,MAAM,UAAU,SAAS,SAAS,CAAC;AAC1C;AACA;AACA;AACA,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE;AAClB,IAAI,KAAK,GAAE;AACX,IAAI,IAAI,CAAC,CAAC,GAAG,EAAC;AACd,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACO,MAAM,KAAK,CAAC;AACnB,EAAE,WAAW,CAAC,GAAG;AACjB;AACA;AACA;AACA,IAAI,IAAI,CAAC,KAAK,GAAG,KAAI;AACrB;AACA;AACA;AACA,IAAI,IAAI,CAAC,GAAG,GAAG,KAAI;AACnB,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,MAAM,GAAG,MAAM,IAAI,KAAK,GAAE;AACvC;AACA;AACA;AACA;AACY,MAAC,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAI;AACpD;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK;AACrC,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE;AAC1B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,EAAC;AACtB,IAAI,KAAK,CAAC,GAAG,GAAG,EAAC;AACjB,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,GAAG,GAAG,EAAC;AACjB,IAAI,KAAK,CAAC,KAAK,GAAG,EAAC;AACnB,GAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,OAAO,GAAG,KAAK,IAAI;AAChC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,MAAK;AACvB,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;AAClB;AACA,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAI;AACxB,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE;AAC9B,MAAM,KAAK,CAAC,GAAG,GAAG,KAAI;AACtB,KAAK;AACL,IAAI,OAAO,CAAC;AACZ,GAAG;AACH,EAAE,OAAO,IAAI;AACb;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../queue.js"],"names":[],"mappings":"AAAA;IAEI;;OAEG;IACH,MAFU,SAAS,GAAC,IAAI,CAER;CAEnB;AAED;;GAEG;AACH,wBAFa,CAAC;IAGZ;;OAEG;IACH,eAFW,CAAC,EAKX;IADC,KAAU;CAEb;AAED;;GAEG;AACH,mBAFyB,CAAC,SAAZ,SAAU;IAIpB;;OAEG;IACH,OAFU,CAAC,GAAG,IAAI,CAED;IACjB;;OAEG;IACH,KAFU,CAAC,GAAG,IAAI,CAEH;CAElB;AASM,uBAHkB,CAAC,SAAZ,SAAU,KACZ,KAAK,CAAC,CAAC,CAAC,CAEmB;AAKhC,+BAFI,KAAK,CAAC,GAAG,CAAC,WAE+B;AAO7C,wBAJmB,CAAC,SAAb,KAAK,CAAC,GAAG,CAAE,SACd,CAAC,KACD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,QAU9C;AAOM,wBAJkB,CAAC,SAAZ,SAAU,SACb,KAAK,CAAC,CAAC,CAAC,GACP,CAAC,GAAG,IAAI,CAanB"}
@@ -1,3 +0,0 @@
1
- export function testEnqueueDequeue(_tc: t.TestCase): void;
2
- import * as t from './testing.js';
3
- //# sourceMappingURL=queue.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queue.test.d.ts","sourceRoot":"","sources":["../queue.test.js"],"names":[],"mappings":"AAMO,wCAFI,CAAC,CAAC,QAAQ,QA8BpB;mBAlCkB,cAAc"}
@@ -1,440 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var math = require('./math-96d5e8c4.cjs');
6
- var webcrypto = require('lib0/webcrypto');
7
- var array = require('./array-78849c95.cjs');
8
- var buffer = require('./buffer-3e750729.cjs');
9
- require('./set-5b47859e.cjs');
10
- require('./string-fddc5f8b.cjs');
11
- require('./environment-1c97264d.cjs');
12
- require('./map-24d263c0.cjs');
13
- require('./conditions-f5c0c102.cjs');
14
- require('./storage.cjs');
15
- require('./function-314580f7.cjs');
16
- require('./object-c0c9435b.cjs');
17
- require('./equality.cjs');
18
- require('./encoding-1a745c43.cjs');
19
- require('./number-1fb57bba.cjs');
20
- require('./binary-ac8e39e2.cjs');
21
- require('./decoding-76e75827.cjs');
22
- require('./error-0c1f634f.cjs');
23
-
24
- function _interopNamespace(e) {
25
- if (e && e.__esModule) return e;
26
- var n = Object.create(null);
27
- if (e) {
28
- Object.keys(e).forEach(function (k) {
29
- if (k !== 'default') {
30
- var d = Object.getOwnPropertyDescriptor(e, k);
31
- Object.defineProperty(n, k, d.get ? d : {
32
- enumerable: true,
33
- get: function () { return e[k]; }
34
- });
35
- }
36
- });
37
- }
38
- n["default"] = e;
39
- return Object.freeze(n);
40
- }
41
-
42
- var webcrypto__namespace = /*#__PURE__*/_interopNamespace(webcrypto);
43
-
44
- /**
45
- * The idea of the Rabin fingerprint algorithm is to represent the binary as a polynomial in a
46
- * finite field (Galois Field G(2)). The polynomial will then be taken "modulo" by an irreducible
47
- * polynomial of the desired size.
48
- *
49
- * This implementation is inefficient and is solely used to verify the actually performant
50
- * implementation in `./rabin.js`.
51
- *
52
- * @module rabin-gf2-polynomial
53
- */
54
-
55
- /**
56
- * @param {number} degree
57
- */
58
- const _degreeToMinByteLength = degree => math.floor(degree / 8) + 1;
59
-
60
- /**
61
- * This is a GF2 Polynomial abstraction that is not meant for production!
62
- *
63
- * It is easy to understand and it's correctness is as obvious as possible. It can be used to verify
64
- * efficient implementations of algorithms on GF2.
65
- */
66
- class GF2Polynomial {
67
- constructor () {
68
- /**
69
- * @type {Set<number>}
70
- */
71
- this.degrees = new Set();
72
- }
73
- }
74
-
75
- /**
76
- * From Uint8Array (MSB).
77
- *
78
- * @param {Uint8Array} bytes
79
- */
80
- const createFromBytes = bytes => {
81
- const p = new GF2Polynomial();
82
- for (let bsi = bytes.length - 1, currDegree = 0; bsi >= 0; bsi--) {
83
- const currByte = bytes[bsi];
84
- for (let i = 0; i < 8; i++) {
85
- if (((currByte >>> i) & 1) === 1) {
86
- p.degrees.add(currDegree);
87
- }
88
- currDegree++;
89
- }
90
- }
91
- return p
92
- };
93
-
94
- /**
95
- * Transform to Uint8Array (MSB).
96
- *
97
- * @param {GF2Polynomial} p
98
- * @param {number} byteLength
99
- */
100
- const toUint8Array = (p, byteLength = _degreeToMinByteLength(getHighestDegree(p))) => {
101
- const buf = buffer.createUint8ArrayFromLen(byteLength);
102
- /**
103
- * @param {number} i
104
- */
105
- const setBit = i => {
106
- const bi = math.floor(i / 8);
107
- buf[buf.length - 1 - bi] |= (1 << (i % 8));
108
- };
109
- p.degrees.forEach(setBit);
110
- return buf
111
- };
112
-
113
- /**
114
- * Create from unsigned integer (max 32bit uint) - read most-significant-byte first.
115
- *
116
- * @param {number} uint
117
- */
118
- const createFromUint = uint => {
119
- const buf = new Uint8Array(4);
120
- for (let i = 0; i < 4; i++) {
121
- buf[i] = uint >>> 8 * (3 - i);
122
- }
123
- return createFromBytes(buf)
124
- };
125
-
126
- /**
127
- * Create a random polynomial of a specified degree.
128
- *
129
- * @param {number} degree
130
- */
131
- const createRandom = degree => {
132
- const bs = new Uint8Array(_degreeToMinByteLength(degree));
133
- webcrypto__namespace.getRandomValues(bs);
134
- // Get first byte and explicitly set the bit of "degree" to 1 (the result must have the specified
135
- // degree).
136
- const firstByte = bs[0] | 1 << (degree % 8);
137
- // Find out how many bits of the first byte need to be filled with zeros because they are >degree.
138
- const zeros = 7 - (degree % 8);
139
- bs[0] = ((firstByte << zeros) & 0xff) >>> zeros;
140
- return createFromBytes(bs)
141
- };
142
-
143
- /**
144
- * @param {GF2Polynomial} p
145
- * @return number
146
- */
147
- const getHighestDegree = p => array.fold(array.from(p.degrees), 0, math.max);
148
-
149
- /**
150
- * Add (+) p2 int the p1 polynomial.
151
- *
152
- * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.
153
- *
154
- * @param {GF2Polynomial} p1
155
- * @param {GF2Polynomial} p2
156
- */
157
- const addInto = (p1, p2) => {
158
- p2.degrees.forEach(degree => {
159
- if (p1.degrees.has(degree)) {
160
- p1.degrees.delete(degree);
161
- } else {
162
- p1.degrees.add(degree);
163
- }
164
- });
165
- };
166
-
167
- /**
168
- * Or (|) p2 into the p1 polynomial.
169
- *
170
- * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.
171
- *
172
- * @param {GF2Polynomial} p1
173
- * @param {GF2Polynomial} p2
174
- */
175
- const orInto = (p1, p2) => {
176
- p2.degrees.forEach(degree => {
177
- p1.degrees.add(degree);
178
- });
179
- };
180
-
181
- /**
182
- * Add (+) p2 to the p1 polynomial.
183
- *
184
- * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.
185
- *
186
- * @param {GF2Polynomial} p1
187
- * @param {GF2Polynomial} p2
188
- */
189
- const add = (p1, p2) => {
190
- const result = new GF2Polynomial();
191
- p2.degrees.forEach(degree => {
192
- if (!p1.degrees.has(degree)) {
193
- result.degrees.add(degree);
194
- }
195
- });
196
- p1.degrees.forEach(degree => {
197
- if (!p2.degrees.has(degree)) {
198
- result.degrees.add(degree);
199
- }
200
- });
201
- return result
202
- };
203
-
204
- /**
205
- * Add (+) p2 to the p1 polynomial.
206
- *
207
- * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.
208
- *
209
- * @param {GF2Polynomial} p
210
- */
211
- const clone = (p) => {
212
- const result = new GF2Polynomial();
213
- p.degrees.forEach(d => result.degrees.add(d));
214
- return result
215
- };
216
-
217
- /**
218
- * Add (+) p2 to the p1 polynomial.
219
- *
220
- * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.
221
- *
222
- * @param {GF2Polynomial} p
223
- * @param {number} degree
224
- */
225
- const addDegreeInto = (p, degree) => {
226
- if (p.degrees.has(degree)) {
227
- p.degrees.delete(degree);
228
- } else {
229
- p.degrees.add(degree);
230
- }
231
- };
232
-
233
- /**
234
- * Multiply (•) p1 with p2 and store the result in p1.
235
- *
236
- * @param {GF2Polynomial} p1
237
- * @param {GF2Polynomial} p2
238
- */
239
- const multiply = (p1, p2) => {
240
- const result = new GF2Polynomial();
241
- p1.degrees.forEach(degree1 => {
242
- p2.degrees.forEach(degree2 => {
243
- addDegreeInto(result, degree1 + degree2);
244
- });
245
- });
246
- return result
247
- };
248
-
249
- /**
250
- * Multiply (•) p1 with p2 and store the result in p1.
251
- *
252
- * @param {GF2Polynomial} p
253
- * @param {number} shift
254
- */
255
- const shiftLeft = (p, shift) => {
256
- const result = new GF2Polynomial();
257
- p.degrees.forEach(degree => {
258
- const r = degree + shift;
259
- r >= 0 && result.degrees.add(r);
260
- });
261
- return result
262
- };
263
-
264
- /**
265
- * Computes p1 % p2. I.e. the remainder of p1/p2.
266
- *
267
- * @param {GF2Polynomial} p1
268
- * @param {GF2Polynomial} p2
269
- */
270
- const mod = (p1, p2) => {
271
- const maxDeg1 = getHighestDegree(p1);
272
- const maxDeg2 = getHighestDegree(p2);
273
- const result = clone(p1);
274
- for (let i = maxDeg1 - maxDeg2; i >= 0; i--) {
275
- if (result.degrees.has(maxDeg2 + i)) {
276
- const shifted = shiftLeft(p2, i);
277
- addInto(result, shifted);
278
- }
279
- }
280
- return result
281
- };
282
-
283
- /**
284
- * Computes (p^e mod m).
285
- *
286
- * http://en.wikipedia.org/wiki/Modular_exponentiation
287
- *
288
- * @param {GF2Polynomial} p
289
- * @param {number} e
290
- * @param {GF2Polynomial} m
291
- */
292
- const modPow = (p, e, m) => {
293
- let result = ONE;
294
- while (true) {
295
- if ((e & 1) === 1) {
296
- result = mod(multiply(result, p), m);
297
- }
298
- e >>>= 1;
299
- if (e === 0) {
300
- return result
301
- }
302
- p = mod(multiply(p, p), m);
303
- }
304
- };
305
-
306
- /**
307
- * Find the greatest common divisor using Euclid's Algorithm.
308
- *
309
- * @param {GF2Polynomial} p1
310
- * @param {GF2Polynomial} p2
311
- */
312
- const gcd = (p1, p2) => {
313
- while (p2.degrees.size > 0) {
314
- const modded = mod(p1, p2);
315
- p1 = p2;
316
- p2 = modded;
317
- }
318
- return p1
319
- };
320
-
321
- /**
322
- * true iff p1 equals p2
323
- *
324
- * @param {GF2Polynomial} p1
325
- * @param {GF2Polynomial} p2
326
- */
327
- const equals = (p1, p2) => {
328
- if (p1.degrees.size !== p2.degrees.size) return false
329
- for (const d of p1.degrees) {
330
- if (!p2.degrees.has(d)) return false
331
- }
332
- return true
333
- };
334
-
335
- const X = createFromBytes(new Uint8Array([2]));
336
- const ONE = createFromBytes(new Uint8Array([1]));
337
-
338
- /**
339
- * Computes ( x^(2^p) - x ) mod f
340
- *
341
- * (shamelessly copied from
342
- * https://github.com/opendedup/rabinfingerprint/blob/master/src/org/rabinfingerprint/polynomial/Polynomial.java)
343
- *
344
- * @param {GF2Polynomial} f
345
- * @param {number} p
346
- */
347
- const reduceExponent = (f, p) => {
348
- // compute (x^q^p mod f)
349
- const q2p = math.pow(2, p);
350
- const x2q2p = modPow(X, q2p, f);
351
- // subtract (x mod f)
352
- return mod(add(x2q2p, X), f)
353
- };
354
-
355
- /**
356
- * BenOr Reducibility Test
357
- *
358
- * Tests and Constructions of Irreducible Polynomials over Finite Fields
359
- * (1997) Shuhong Gao, Daniel Panario
360
- *
361
- * http://citeseer.ist.psu.edu/cache/papers/cs/27167/http:zSzzSzwww.math.clemson.eduzSzfacultyzSzGaozSzpaperszSzGP97a.pdf/gao97tests.pdf
362
- *
363
- * @param {GF2Polynomial} p
364
- */
365
- const isIrreducibleBenOr = p => {
366
- const degree = getHighestDegree(p);
367
- for (let i = 1; i < degree / 2; i++) {
368
- const b = reduceExponent(p, i);
369
- const g = gcd(p, b);
370
- if (!equals(g, ONE)) {
371
- return false
372
- }
373
- }
374
- return true
375
- };
376
-
377
- /**
378
- * @param {number} degree
379
- */
380
- const createIrreducible = degree => {
381
- while (true) {
382
- const p = createRandom(degree);
383
- if (isIrreducibleBenOr(p)) return p
384
- }
385
- };
386
-
387
- /**
388
- * Create a fingerprint of buf using the irreducible polynomial m.
389
- *
390
- * @param {Uint8Array} buf
391
- * @param {GF2Polynomial} m
392
- */
393
- const fingerprint = (buf, m) => toUint8Array(mod(createFromBytes(buf), m), _degreeToMinByteLength(getHighestDegree(m) - 1));
394
-
395
- class RabinPolynomialEncoder {
396
- /**
397
- * @param {GF2Polynomial} m The irreducible polynomial
398
- */
399
- constructor (m) {
400
- this.fingerprint = new GF2Polynomial();
401
- this.m = m;
402
- }
403
-
404
- /**
405
- * @param {number} b
406
- */
407
- write (b) {
408
- const bp = createFromBytes(new Uint8Array([b]));
409
- const fingerprint = shiftLeft(this.fingerprint, 8);
410
- orInto(fingerprint, bp);
411
- this.fingerprint = mod(fingerprint, this.m);
412
- }
413
-
414
- getFingerprint () {
415
- return toUint8Array(this.fingerprint, _degreeToMinByteLength(getHighestDegree(this.m) - 1))
416
- }
417
- }
418
-
419
- exports.GF2Polynomial = GF2Polynomial;
420
- exports.RabinPolynomialEncoder = RabinPolynomialEncoder;
421
- exports.add = add;
422
- exports.addDegreeInto = addDegreeInto;
423
- exports.addInto = addInto;
424
- exports.clone = clone;
425
- exports.createFromBytes = createFromBytes;
426
- exports.createFromUint = createFromUint;
427
- exports.createIrreducible = createIrreducible;
428
- exports.createRandom = createRandom;
429
- exports.equals = equals;
430
- exports.fingerprint = fingerprint;
431
- exports.gcd = gcd;
432
- exports.getHighestDegree = getHighestDegree;
433
- exports.isIrreducibleBenOr = isIrreducibleBenOr;
434
- exports.mod = mod;
435
- exports.modPow = modPow;
436
- exports.multiply = multiply;
437
- exports.orInto = orInto;
438
- exports.shiftLeft = shiftLeft;
439
- exports.toUint8Array = toUint8Array;
440
- //# sourceMappingURL=rabin-gf2-polynomial.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rabin-gf2-polynomial.cjs","sources":["../hash/rabin-gf2-polynomial.js"],"sourcesContent":["/**\n * The idea of the Rabin fingerprint algorithm is to represent the binary as a polynomial in a\n * finite field (Galois Field G(2)). The polynomial will then be taken \"modulo\" by an irreducible\n * polynomial of the desired size.\n *\n * This implementation is inefficient and is solely used to verify the actually performant\n * implementation in `./rabin.js`.\n *\n * @module rabin-gf2-polynomial\n */\n\nimport * as math from '../math.js'\nimport * as webcrypto from 'lib0/webcrypto'\nimport * as array from '../array.js'\nimport * as buffer from '../buffer.js'\n\n/**\n * @param {number} degree\n */\nconst _degreeToMinByteLength = degree => math.floor(degree / 8) + 1\n\n/**\n * This is a GF2 Polynomial abstraction that is not meant for production!\n *\n * It is easy to understand and it's correctness is as obvious as possible. It can be used to verify\n * efficient implementations of algorithms on GF2.\n */\nexport class GF2Polynomial {\n constructor () {\n /**\n * @type {Set<number>}\n */\n this.degrees = new Set()\n }\n}\n\n/**\n * From Uint8Array (MSB).\n *\n * @param {Uint8Array} bytes\n */\nexport const createFromBytes = bytes => {\n const p = new GF2Polynomial()\n for (let bsi = bytes.length - 1, currDegree = 0; bsi >= 0; bsi--) {\n const currByte = bytes[bsi]\n for (let i = 0; i < 8; i++) {\n if (((currByte >>> i) & 1) === 1) {\n p.degrees.add(currDegree)\n }\n currDegree++\n }\n }\n return p\n}\n\n/**\n * Transform to Uint8Array (MSB).\n *\n * @param {GF2Polynomial} p\n * @param {number} byteLength\n */\nexport const toUint8Array = (p, byteLength = _degreeToMinByteLength(getHighestDegree(p))) => {\n const buf = buffer.createUint8ArrayFromLen(byteLength)\n /**\n * @param {number} i\n */\n const setBit = i => {\n const bi = math.floor(i / 8)\n buf[buf.length - 1 - bi] |= (1 << (i % 8))\n }\n p.degrees.forEach(setBit)\n return buf\n}\n\n/**\n * Create from unsigned integer (max 32bit uint) - read most-significant-byte first.\n *\n * @param {number} uint\n */\nexport const createFromUint = uint => {\n const buf = new Uint8Array(4)\n for (let i = 0; i < 4; i++) {\n buf[i] = uint >>> 8 * (3 - i)\n }\n return createFromBytes(buf)\n}\n\n/**\n * Create a random polynomial of a specified degree.\n *\n * @param {number} degree\n */\nexport const createRandom = degree => {\n const bs = new Uint8Array(_degreeToMinByteLength(degree))\n webcrypto.getRandomValues(bs)\n // Get first byte and explicitly set the bit of \"degree\" to 1 (the result must have the specified\n // degree).\n const firstByte = bs[0] | 1 << (degree % 8)\n // Find out how many bits of the first byte need to be filled with zeros because they are >degree.\n const zeros = 7 - (degree % 8)\n bs[0] = ((firstByte << zeros) & 0xff) >>> zeros\n return createFromBytes(bs)\n}\n\n/**\n * @param {GF2Polynomial} p\n * @return number\n */\nexport const getHighestDegree = p => array.fold(array.from(p.degrees), 0, math.max)\n\n/**\n * Add (+) p2 int the p1 polynomial.\n *\n * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.\n *\n * @param {GF2Polynomial} p1\n * @param {GF2Polynomial} p2\n */\nexport const addInto = (p1, p2) => {\n p2.degrees.forEach(degree => {\n if (p1.degrees.has(degree)) {\n p1.degrees.delete(degree)\n } else {\n p1.degrees.add(degree)\n }\n })\n}\n\n/**\n * Or (|) p2 into the p1 polynomial.\n *\n * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.\n *\n * @param {GF2Polynomial} p1\n * @param {GF2Polynomial} p2\n */\nexport const orInto = (p1, p2) => {\n p2.degrees.forEach(degree => {\n p1.degrees.add(degree)\n })\n}\n\n/**\n * Add (+) p2 to the p1 polynomial.\n *\n * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.\n *\n * @param {GF2Polynomial} p1\n * @param {GF2Polynomial} p2\n */\nexport const add = (p1, p2) => {\n const result = new GF2Polynomial()\n p2.degrees.forEach(degree => {\n if (!p1.degrees.has(degree)) {\n result.degrees.add(degree)\n }\n })\n p1.degrees.forEach(degree => {\n if (!p2.degrees.has(degree)) {\n result.degrees.add(degree)\n }\n })\n return result\n}\n\n/**\n * Add (+) p2 to the p1 polynomial.\n *\n * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.\n *\n * @param {GF2Polynomial} p\n */\nexport const clone = (p) => {\n const result = new GF2Polynomial()\n p.degrees.forEach(d => result.degrees.add(d))\n return result\n}\n\n/**\n * Add (+) p2 to the p1 polynomial.\n *\n * Addition is defined as xor in F2. Substraction is equivalent to addition in F2.\n *\n * @param {GF2Polynomial} p\n * @param {number} degree\n */\nexport const addDegreeInto = (p, degree) => {\n if (p.degrees.has(degree)) {\n p.degrees.delete(degree)\n } else {\n p.degrees.add(degree)\n }\n}\n\n/**\n * Multiply (•) p1 with p2 and store the result in p1.\n *\n * @param {GF2Polynomial} p1\n * @param {GF2Polynomial} p2\n */\nexport const multiply = (p1, p2) => {\n const result = new GF2Polynomial()\n p1.degrees.forEach(degree1 => {\n p2.degrees.forEach(degree2 => {\n addDegreeInto(result, degree1 + degree2)\n })\n })\n return result\n}\n\n/**\n * Multiply (•) p1 with p2 and store the result in p1.\n *\n * @param {GF2Polynomial} p\n * @param {number} shift\n */\nexport const shiftLeft = (p, shift) => {\n const result = new GF2Polynomial()\n p.degrees.forEach(degree => {\n const r = degree + shift\n r >= 0 && result.degrees.add(r)\n })\n return result\n}\n\n/**\n * Computes p1 % p2. I.e. the remainder of p1/p2.\n *\n * @param {GF2Polynomial} p1\n * @param {GF2Polynomial} p2\n */\nexport const mod = (p1, p2) => {\n const maxDeg1 = getHighestDegree(p1)\n const maxDeg2 = getHighestDegree(p2)\n const result = clone(p1)\n for (let i = maxDeg1 - maxDeg2; i >= 0; i--) {\n if (result.degrees.has(maxDeg2 + i)) {\n const shifted = shiftLeft(p2, i)\n addInto(result, shifted)\n }\n }\n return result\n}\n\n/**\n * Computes (p^e mod m).\n *\n * http://en.wikipedia.org/wiki/Modular_exponentiation\n *\n * @param {GF2Polynomial} p\n * @param {number} e\n * @param {GF2Polynomial} m\n */\nexport const modPow = (p, e, m) => {\n let result = ONE\n while (true) {\n if ((e & 1) === 1) {\n result = mod(multiply(result, p), m)\n }\n e >>>= 1\n if (e === 0) {\n return result\n }\n p = mod(multiply(p, p), m)\n }\n}\n\n/**\n * Find the greatest common divisor using Euclid's Algorithm.\n *\n * @param {GF2Polynomial} p1\n * @param {GF2Polynomial} p2\n */\nexport const gcd = (p1, p2) => {\n while (p2.degrees.size > 0) {\n const modded = mod(p1, p2)\n p1 = p2\n p2 = modded\n }\n return p1\n}\n\n/**\n * true iff p1 equals p2\n *\n * @param {GF2Polynomial} p1\n * @param {GF2Polynomial} p2\n */\nexport const equals = (p1, p2) => {\n if (p1.degrees.size !== p2.degrees.size) return false\n for (const d of p1.degrees) {\n if (!p2.degrees.has(d)) return false\n }\n return true\n}\n\nconst X = createFromBytes(new Uint8Array([2]))\nconst ONE = createFromBytes(new Uint8Array([1]))\n\n/**\n * Computes ( x^(2^p) - x ) mod f\n *\n * (shamelessly copied from\n * https://github.com/opendedup/rabinfingerprint/blob/master/src/org/rabinfingerprint/polynomial/Polynomial.java)\n *\n * @param {GF2Polynomial} f\n * @param {number} p\n */\nconst reduceExponent = (f, p) => {\n // compute (x^q^p mod f)\n const q2p = math.pow(2, p)\n const x2q2p = modPow(X, q2p, f)\n // subtract (x mod f)\n return mod(add(x2q2p, X), f)\n}\n\n/**\n * BenOr Reducibility Test\n *\n * Tests and Constructions of Irreducible Polynomials over Finite Fields\n * (1997) Shuhong Gao, Daniel Panario\n *\n * http://citeseer.ist.psu.edu/cache/papers/cs/27167/http:zSzzSzwww.math.clemson.eduzSzfacultyzSzGaozSzpaperszSzGP97a.pdf/gao97tests.pdf\n *\n * @param {GF2Polynomial} p\n */\nexport const isIrreducibleBenOr = p => {\n const degree = getHighestDegree(p)\n for (let i = 1; i < degree / 2; i++) {\n const b = reduceExponent(p, i)\n const g = gcd(p, b)\n if (!equals(g, ONE)) {\n return false\n }\n }\n return true\n}\n\n/**\n * @param {number} degree\n */\nexport const createIrreducible = degree => {\n while (true) {\n const p = createRandom(degree)\n if (isIrreducibleBenOr(p)) return p\n }\n}\n\n/**\n * Create a fingerprint of buf using the irreducible polynomial m.\n *\n * @param {Uint8Array} buf\n * @param {GF2Polynomial} m\n */\nexport const fingerprint = (buf, m) => toUint8Array(mod(createFromBytes(buf), m), _degreeToMinByteLength(getHighestDegree(m) - 1))\n\nexport class RabinPolynomialEncoder {\n /**\n * @param {GF2Polynomial} m The irreducible polynomial\n */\n constructor (m) {\n this.fingerprint = new GF2Polynomial()\n this.m = m\n }\n\n /**\n * @param {number} b\n */\n write (b) {\n const bp = createFromBytes(new Uint8Array([b]))\n const fingerprint = shiftLeft(this.fingerprint, 8)\n orInto(fingerprint, bp)\n this.fingerprint = mod(fingerprint, this.m)\n }\n\n getFingerprint () {\n return toUint8Array(this.fingerprint, _degreeToMinByteLength(getHighestDegree(this.m) - 1))\n }\n}\n"],"names":["math.floor","buffer.createUint8ArrayFromLen","webcrypto","array.fold","array.from","math.max","math.pow"],"mappings":"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"}
@@ -1,90 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var math = require('./math-96d5e8c4.cjs');
6
- var buffer = require('./buffer-3e750729.cjs');
7
- require('./string-fddc5f8b.cjs');
8
- require('./array-78849c95.cjs');
9
- require('./set-5b47859e.cjs');
10
- require('./environment-1c97264d.cjs');
11
- require('./map-24d263c0.cjs');
12
- require('./conditions-f5c0c102.cjs');
13
- require('./storage.cjs');
14
- require('./function-314580f7.cjs');
15
- require('./object-c0c9435b.cjs');
16
- require('./equality.cjs');
17
- require('./encoding-1a745c43.cjs');
18
- require('./number-1fb57bba.cjs');
19
- require('./binary-ac8e39e2.cjs');
20
- require('./decoding-76e75827.cjs');
21
- require('./error-0c1f634f.cjs');
22
-
23
- /**
24
- * It is not recommended to use this package. This is the uncached implementation of the rabin
25
- * fingerprint algorithm. However, it can be used to verify the `rabin.js` implementation.
26
- *
27
- * @module rabin-uncached
28
- */
29
-
30
- class RabinUncachedEncoder {
31
- /**
32
- * @param {Uint8Array} m assert(m[0] === 1)
33
- */
34
- constructor (m) {
35
- this.m = m;
36
- this.blen = m.byteLength;
37
- this.bs = new Uint8Array(this.blen);
38
- /**
39
- * This describes the position of the most significant byte (starts with 0 and increases with
40
- * shift)
41
- */
42
- this.bpos = 0;
43
- }
44
-
45
- /**
46
- * Add/Xor/Substract bytes.
47
- *
48
- * Discards bytes that are out of range.
49
- * @todo put this in function or inline
50
- *
51
- * @param {Uint8Array} cs
52
- */
53
- add (cs) {
54
- const copyLen = math.min(this.blen, cs.byteLength);
55
- // copy from right to left until max is reached
56
- for (let i = 0; i < copyLen; i++) {
57
- this.bs[(this.bpos + this.blen - i - 1) % this.blen] ^= cs[cs.byteLength - i - 1];
58
- }
59
- }
60
-
61
- /**
62
- * @param {number} byte
63
- */
64
- write (byte) {
65
- // [0,m1,m2,b]
66
- // x <- bpos
67
- // Shift one byte to the left, add b
68
- this.bs[this.bpos] = byte;
69
- this.bpos = (this.bpos + 1) % this.blen;
70
- // mod
71
- for (let i = 7; i >= 0; i--) {
72
- if (((this.bs[this.bpos] >>> i) & 1) === 1) {
73
- this.add(buffer.shiftNBitsLeft(this.m, i));
74
- }
75
- }
76
- // if (this.bs[this.bpos] !== 0) { error.unexpectedCase() }
77
- // assert(this.bs[this.bpos] === 0)
78
- }
79
-
80
- getFingerprint () {
81
- const result = new Uint8Array(this.blen - 1);
82
- for (let i = 0; i < result.byteLength; i++) {
83
- result[i] = this.bs[(this.bpos + i + 1) % this.blen];
84
- }
85
- return result
86
- }
87
- }
88
-
89
- exports.RabinUncachedEncoder = RabinUncachedEncoder;
90
- //# sourceMappingURL=rabin-uncached.cjs.map