lib0 0.2.116 → 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 (860) 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 +474 -410
  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 +87 -16
  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/indexeddb.d.ts.map +1 -0
  34. package/types/indexeddbV2.d.ts.map +1 -0
  35. package/types/iterator.d.ts.map +1 -0
  36. package/types/json.d.ts.map +1 -0
  37. package/types/list.d.ts.map +1 -0
  38. package/types/logging.common.d.ts.map +1 -0
  39. package/types/logging.d.ts.map +1 -0
  40. package/types/logging.node.d.ts.map +1 -0
  41. package/types/map.d.ts.map +1 -0
  42. package/types/math.d.ts.map +1 -0
  43. package/types/metric.d.ts.map +1 -0
  44. package/types/mutex.d.ts.map +1 -0
  45. package/{number.d.ts → types/number.d.ts} +2 -2
  46. package/types/number.d.ts.map +1 -0
  47. package/types/object.d.ts.map +1 -0
  48. package/types/observable.d.ts.map +1 -0
  49. package/types/pair.d.ts.map +1 -0
  50. package/types/performance.d.ts.map +1 -0
  51. package/types/performance.node.d.ts.map +1 -0
  52. package/types/pledge.d.ts.map +1 -0
  53. package/types/prng.d.ts.map +1 -0
  54. package/types/promise.d.ts.map +1 -0
  55. package/types/queue.d.ts.map +1 -0
  56. package/types/random.d.ts.map +1 -0
  57. package/{schema.d.ts → types/schema.d.ts} +65 -59
  58. package/types/schema.d.ts.map +1 -0
  59. package/types/set.d.ts.map +1 -0
  60. package/types/sort.d.ts.map +1 -0
  61. package/types/statistics.d.ts.map +1 -0
  62. package/types/storage.d.ts.map +1 -0
  63. package/{string.d.ts → types/string.d.ts} +3 -8
  64. package/types/string.d.ts.map +1 -0
  65. package/types/symbol.d.ts.map +1 -0
  66. package/{testing.d.ts → types/testing.d.ts} +2 -1
  67. package/types/testing.d.ts.map +1 -0
  68. package/types/time.d.ts.map +1 -0
  69. package/types/trait/equality.d.ts.map +1 -1
  70. package/types/tree.d.ts.map +1 -0
  71. package/types/ts.d.ts +22 -0
  72. package/types/ts.d.ts.map +1 -0
  73. package/types/url.d.ts.map +1 -0
  74. package/types/webcrypto.d.ts.map +1 -0
  75. package/types/webcrypto.deno.d.ts.map +1 -0
  76. package/types/webcrypto.node.d.ts.map +1 -0
  77. package/types/webcrypto.react-native.d.ts.map +1 -0
  78. package/types/websocket.d.ts.map +1 -0
  79. package/.github/workflows/node.js.yml +0 -24
  80. package/.jsdoc.json +0 -18
  81. package/.vscode/launch.json +0 -17
  82. package/array.d.ts +0 -30
  83. package/array.d.ts.map +0 -1
  84. package/array.test.d.ts +0 -13
  85. package/array.test.d.ts.map +0 -1
  86. package/bin/0ecdsa-generate-keypair.d.ts +0 -3
  87. package/bin/0ecdsa-generate-keypair.d.ts.map +0 -1
  88. package/bin/0serve.d.ts +0 -3
  89. package/bin/0serve.d.ts.map +0 -1
  90. package/bin/gendocs.d.ts +0 -3
  91. package/bin/gendocs.d.ts.map +0 -1
  92. package/bin/gentesthtml.d.ts +0 -3
  93. package/bin/gentesthtml.d.ts.map +0 -1
  94. package/binary.d.ts +0 -87
  95. package/binary.d.ts.map +0 -1
  96. package/binary.test.d.ts +0 -4
  97. package/binary.test.d.ts.map +0 -1
  98. package/broadcastchannel.d.ts.map +0 -1
  99. package/broadcastchannel.test.d.ts +0 -3
  100. package/broadcastchannel.test.d.ts.map +0 -1
  101. package/buffer.d.ts.map +0 -1
  102. package/buffer.test.d.ts +0 -6
  103. package/buffer.test.d.ts.map +0 -1
  104. package/cache.d.ts.map +0 -1
  105. package/cache.test.d.ts +0 -3
  106. package/cache.test.d.ts.map +0 -1
  107. package/component.d.ts.map +0 -1
  108. package/conditions.d.ts.map +0 -1
  109. package/coverage/tmp/coverage-54474-1766470859038-0.json +0 -1
  110. package/crypto/aes-gcm.d.ts +0 -17
  111. package/crypto/aes-gcm.d.ts.map +0 -1
  112. package/crypto/common.d.ts +0 -3
  113. package/crypto/common.d.ts.map +0 -1
  114. package/crypto/ecdsa.d.ts +0 -17
  115. package/crypto/ecdsa.d.ts.map +0 -1
  116. package/crypto/jwt.d.ts +0 -10
  117. package/crypto/jwt.d.ts.map +0 -1
  118. package/crypto/rsa-oaep.d.ts +0 -13
  119. package/crypto/rsa-oaep.d.ts.map +0 -1
  120. package/crypto.test.d.ts +0 -9
  121. package/crypto.test.d.ts.map +0 -1
  122. package/decoding.d.ts.map +0 -1
  123. package/delta/binding.d.ts +0 -107
  124. package/delta/binding.d.ts.map +0 -1
  125. package/delta/binding.test.d.ts +0 -5
  126. package/delta/binding.test.d.ts.map +0 -1
  127. package/delta/delta-pitch.test.d.ts +0 -5
  128. package/delta/delta-pitch.test.d.ts.map +0 -1
  129. package/delta/delta.d.ts +0 -1008
  130. package/delta/delta.d.ts.map +0 -1
  131. package/delta/delta.test.d.ts +0 -28
  132. package/delta/delta.test.d.ts.map +0 -1
  133. package/delta/t3.test.d.ts +0 -19
  134. package/delta/t3.test.d.ts.map +0 -1
  135. package/deno.json +0 -12
  136. package/deno.lock +0 -122
  137. package/diff/patience.d.ts +0 -16
  138. package/diff/patience.d.ts.map +0 -1
  139. package/diff/patience.test.d.ts +0 -4
  140. package/diff/patience.test.d.ts.map +0 -1
  141. package/diff.d.ts.map +0 -1
  142. package/diff.test.d.ts +0 -6
  143. package/diff.test.d.ts.map +0 -1
  144. package/dist/aes-gcm.cjs +0 -171
  145. package/dist/aes-gcm.cjs.map +0 -1
  146. package/dist/array-78849c95.cjs +0 -260
  147. package/dist/array-78849c95.cjs.map +0 -1
  148. package/dist/array.cjs +0 -26
  149. package/dist/array.cjs.map +0 -1
  150. package/dist/array.d.ts.map +0 -1
  151. package/dist/array.test.d.ts +0 -13
  152. package/dist/array.test.d.ts.map +0 -1
  153. package/dist/bin/0ecdsa-generate-keypair.d.ts +0 -3
  154. package/dist/bin/0ecdsa-generate-keypair.d.ts.map +0 -1
  155. package/dist/bin/0serve.d.ts +0 -3
  156. package/dist/bin/0serve.d.ts.map +0 -1
  157. package/dist/bin/gendocs.d.ts +0 -3
  158. package/dist/bin/gendocs.d.ts.map +0 -1
  159. package/dist/bin/gentesthtml.d.ts +0 -3
  160. package/dist/bin/gentesthtml.d.ts.map +0 -1
  161. package/dist/binary-ac8e39e2.cjs +0 -229
  162. package/dist/binary-ac8e39e2.cjs.map +0 -1
  163. package/dist/binary.cjs +0 -74
  164. package/dist/binary.cjs.map +0 -1
  165. package/dist/binary.d.ts.map +0 -1
  166. package/dist/binary.test.d.ts +0 -4
  167. package/dist/binary.test.d.ts.map +0 -1
  168. package/dist/binding.cjs +0 -484
  169. package/dist/binding.cjs.map +0 -1
  170. package/dist/broadcastchannel-aca4f606.cjs +0 -128
  171. package/dist/broadcastchannel-aca4f606.cjs.map +0 -1
  172. package/dist/broadcastchannel.cjs +0 -29
  173. package/dist/broadcastchannel.cjs.map +0 -1
  174. package/dist/broadcastchannel.d.ts +0 -8
  175. package/dist/broadcastchannel.d.ts.map +0 -1
  176. package/dist/broadcastchannel.test.d.ts +0 -3
  177. package/dist/broadcastchannel.test.d.ts.map +0 -1
  178. package/dist/buffer-3e750729.cjs +0 -198
  179. package/dist/buffer-3e750729.cjs.map +0 -1
  180. package/dist/buffer.cjs +0 -38
  181. package/dist/buffer.cjs.map +0 -1
  182. package/dist/buffer.d.ts +0 -22
  183. package/dist/buffer.d.ts.map +0 -1
  184. package/dist/buffer.test.d.ts +0 -6
  185. package/dist/buffer.test.d.ts.map +0 -1
  186. package/dist/cache.cjs +0 -223
  187. package/dist/cache.cjs.map +0 -1
  188. package/dist/cache.d.ts +0 -52
  189. package/dist/cache.d.ts.map +0 -1
  190. package/dist/cache.test.d.ts +0 -3
  191. package/dist/cache.test.d.ts.map +0 -1
  192. package/dist/common.cjs +0 -47
  193. package/dist/common.cjs.map +0 -1
  194. package/dist/component.cjs +0 -437
  195. package/dist/component.cjs.map +0 -1
  196. package/dist/component.d.ts +0 -86
  197. package/dist/component.d.ts.map +0 -1
  198. package/dist/conditions-f5c0c102.cjs +0 -24
  199. package/dist/conditions-f5c0c102.cjs.map +0 -1
  200. package/dist/conditions.cjs +0 -10
  201. package/dist/conditions.cjs.map +0 -1
  202. package/dist/conditions.d.ts +0 -2
  203. package/dist/conditions.d.ts.map +0 -1
  204. package/dist/crypto/aes-gcm.d.ts +0 -17
  205. package/dist/crypto/aes-gcm.d.ts.map +0 -1
  206. package/dist/crypto/common.d.ts +0 -3
  207. package/dist/crypto/common.d.ts.map +0 -1
  208. package/dist/crypto/ecdsa.d.ts +0 -17
  209. package/dist/crypto/ecdsa.d.ts.map +0 -1
  210. package/dist/crypto/jwt.d.ts +0 -10
  211. package/dist/crypto/jwt.d.ts.map +0 -1
  212. package/dist/crypto/rsa-oaep.d.ts +0 -13
  213. package/dist/crypto/rsa-oaep.d.ts.map +0 -1
  214. package/dist/crypto.test.d.ts +0 -9
  215. package/dist/crypto.test.d.ts.map +0 -1
  216. package/dist/decoding-76e75827.cjs +0 -795
  217. package/dist/decoding-76e75827.cjs.map +0 -1
  218. package/dist/decoding.cjs +0 -55
  219. package/dist/decoding.cjs.map +0 -1
  220. package/dist/decoding.d.ts +0 -165
  221. package/dist/decoding.d.ts.map +0 -1
  222. package/dist/delta/binding.d.ts +0 -107
  223. package/dist/delta/binding.d.ts.map +0 -1
  224. package/dist/delta/binding.test.d.ts +0 -5
  225. package/dist/delta/binding.test.d.ts.map +0 -1
  226. package/dist/delta/delta-pitch.test.d.ts +0 -5
  227. package/dist/delta/delta-pitch.test.d.ts.map +0 -1
  228. package/dist/delta/delta.d.ts +0 -1008
  229. package/dist/delta/delta.d.ts.map +0 -1
  230. package/dist/delta/delta.test.d.ts +0 -28
  231. package/dist/delta/delta.test.d.ts.map +0 -1
  232. package/dist/delta/t3.test.d.ts +0 -19
  233. package/dist/delta/t3.test.d.ts.map +0 -1
  234. package/dist/delta.cjs +0 -2409
  235. package/dist/delta.cjs.map +0 -1
  236. package/dist/diff/patience.d.ts +0 -16
  237. package/dist/diff/patience.d.ts.map +0 -1
  238. package/dist/diff/patience.test.d.ts +0 -4
  239. package/dist/diff/patience.test.d.ts.map +0 -1
  240. package/dist/diff-9d236524.cjs +0 -162
  241. package/dist/diff-9d236524.cjs.map +0 -1
  242. package/dist/diff.cjs +0 -18
  243. package/dist/diff.cjs.map +0 -1
  244. package/dist/diff.d.ts +0 -36
  245. package/dist/diff.d.ts.map +0 -1
  246. package/dist/diff.test.d.ts +0 -6
  247. package/dist/diff.test.d.ts.map +0 -1
  248. package/dist/dom-7e625b09.cjs +0 -371
  249. package/dist/dom-7e625b09.cjs.map +0 -1
  250. package/dist/dom.cjs +0 -71
  251. package/dist/dom.cjs.map +0 -1
  252. package/dist/dom.d.ts.map +0 -1
  253. package/dist/ecdsa.cjs +0 -130
  254. package/dist/ecdsa.cjs.map +0 -1
  255. package/dist/encoding-1a745c43.cjs +0 -1025
  256. package/dist/encoding-1a745c43.cjs.map +0 -1
  257. package/dist/encoding.cjs +0 -54
  258. package/dist/encoding.cjs.map +0 -1
  259. package/dist/encoding.d.ts.map +0 -1
  260. package/dist/encoding.test.d.ts +0 -50
  261. package/dist/encoding.test.d.ts.map +0 -1
  262. package/dist/environment-1c97264d.cjs +0 -180
  263. package/dist/environment-1c97264d.cjs.map +0 -1
  264. package/dist/environment.cjs +0 -29
  265. package/dist/environment.cjs.map +0 -1
  266. package/dist/environment.d.ts +0 -19
  267. package/dist/environment.d.ts.map +0 -1
  268. package/dist/equality.cjs +0 -34
  269. package/dist/equality.cjs.map +0 -1
  270. package/dist/error-0c1f634f.cjs +0 -53
  271. package/dist/error-0c1f634f.cjs.map +0 -1
  272. package/dist/error.cjs +0 -13
  273. package/dist/error.cjs.map +0 -1
  274. package/dist/error.d.ts.map +0 -1
  275. package/dist/eventloop-a0168106.cjs +0 -151
  276. package/dist/eventloop-a0168106.cjs.map +0 -1
  277. package/dist/eventloop.cjs +0 -19
  278. package/dist/eventloop.cjs.map +0 -1
  279. package/dist/eventloop.d.ts.map +0 -1
  280. package/dist/eventloop.test.d.ts +0 -10
  281. package/dist/eventloop.test.d.ts.map +0 -1
  282. package/dist/fingerprint.cjs +0 -44
  283. package/dist/fingerprint.cjs.map +0 -1
  284. package/dist/function-314580f7.cjs +0 -223
  285. package/dist/function-314580f7.cjs.map +0 -1
  286. package/dist/function.cjs +0 -26
  287. package/dist/function.cjs.map +0 -1
  288. package/dist/function.d.ts +0 -19
  289. package/dist/function.d.ts.map +0 -1
  290. package/dist/function.test.d.ts +0 -5
  291. package/dist/function.test.d.ts.map +0 -1
  292. package/dist/hash/rabin-gf2-polynomial.d.ts +0 -45
  293. package/dist/hash/rabin-gf2-polynomial.d.ts.map +0 -1
  294. package/dist/hash/rabin-uncached.d.ts +0 -29
  295. package/dist/hash/rabin-uncached.d.ts.map +0 -1
  296. package/dist/hash/rabin.d.ts +0 -27
  297. package/dist/hash/rabin.d.ts.map +0 -1
  298. package/dist/hash/rabin.test.d.ts +0 -8
  299. package/dist/hash/rabin.test.d.ts.map +0 -1
  300. package/dist/hash/sha256.d.ts +0 -2
  301. package/dist/hash/sha256.d.ts.map +0 -1
  302. package/dist/hash/sha256.node.d.ts +0 -2
  303. package/dist/hash/sha256.node.d.ts.map +0 -1
  304. package/dist/hash/sha256.test.d.ts +0 -7
  305. package/dist/hash/sha256.test.d.ts.map +0 -1
  306. package/dist/index.cjs +0 -99
  307. package/dist/index.cjs.map +0 -1
  308. package/dist/index.d.ts +0 -35
  309. package/dist/index.d.ts.map +0 -1
  310. package/dist/indexeddb-46d1e737.cjs +0 -311
  311. package/dist/indexeddb-46d1e737.cjs.map +0 -1
  312. package/dist/indexeddb.cjs +0 -37
  313. package/dist/indexeddb.cjs.map +0 -1
  314. package/dist/indexeddb.d.ts.map +0 -1
  315. package/dist/indexeddb.test.d.ts +0 -3
  316. package/dist/indexeddb.test.d.ts.map +0 -1
  317. package/dist/indexeddbV2.cjs +0 -288
  318. package/dist/indexeddbV2.cjs.map +0 -1
  319. package/dist/indexeddbV2.d.ts.map +0 -1
  320. package/dist/indexeddbV2.test.d.ts +0 -3
  321. package/dist/indexeddbV2.test.d.ts.map +0 -1
  322. package/dist/isomorphic.cjs +0 -17
  323. package/dist/isomorphic.cjs.map +0 -1
  324. package/dist/iterator-9fc627c1.cjs +0 -78
  325. package/dist/iterator-9fc627c1.cjs.map +0 -1
  326. package/dist/iterator.cjs +0 -13
  327. package/dist/iterator.cjs.map +0 -1
  328. package/dist/iterator.d.ts.map +0 -1
  329. package/dist/json-092190a1.cjs +0 -34
  330. package/dist/json-092190a1.cjs.map +0 -1
  331. package/dist/json.cjs +0 -11
  332. package/dist/json.cjs.map +0 -1
  333. package/dist/json.d.ts.map +0 -1
  334. package/dist/jwt.cjs +0 -96
  335. package/dist/jwt.cjs.map +0 -1
  336. package/dist/list.cjs +0 -266
  337. package/dist/list.cjs.map +0 -1
  338. package/dist/list.d.ts.map +0 -1
  339. package/dist/list.test.d.ts +0 -6
  340. package/dist/list.test.d.ts.map +0 -1
  341. package/dist/logging.cjs +0 -428
  342. package/dist/logging.cjs.map +0 -1
  343. package/dist/logging.common.cjs +0 -132
  344. package/dist/logging.common.cjs.map +0 -1
  345. package/dist/logging.common.d.ts.map +0 -1
  346. package/dist/logging.d.ts.map +0 -1
  347. package/dist/logging.node.cjs +0 -203
  348. package/dist/logging.node.cjs.map +0 -1
  349. package/dist/logging.node.d.ts.map +0 -1
  350. package/dist/logging.test.d.ts +0 -3
  351. package/dist/logging.test.d.ts.map +0 -1
  352. package/dist/map-24d263c0.cjs +0 -139
  353. package/dist/map-24d263c0.cjs.map +0 -1
  354. package/dist/map.cjs +0 -15
  355. package/dist/map.cjs.map +0 -1
  356. package/dist/map.d.ts.map +0 -1
  357. package/dist/map.test.d.ts +0 -4
  358. package/dist/map.test.d.ts.map +0 -1
  359. package/dist/math-96d5e8c4.cjs +0 -103
  360. package/dist/math-96d5e8c4.cjs.map +0 -1
  361. package/dist/math.cjs +0 -26
  362. package/dist/math.cjs.map +0 -1
  363. package/dist/math.d.ts.map +0 -1
  364. package/dist/math.test.d.ts +0 -3
  365. package/dist/math.test.d.ts.map +0 -1
  366. package/dist/metric.cjs +0 -83
  367. package/dist/metric.cjs.map +0 -1
  368. package/dist/metric.d.ts.map +0 -1
  369. package/dist/metric.test.d.ts +0 -3
  370. package/dist/metric.test.d.ts.map +0 -1
  371. package/dist/mutex-63f09c81.cjs +0 -54
  372. package/dist/mutex-63f09c81.cjs.map +0 -1
  373. package/dist/mutex.cjs +0 -10
  374. package/dist/mutex.cjs.map +0 -1
  375. package/dist/mutex.d.ts.map +0 -1
  376. package/dist/mutex.test.d.ts +0 -3
  377. package/dist/mutex.test.d.ts.map +0 -1
  378. package/dist/number-1fb57bba.cjs +0 -64
  379. package/dist/number-1fb57bba.cjs.map +0 -1
  380. package/dist/number.cjs +0 -20
  381. package/dist/number.cjs.map +0 -1
  382. package/dist/number.d.ts +0 -10
  383. package/dist/number.d.ts.map +0 -1
  384. package/dist/number.test.d.ts +0 -4
  385. package/dist/number.test.d.ts.map +0 -1
  386. package/dist/object-c0c9435b.cjs +0 -212
  387. package/dist/object-c0c9435b.cjs.map +0 -1
  388. package/dist/object.cjs +0 -27
  389. package/dist/object.cjs.map +0 -1
  390. package/dist/object.d.ts.map +0 -1
  391. package/dist/object.test.d.ts +0 -6
  392. package/dist/object.test.d.ts.map +0 -1
  393. package/dist/observable.cjs +0 -169
  394. package/dist/observable.cjs.map +0 -1
  395. package/dist/observable.d.ts.map +0 -1
  396. package/dist/observable.test.d.ts +0 -3
  397. package/dist/observable.test.d.ts.map +0 -1
  398. package/dist/pair-ab022bc3.cjs +0 -69
  399. package/dist/pair-ab022bc3.cjs.map +0 -1
  400. package/dist/pair.cjs +0 -14
  401. package/dist/pair.cjs.map +0 -1
  402. package/dist/pair.d.ts.map +0 -1
  403. package/dist/pair.test.d.ts +0 -3
  404. package/dist/pair.test.d.ts.map +0 -1
  405. package/dist/patience.cjs +0 -236
  406. package/dist/patience.cjs.map +0 -1
  407. package/dist/performance.cjs +0 -14
  408. package/dist/performance.cjs.map +0 -1
  409. package/dist/performance.d.ts.map +0 -1
  410. package/dist/performance.node.cjs +0 -36
  411. package/dist/performance.node.cjs.map +0 -1
  412. package/dist/performance.node.d.ts.map +0 -1
  413. package/dist/pledge.cjs +0 -308
  414. package/dist/pledge.cjs.map +0 -1
  415. package/dist/pledge.d.ts.map +0 -1
  416. package/dist/pledge.test.d.ts +0 -6
  417. package/dist/pledge.test.d.ts.map +0 -1
  418. package/dist/prng/Mt19937.d.ts +0 -29
  419. package/dist/prng/Mt19937.d.ts.map +0 -1
  420. package/dist/prng/Xoroshiro128plus.d.ts +0 -27
  421. package/dist/prng/Xoroshiro128plus.d.ts.map +0 -1
  422. package/dist/prng/Xorshift32.d.ts +0 -21
  423. package/dist/prng/Xorshift32.d.ts.map +0 -1
  424. package/dist/prng-37d48618.cjs +0 -387
  425. package/dist/prng-37d48618.cjs.map +0 -1
  426. package/dist/prng.cjs +0 -44
  427. package/dist/prng.cjs.map +0 -1
  428. package/dist/prng.d.ts.map +0 -1
  429. package/dist/prng.test.d.ts +0 -6
  430. package/dist/prng.test.d.ts.map +0 -1
  431. package/dist/promise-cda7b9bb.cjs +0 -145
  432. package/dist/promise-cda7b9bb.cjs.map +0 -1
  433. package/dist/promise.cjs +0 -22
  434. package/dist/promise.cjs.map +0 -1
  435. package/dist/promise.d.ts.map +0 -1
  436. package/dist/promise.test.d.ts +0 -5
  437. package/dist/promise.test.d.ts.map +0 -1
  438. package/dist/queue.cjs +0 -97
  439. package/dist/queue.cjs.map +0 -1
  440. package/dist/queue.d.ts.map +0 -1
  441. package/dist/queue.test.d.ts +0 -3
  442. package/dist/queue.test.d.ts.map +0 -1
  443. package/dist/rabin-gf2-polynomial.cjs +0 -440
  444. package/dist/rabin-gf2-polynomial.cjs.map +0 -1
  445. package/dist/rabin-uncached.cjs +0 -90
  446. package/dist/rabin-uncached.cjs.map +0 -1
  447. package/dist/rabin.cjs +0 -128
  448. package/dist/rabin.cjs.map +0 -1
  449. package/dist/random.cjs +0 -48
  450. package/dist/random.cjs.map +0 -1
  451. package/dist/random.d.ts.map +0 -1
  452. package/dist/random.test.d.ts +0 -7
  453. package/dist/random.test.d.ts.map +0 -1
  454. package/dist/rollup.config.d.ts +0 -13
  455. package/dist/rollup.config.d.ts.map +0 -1
  456. package/dist/rsa-oaep.cjs +0 -112
  457. package/dist/rsa-oaep.cjs.map +0 -1
  458. package/dist/schema.cjs +0 -1223
  459. package/dist/schema.cjs.map +0 -1
  460. package/dist/schema.d.ts +0 -595
  461. package/dist/schema.d.ts.map +0 -1
  462. package/dist/schema.test.d.ts +0 -15
  463. package/dist/schema.test.d.ts.map +0 -1
  464. package/dist/set-5b47859e.cjs +0 -45
  465. package/dist/set-5b47859e.cjs.map +0 -1
  466. package/dist/set.cjs +0 -13
  467. package/dist/set.cjs.map +0 -1
  468. package/dist/set.d.ts.map +0 -1
  469. package/dist/set.test.d.ts +0 -3
  470. package/dist/set.test.d.ts.map +0 -1
  471. package/dist/sha256.cjs +0 -183
  472. package/dist/sha256.cjs.map +0 -1
  473. package/dist/sha256.node.cjs +0 -17
  474. package/dist/sha256.node.cjs.map +0 -1
  475. package/dist/sort-812cc211.cjs +0 -103
  476. package/dist/sort-812cc211.cjs.map +0 -1
  477. package/dist/sort.cjs +0 -13
  478. package/dist/sort.cjs.map +0 -1
  479. package/dist/sort.d.ts.map +0 -1
  480. package/dist/sort.test.d.ts +0 -7
  481. package/dist/sort.test.d.ts.map +0 -1
  482. package/dist/statistics-65f6114b.cjs +0 -32
  483. package/dist/statistics-65f6114b.cjs.map +0 -1
  484. package/dist/statistics.cjs +0 -12
  485. package/dist/statistics.cjs.map +0 -1
  486. package/dist/statistics.d.ts.map +0 -1
  487. package/dist/statistics.test.d.ts +0 -3
  488. package/dist/statistics.test.d.ts.map +0 -1
  489. package/dist/storage.cjs +0 -81
  490. package/dist/storage.cjs.map +0 -1
  491. package/dist/storage.d.ts.map +0 -1
  492. package/dist/storage.test.d.ts +0 -3
  493. package/dist/storage.test.d.ts.map +0 -1
  494. package/dist/string-fddc5f8b.cjs +0 -209
  495. package/dist/string-fddc5f8b.cjs.map +0 -1
  496. package/dist/string.cjs +0 -32
  497. package/dist/string.cjs.map +0 -1
  498. package/dist/string.d.ts +0 -28
  499. package/dist/string.d.ts.map +0 -1
  500. package/dist/string.test.d.ts +0 -9
  501. package/dist/string.test.d.ts.map +0 -1
  502. package/dist/symbol-9c439012.cjs +0 -29
  503. package/dist/symbol-9c439012.cjs.map +0 -1
  504. package/dist/symbol.cjs +0 -11
  505. package/dist/symbol.cjs.map +0 -1
  506. package/dist/symbol.d.ts.map +0 -1
  507. package/dist/symbol.test.d.ts +0 -3
  508. package/dist/symbol.test.d.ts.map +0 -1
  509. package/dist/testing.cjs +0 -709
  510. package/dist/testing.cjs.map +0 -1
  511. package/dist/testing.d.ts +0 -64
  512. package/dist/testing.d.ts.map +0 -1
  513. package/dist/testing.test.d.ts +0 -9
  514. package/dist/testing.test.d.ts.map +0 -1
  515. package/dist/time-d8438852.cjs +0 -63
  516. package/dist/time-d8438852.cjs.map +0 -1
  517. package/dist/time.cjs +0 -14
  518. package/dist/time.cjs.map +0 -1
  519. package/dist/time.d.ts.map +0 -1
  520. package/dist/time.test.d.ts +0 -4
  521. package/dist/time.test.d.ts.map +0 -1
  522. package/dist/trait/equality.d.ts +0 -6
  523. package/dist/trait/equality.d.ts.map +0 -1
  524. package/dist/trait/fingerprint.d.ts +0 -13
  525. package/dist/trait/fingerprint.d.ts.map +0 -1
  526. package/dist/trait/traits.d.ts +0 -3
  527. package/dist/trait/traits.d.ts.map +0 -1
  528. package/dist/trait/traits.test.d.ts +0 -5
  529. package/dist/trait/traits.test.d.ts.map +0 -1
  530. package/dist/traits.cjs +0 -31
  531. package/dist/traits.cjs.map +0 -1
  532. package/dist/tree-9f3c8837.cjs +0 -557
  533. package/dist/tree-9f3c8837.cjs.map +0 -1
  534. package/dist/tree.cjs +0 -10
  535. package/dist/tree.cjs.map +0 -1
  536. package/dist/tree.d.ts.map +0 -1
  537. package/dist/tree.test.d.ts +0 -2
  538. package/dist/tree.test.d.ts.map +0 -1
  539. package/dist/url.cjs +0 -46
  540. package/dist/url.cjs.map +0 -1
  541. package/dist/url.d.ts.map +0 -1
  542. package/dist/url.test.d.ts +0 -3
  543. package/dist/url.test.d.ts.map +0 -1
  544. package/dist/webcrypto.cjs +0 -12
  545. package/dist/webcrypto.cjs.map +0 -1
  546. package/dist/webcrypto.d.ts.map +0 -1
  547. package/dist/webcrypto.deno.cjs +0 -12
  548. package/dist/webcrypto.deno.cjs.map +0 -1
  549. package/dist/webcrypto.deno.d.ts.map +0 -1
  550. package/dist/webcrypto.node.cjs +0 -12
  551. package/dist/webcrypto.node.cjs.map +0 -1
  552. package/dist/webcrypto.node.d.ts.map +0 -1
  553. package/dist/webcrypto.react-native.cjs +0 -20
  554. package/dist/webcrypto.react-native.cjs.map +0 -1
  555. package/dist/webcrypto.react-native.d.ts.map +0 -1
  556. package/dist/websocket-b073d0fc.cjs +0 -157
  557. package/dist/websocket-b073d0fc.cjs.map +0 -1
  558. package/dist/websocket.cjs +0 -17
  559. package/dist/websocket.cjs.map +0 -1
  560. package/dist/websocket.d.ts.map +0 -1
  561. package/dom.d.ts +0 -60
  562. package/dom.d.ts.map +0 -1
  563. package/encoding.d.ts +0 -235
  564. package/encoding.d.ts.map +0 -1
  565. package/encoding.test.d.ts +0 -50
  566. package/encoding.test.d.ts.map +0 -1
  567. package/environment.d.ts.map +0 -1
  568. package/error.d.ts +0 -5
  569. package/error.d.ts.map +0 -1
  570. package/eventloop.d.ts +0 -16
  571. package/eventloop.d.ts.map +0 -1
  572. package/eventloop.test.d.ts +0 -10
  573. package/eventloop.test.d.ts.map +0 -1
  574. package/function.d.ts.map +0 -1
  575. package/function.test.d.ts +0 -5
  576. package/function.test.d.ts.map +0 -1
  577. package/hash/rabin-gf2-polynomial.d.ts +0 -45
  578. package/hash/rabin-gf2-polynomial.d.ts.map +0 -1
  579. package/hash/rabin-uncached.d.ts +0 -29
  580. package/hash/rabin-uncached.d.ts.map +0 -1
  581. package/hash/rabin.d.ts +0 -27
  582. package/hash/rabin.d.ts.map +0 -1
  583. package/hash/rabin.test.d.ts +0 -8
  584. package/hash/rabin.test.d.ts.map +0 -1
  585. package/hash/sha256.d.ts +0 -2
  586. package/hash/sha256.d.ts.map +0 -1
  587. package/hash/sha256.node.d.ts +0 -2
  588. package/hash/sha256.node.d.ts.map +0 -1
  589. package/hash/sha256.test.d.ts +0 -7
  590. package/hash/sha256.test.d.ts.map +0 -1
  591. package/index.d.ts +0 -35
  592. package/index.d.ts.map +0 -1
  593. package/index.js +0 -82
  594. package/indexeddb.d.ts +0 -34
  595. package/indexeddb.d.ts.map +0 -1
  596. package/indexeddb.test.d.ts +0 -3
  597. package/indexeddb.test.d.ts.map +0 -1
  598. package/indexeddbV2.d.ts +0 -35
  599. package/indexeddbV2.d.ts.map +0 -1
  600. package/indexeddbV2.test.d.ts +0 -3
  601. package/indexeddbV2.test.d.ts.map +0 -1
  602. package/isomorphic.js +0 -10
  603. package/iterator.d.ts +0 -5
  604. package/iterator.d.ts.map +0 -1
  605. package/json.d.ts +0 -23
  606. package/json.d.ts.map +0 -1
  607. package/list.d.ts +0 -55
  608. package/list.d.ts.map +0 -1
  609. package/list.test.d.ts +0 -6
  610. package/list.test.d.ts.map +0 -1
  611. package/logging.common.d.ts +0 -12
  612. package/logging.common.d.ts.map +0 -1
  613. package/logging.d.ts +0 -55
  614. package/logging.d.ts.map +0 -1
  615. package/logging.node.d.ts +0 -14
  616. package/logging.node.d.ts.map +0 -1
  617. package/logging.test.d.ts +0 -3
  618. package/logging.test.d.ts.map +0 -1
  619. package/map.d.ts +0 -8
  620. package/map.d.ts.map +0 -1
  621. package/map.test.d.ts +0 -4
  622. package/map.test.d.ts.map +0 -1
  623. package/math.d.ts +0 -23
  624. package/math.d.ts.map +0 -1
  625. package/math.test.d.ts +0 -3
  626. package/math.test.d.ts.map +0 -1
  627. package/metric.d.ts +0 -25
  628. package/metric.d.ts.map +0 -1
  629. package/metric.test.d.ts +0 -3
  630. package/metric.test.d.ts.map +0 -1
  631. package/mutex.d.ts +0 -3
  632. package/mutex.d.ts.map +0 -1
  633. package/mutex.test.d.ts +0 -3
  634. package/mutex.test.d.ts.map +0 -1
  635. package/number.d.ts.map +0 -1
  636. package/number.test.d.ts +0 -4
  637. package/number.test.d.ts.map +0 -1
  638. package/object.d.ts +0 -72
  639. package/object.d.ts.map +0 -1
  640. package/object.test.d.ts +0 -6
  641. package/object.test.d.ts.map +0 -1
  642. package/observable.d.ts +0 -86
  643. package/observable.d.ts.map +0 -1
  644. package/observable.test.d.ts +0 -3
  645. package/observable.test.d.ts.map +0 -1
  646. package/pair.d.ts +0 -22
  647. package/pair.d.ts.map +0 -1
  648. package/pair.test.d.ts +0 -3
  649. package/pair.test.d.ts.map +0 -1
  650. package/performance.d.ts +0 -4
  651. package/performance.d.ts.map +0 -1
  652. package/performance.node.d.ts +0 -14
  653. package/performance.node.d.ts.map +0 -1
  654. package/pledge.d.ts +0 -68
  655. package/pledge.d.ts.map +0 -1
  656. package/pledge.test.d.ts +0 -6
  657. package/pledge.test.d.ts.map +0 -1
  658. package/prng/Mt19937.d.ts +0 -29
  659. package/prng/Mt19937.d.ts.map +0 -1
  660. package/prng/Xoroshiro128plus.d.ts +0 -27
  661. package/prng/Xoroshiro128plus.d.ts.map +0 -1
  662. package/prng/Xorshift32.d.ts +0 -21
  663. package/prng/Xorshift32.d.ts.map +0 -1
  664. package/prng.d.ts +0 -44
  665. package/prng.d.ts.map +0 -1
  666. package/prng.test.d.ts +0 -6
  667. package/prng.test.d.ts.map +0 -1
  668. package/promise.d.ts +0 -22
  669. package/promise.d.ts.map +0 -1
  670. package/promise.test.d.ts +0 -5
  671. package/promise.test.d.ts.map +0 -1
  672. package/queue.d.ts +0 -34
  673. package/queue.d.ts.map +0 -1
  674. package/queue.test.d.ts +0 -3
  675. package/queue.test.d.ts.map +0 -1
  676. package/random.d.ts +0 -6
  677. package/random.d.ts.map +0 -1
  678. package/random.test.d.ts +0 -7
  679. package/random.test.d.ts.map +0 -1
  680. package/rollup.config.d.ts +0 -13
  681. package/rollup.config.d.ts.map +0 -1
  682. package/schema.d.ts.map +0 -1
  683. package/schema.test.d.ts +0 -15
  684. package/schema.test.d.ts.map +0 -1
  685. package/set.d.ts +0 -5
  686. package/set.d.ts.map +0 -1
  687. package/set.test.d.ts +0 -3
  688. package/set.test.d.ts.map +0 -1
  689. package/sort.d.ts +0 -4
  690. package/sort.d.ts.map +0 -1
  691. package/sort.test.d.ts +0 -7
  692. package/sort.test.d.ts.map +0 -1
  693. package/statistics.d.ts +0 -3
  694. package/statistics.d.ts.map +0 -1
  695. package/statistics.test.d.ts +0 -3
  696. package/statistics.test.d.ts.map +0 -1
  697. package/storage.d.ts +0 -15
  698. package/storage.d.ts.map +0 -1
  699. package/storage.test.d.ts +0 -3
  700. package/storage.test.d.ts.map +0 -1
  701. package/string.d.ts.map +0 -1
  702. package/string.test.d.ts +0 -9
  703. package/string.test.d.ts.map +0 -1
  704. package/symbol.d.ts +0 -11
  705. package/symbol.d.ts.map +0 -1
  706. package/symbol.test.d.ts +0 -3
  707. package/symbol.test.d.ts.map +0 -1
  708. package/test.d.ts +0 -2
  709. package/test.d.ts.map +0 -1
  710. package/test.html +0 -168
  711. package/test.js +0 -104
  712. package/testing.d.ts.map +0 -1
  713. package/testing.test.d.ts +0 -9
  714. package/testing.test.d.ts.map +0 -1
  715. package/time.d.ts +0 -9
  716. package/time.d.ts.map +0 -1
  717. package/time.test.d.ts +0 -4
  718. package/time.test.d.ts.map +0 -1
  719. package/trait/equality.d.ts +0 -6
  720. package/trait/equality.d.ts.map +0 -1
  721. package/trait/fingerprint.d.ts +0 -13
  722. package/trait/fingerprint.d.ts.map +0 -1
  723. package/trait/traits.d.ts +0 -3
  724. package/trait/traits.d.ts.map +0 -1
  725. package/trait/traits.test.d.ts +0 -5
  726. package/trait/traits.test.d.ts.map +0 -1
  727. package/tree.d.ts +0 -96
  728. package/tree.d.ts.map +0 -1
  729. package/tree.test.d.ts +0 -2
  730. package/tree.test.d.ts.map +0 -1
  731. package/url.d.ts +0 -7
  732. package/url.d.ts.map +0 -1
  733. package/url.test.d.ts +0 -3
  734. package/url.test.d.ts.map +0 -1
  735. package/webcrypto.d.ts +0 -3
  736. package/webcrypto.d.ts.map +0 -1
  737. package/webcrypto.deno.d.ts +0 -3
  738. package/webcrypto.deno.d.ts.map +0 -1
  739. package/webcrypto.node.d.ts +0 -3
  740. package/webcrypto.node.d.ts.map +0 -1
  741. package/webcrypto.react-native.d.ts +0 -3
  742. package/webcrypto.react-native.d.ts.map +0 -1
  743. package/websocket.d.ts +0 -38
  744. package/websocket.d.ts.map +0 -1
  745. /package/{bin → src/bin}/0ecdsa-generate-keypair.js +0 -0
  746. /package/{bin → src/bin}/0serve.js +0 -0
  747. /package/{bin → src/bin}/gendocs.js +0 -0
  748. /package/{bin → src/bin}/gentesthtml.js +0 -0
  749. /package/{broadcastchannel.js → src/broadcastchannel.js} +0 -0
  750. /package/{buffer.js → src/buffer.js} +0 -0
  751. /package/{cache.js → src/cache.js} +0 -0
  752. /package/{component.js → src/component.js} +0 -0
  753. /package/{conditions.js → src/conditions.js} +0 -0
  754. /package/{crypto → src/crypto}/aes-gcm.js +0 -0
  755. /package/{crypto → src/crypto}/common.js +0 -0
  756. /package/{crypto → src/crypto}/ecdsa.js +0 -0
  757. /package/{crypto → src/crypto}/jwt.js +0 -0
  758. /package/{crypto → src/crypto}/rsa-oaep.js +0 -0
  759. /package/{decoding.js → src/decoding.js} +0 -0
  760. /package/{delta → src/delta}/binding.js +0 -0
  761. /package/{delta → src/delta}/readme.md +0 -0
  762. /package/{diff → src/diff}/patience.js +0 -0
  763. /package/{diff.js → src/diff.js} +0 -0
  764. /package/{dom.js → src/dom.js} +0 -0
  765. /package/{encoding.js → src/encoding.js} +0 -0
  766. /package/{error.js → src/error.js} +0 -0
  767. /package/{eventloop.js → src/eventloop.js} +0 -0
  768. /package/{function.js → src/function.js} +0 -0
  769. /package/{hash → src/hash}/rabin-gf2-polynomial.js +0 -0
  770. /package/{hash → src/hash}/rabin-uncached.js +0 -0
  771. /package/{hash → src/hash}/sha256.js +0 -0
  772. /package/{hash → src/hash}/sha256.node.js +0 -0
  773. /package/{indexeddb.js → src/indexeddb.js} +0 -0
  774. /package/{indexeddbV2.js → src/indexeddbV2.js} +0 -0
  775. /package/{iterator.js → src/iterator.js} +0 -0
  776. /package/{json.js → src/json.js} +0 -0
  777. /package/{list.js → src/list.js} +0 -0
  778. /package/{logging.common.js → src/logging.common.js} +0 -0
  779. /package/{logging.js → src/logging.js} +0 -0
  780. /package/{logging.node.js → src/logging.node.js} +0 -0
  781. /package/{map.js → src/map.js} +0 -0
  782. /package/{math.js → src/math.js} +0 -0
  783. /package/{metric.js → src/metric.js} +0 -0
  784. /package/{mutex.js → src/mutex.js} +0 -0
  785. /package/{number.js → src/number.js} +0 -0
  786. /package/{object.js → src/object.js} +0 -0
  787. /package/{observable.js → src/observable.js} +0 -0
  788. /package/{pair.js → src/pair.js} +0 -0
  789. /package/{performance.js → src/performance.js} +0 -0
  790. /package/{performance.node.js → src/performance.node.js} +0 -0
  791. /package/{pledge.js → src/pledge.js} +0 -0
  792. /package/{prng → src/prng}/Mt19937.js +0 -0
  793. /package/{prng → src/prng}/Xoroshiro128plus.js +0 -0
  794. /package/{prng → src/prng}/Xorshift32.js +0 -0
  795. /package/{prng.js → src/prng.js} +0 -0
  796. /package/{promise.js → src/promise.js} +0 -0
  797. /package/{queue.js → src/queue.js} +0 -0
  798. /package/{random.js → src/random.js} +0 -0
  799. /package/{set.js → src/set.js} +0 -0
  800. /package/{sort.js → src/sort.js} +0 -0
  801. /package/{statistics.js → src/statistics.js} +0 -0
  802. /package/{storage.js → src/storage.js} +0 -0
  803. /package/{symbol.js → src/symbol.js} +0 -0
  804. /package/{time.js → src/time.js} +0 -0
  805. /package/{trait → src/trait}/equality.js +0 -0
  806. /package/{trait → src/trait}/fingerprint.js +0 -0
  807. /package/{trait → src/trait}/traits.js +0 -0
  808. /package/{tree.js → src/tree.js} +0 -0
  809. /package/{url.js → src/url.js} +0 -0
  810. /package/{webcrypto.deno.js → src/webcrypto.deno.js} +0 -0
  811. /package/{webcrypto.js → src/webcrypto.js} +0 -0
  812. /package/{webcrypto.node.js → src/webcrypto.node.js} +0 -0
  813. /package/{webcrypto.react-native.js → src/webcrypto.react-native.js} +0 -0
  814. /package/{websocket.js → src/websocket.js} +0 -0
  815. /package/{broadcastchannel.d.ts → types/broadcastchannel.d.ts} +0 -0
  816. /package/{buffer.d.ts → types/buffer.d.ts} +0 -0
  817. /package/{cache.d.ts → types/cache.d.ts} +0 -0
  818. /package/{component.d.ts → types/component.d.ts} +0 -0
  819. /package/{conditions.d.ts → types/conditions.d.ts} +0 -0
  820. /package/{decoding.d.ts → types/decoding.d.ts} +0 -0
  821. /package/{diff.d.ts → types/diff.d.ts} +0 -0
  822. /package/{dist → types}/dom.d.ts +0 -0
  823. /package/{dist → types}/encoding.d.ts +0 -0
  824. /package/{dist → types}/error.d.ts +0 -0
  825. /package/{dist → types}/eventloop.d.ts +0 -0
  826. /package/{dist → types}/indexeddb.d.ts +0 -0
  827. /package/{dist → types}/indexeddbV2.d.ts +0 -0
  828. /package/{dist → types}/iterator.d.ts +0 -0
  829. /package/{dist → types}/json.d.ts +0 -0
  830. /package/{dist → types}/list.d.ts +0 -0
  831. /package/{dist → types}/logging.common.d.ts +0 -0
  832. /package/{dist → types}/logging.d.ts +0 -0
  833. /package/{dist → types}/logging.node.d.ts +0 -0
  834. /package/{dist → types}/map.d.ts +0 -0
  835. /package/{dist → types}/math.d.ts +0 -0
  836. /package/{dist → types}/metric.d.ts +0 -0
  837. /package/{dist → types}/mutex.d.ts +0 -0
  838. /package/{dist → types}/object.d.ts +0 -0
  839. /package/{dist → types}/observable.d.ts +0 -0
  840. /package/{dist → types}/pair.d.ts +0 -0
  841. /package/{dist → types}/performance.d.ts +0 -0
  842. /package/{dist → types}/performance.node.d.ts +0 -0
  843. /package/{dist → types}/pledge.d.ts +0 -0
  844. /package/{dist → types}/prng.d.ts +0 -0
  845. /package/{dist → types}/promise.d.ts +0 -0
  846. /package/{dist → types}/queue.d.ts +0 -0
  847. /package/{dist → types}/random.d.ts +0 -0
  848. /package/{dist → types}/set.d.ts +0 -0
  849. /package/{dist → types}/sort.d.ts +0 -0
  850. /package/{dist → types}/statistics.d.ts +0 -0
  851. /package/{dist → types}/storage.d.ts +0 -0
  852. /package/{dist → types}/symbol.d.ts +0 -0
  853. /package/{dist → types}/time.d.ts +0 -0
  854. /package/{dist → types}/tree.d.ts +0 -0
  855. /package/{dist → types}/url.d.ts +0 -0
  856. /package/{dist → types}/webcrypto.d.ts +0 -0
  857. /package/{dist → types}/webcrypto.deno.d.ts +0 -0
  858. /package/{dist → types}/webcrypto.node.d.ts +0 -0
  859. /package/{dist → types}/webcrypto.react-native.d.ts +0 -0
  860. /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