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,1025 +0,0 @@
1
- 'use strict';
2
-
3
- var math = require('./math-96d5e8c4.cjs');
4
- var number = require('./number-1fb57bba.cjs');
5
- var binary = require('./binary-ac8e39e2.cjs');
6
- var string = require('./string-fddc5f8b.cjs');
7
- var array = require('./array-78849c95.cjs');
8
-
9
- /**
10
- * Efficient schema-less binary encoding with support for variable length encoding.
11
- *
12
- * Use [lib0/encoding] with [lib0/decoding]. Every encoding function has a corresponding decoding function.
13
- *
14
- * Encodes numbers in little-endian order (least to most significant byte order)
15
- * and is compatible with Golang's binary encoding (https://golang.org/pkg/encoding/binary/)
16
- * which is also used in Protocol Buffers.
17
- *
18
- * ```js
19
- * // encoding step
20
- * const encoder = encoding.createEncoder()
21
- * encoding.writeVarUint(encoder, 256)
22
- * encoding.writeVarString(encoder, 'Hello world!')
23
- * const buf = encoding.toUint8Array(encoder)
24
- * ```
25
- *
26
- * ```js
27
- * // decoding step
28
- * const decoder = decoding.createDecoder(buf)
29
- * decoding.readVarUint(decoder) // => 256
30
- * decoding.readVarString(decoder) // => 'Hello world!'
31
- * decoding.hasContent(decoder) // => false - all data is read
32
- * ```
33
- *
34
- * @module encoding
35
- */
36
-
37
- /**
38
- * A BinaryEncoder handles the encoding to an Uint8Array.
39
- */
40
- class Encoder {
41
- constructor () {
42
- this.cpos = 0;
43
- this.cbuf = new Uint8Array(100);
44
- /**
45
- * @type {Array<Uint8Array>}
46
- */
47
- this.bufs = [];
48
- }
49
- }
50
-
51
- /**
52
- * @function
53
- * @return {Encoder}
54
- */
55
- const createEncoder = () => new Encoder();
56
-
57
- /**
58
- * @param {function(Encoder):void} f
59
- */
60
- const encode = (f) => {
61
- const encoder = createEncoder();
62
- f(encoder);
63
- return toUint8Array(encoder)
64
- };
65
-
66
- /**
67
- * The current length of the encoded data.
68
- *
69
- * @function
70
- * @param {Encoder} encoder
71
- * @return {number}
72
- */
73
- const length = encoder => {
74
- let len = encoder.cpos;
75
- for (let i = 0; i < encoder.bufs.length; i++) {
76
- len += encoder.bufs[i].length;
77
- }
78
- return len
79
- };
80
-
81
- /**
82
- * Check whether encoder is empty.
83
- *
84
- * @function
85
- * @param {Encoder} encoder
86
- * @return {boolean}
87
- */
88
- const hasContent = encoder => encoder.cpos > 0 || encoder.bufs.length > 0;
89
-
90
- /**
91
- * Transform to Uint8Array.
92
- *
93
- * @function
94
- * @param {Encoder} encoder
95
- * @return {Uint8Array<ArrayBuffer>} The created ArrayBuffer.
96
- */
97
- const toUint8Array = encoder => {
98
- const uint8arr = new Uint8Array(length(encoder));
99
- let curPos = 0;
100
- for (let i = 0; i < encoder.bufs.length; i++) {
101
- const d = encoder.bufs[i];
102
- uint8arr.set(d, curPos);
103
- curPos += d.length;
104
- }
105
- uint8arr.set(new Uint8Array(encoder.cbuf.buffer, 0, encoder.cpos), curPos);
106
- return uint8arr
107
- };
108
-
109
- /**
110
- * Verify that it is possible to write `len` bytes wtihout checking. If
111
- * necessary, a new Buffer with the required length is attached.
112
- *
113
- * @param {Encoder} encoder
114
- * @param {number} len
115
- */
116
- const verifyLen = (encoder, len) => {
117
- const bufferLen = encoder.cbuf.length;
118
- if (bufferLen - encoder.cpos < len) {
119
- encoder.bufs.push(new Uint8Array(encoder.cbuf.buffer, 0, encoder.cpos));
120
- encoder.cbuf = new Uint8Array(math.max(bufferLen, len) * 2);
121
- encoder.cpos = 0;
122
- }
123
- };
124
-
125
- /**
126
- * Write one byte to the encoder.
127
- *
128
- * @function
129
- * @param {Encoder} encoder
130
- * @param {number} num The byte that is to be encoded.
131
- */
132
- const write = (encoder, num) => {
133
- const bufferLen = encoder.cbuf.length;
134
- if (encoder.cpos === bufferLen) {
135
- encoder.bufs.push(encoder.cbuf);
136
- encoder.cbuf = new Uint8Array(bufferLen * 2);
137
- encoder.cpos = 0;
138
- }
139
- encoder.cbuf[encoder.cpos++] = num;
140
- };
141
-
142
- /**
143
- * Write one byte at a specific position.
144
- * Position must already be written (i.e. encoder.length > pos)
145
- *
146
- * @function
147
- * @param {Encoder} encoder
148
- * @param {number} pos Position to which to write data
149
- * @param {number} num Unsigned 8-bit integer
150
- */
151
- const set = (encoder, pos, num) => {
152
- let buffer = null;
153
- // iterate all buffers and adjust position
154
- for (let i = 0; i < encoder.bufs.length && buffer === null; i++) {
155
- const b = encoder.bufs[i];
156
- if (pos < b.length) {
157
- buffer = b; // found buffer
158
- } else {
159
- pos -= b.length;
160
- }
161
- }
162
- if (buffer === null) {
163
- // use current buffer
164
- buffer = encoder.cbuf;
165
- }
166
- buffer[pos] = num;
167
- };
168
-
169
- /**
170
- * Write one byte as an unsigned integer.
171
- *
172
- * @function
173
- * @param {Encoder} encoder
174
- * @param {number} num The number that is to be encoded.
175
- */
176
- const writeUint8 = write;
177
-
178
- /**
179
- * Write one byte as an unsigned Integer at a specific location.
180
- *
181
- * @function
182
- * @param {Encoder} encoder
183
- * @param {number} pos The location where the data will be written.
184
- * @param {number} num The number that is to be encoded.
185
- */
186
- const setUint8 = set;
187
-
188
- /**
189
- * Write two bytes as an unsigned integer.
190
- *
191
- * @function
192
- * @param {Encoder} encoder
193
- * @param {number} num The number that is to be encoded.
194
- */
195
- const writeUint16 = (encoder, num) => {
196
- write(encoder, num & binary.BITS8);
197
- write(encoder, (num >>> 8) & binary.BITS8);
198
- };
199
- /**
200
- * Write two bytes as an unsigned integer at a specific location.
201
- *
202
- * @function
203
- * @param {Encoder} encoder
204
- * @param {number} pos The location where the data will be written.
205
- * @param {number} num The number that is to be encoded.
206
- */
207
- const setUint16 = (encoder, pos, num) => {
208
- set(encoder, pos, num & binary.BITS8);
209
- set(encoder, pos + 1, (num >>> 8) & binary.BITS8);
210
- };
211
-
212
- /**
213
- * Write two bytes as an unsigned integer
214
- *
215
- * @function
216
- * @param {Encoder} encoder
217
- * @param {number} num The number that is to be encoded.
218
- */
219
- const writeUint32 = (encoder, num) => {
220
- for (let i = 0; i < 4; i++) {
221
- write(encoder, num & binary.BITS8);
222
- num >>>= 8;
223
- }
224
- };
225
-
226
- /**
227
- * Write two bytes as an unsigned integer in big endian order.
228
- * (most significant byte first)
229
- *
230
- * @function
231
- * @param {Encoder} encoder
232
- * @param {number} num The number that is to be encoded.
233
- */
234
- const writeUint32BigEndian = (encoder, num) => {
235
- for (let i = 3; i >= 0; i--) {
236
- write(encoder, (num >>> (8 * i)) & binary.BITS8);
237
- }
238
- };
239
-
240
- /**
241
- * Write two bytes as an unsigned integer at a specific location.
242
- *
243
- * @function
244
- * @param {Encoder} encoder
245
- * @param {number} pos The location where the data will be written.
246
- * @param {number} num The number that is to be encoded.
247
- */
248
- const setUint32 = (encoder, pos, num) => {
249
- for (let i = 0; i < 4; i++) {
250
- set(encoder, pos + i, num & binary.BITS8);
251
- num >>>= 8;
252
- }
253
- };
254
-
255
- /**
256
- * Write a variable length unsigned integer. Max encodable integer is 2^53.
257
- *
258
- * @function
259
- * @param {Encoder} encoder
260
- * @param {number} num The number that is to be encoded.
261
- */
262
- const writeVarUint = (encoder, num) => {
263
- while (num > binary.BITS7) {
264
- write(encoder, binary.BIT8 | (binary.BITS7 & num));
265
- num = math.floor(num / 128); // shift >>> 7
266
- }
267
- write(encoder, binary.BITS7 & num);
268
- };
269
-
270
- /**
271
- * Write a variable length integer.
272
- *
273
- * We use the 7th bit instead for signaling that this is a negative number.
274
- *
275
- * @function
276
- * @param {Encoder} encoder
277
- * @param {number} num The number that is to be encoded.
278
- */
279
- const writeVarInt = (encoder, num) => {
280
- const isNegative = math.isNegativeZero(num);
281
- if (isNegative) {
282
- num = -num;
283
- }
284
- // |- whether to continue reading |- whether is negative |- number
285
- write(encoder, (num > binary.BITS6 ? binary.BIT8 : 0) | (isNegative ? binary.BIT7 : 0) | (binary.BITS6 & num));
286
- num = math.floor(num / 64); // shift >>> 6
287
- // We don't need to consider the case of num === 0 so we can use a different
288
- // pattern here than above.
289
- while (num > 0) {
290
- write(encoder, (num > binary.BITS7 ? binary.BIT8 : 0) | (binary.BITS7 & num));
291
- num = math.floor(num / 128); // shift >>> 7
292
- }
293
- };
294
-
295
- /**
296
- * A cache to store strings temporarily
297
- */
298
- const _strBuffer = new Uint8Array(30000);
299
- const _maxStrBSize = _strBuffer.length / 3;
300
-
301
- /**
302
- * Write a variable length string.
303
- *
304
- * @function
305
- * @param {Encoder} encoder
306
- * @param {String} str The string that is to be encoded.
307
- */
308
- const _writeVarStringNative = (encoder, str) => {
309
- if (str.length < _maxStrBSize) {
310
- // We can encode the string into the existing buffer
311
- /* c8 ignore next */
312
- const written = string.utf8TextEncoder.encodeInto(str, _strBuffer).written || 0;
313
- writeVarUint(encoder, written);
314
- for (let i = 0; i < written; i++) {
315
- write(encoder, _strBuffer[i]);
316
- }
317
- } else {
318
- writeVarUint8Array(encoder, string.encodeUtf8(str));
319
- }
320
- };
321
-
322
- /**
323
- * Write a variable length string.
324
- *
325
- * @function
326
- * @param {Encoder} encoder
327
- * @param {String} str The string that is to be encoded.
328
- */
329
- const _writeVarStringPolyfill = (encoder, str) => {
330
- const encodedString = unescape(encodeURIComponent(str));
331
- const len = encodedString.length;
332
- writeVarUint(encoder, len);
333
- for (let i = 0; i < len; i++) {
334
- write(encoder, /** @type {number} */ (encodedString.codePointAt(i)));
335
- }
336
- };
337
-
338
- /**
339
- * Write a variable length string.
340
- *
341
- * @function
342
- * @param {Encoder} encoder
343
- * @param {String} str The string that is to be encoded.
344
- */
345
- /* c8 ignore next */
346
- const writeVarString = (string.utf8TextEncoder && /** @type {any} */ (string.utf8TextEncoder).encodeInto) ? _writeVarStringNative : _writeVarStringPolyfill;
347
-
348
- /**
349
- * Write a string terminated by a special byte sequence. This is not very performant and is
350
- * generally discouraged. However, the resulting byte arrays are lexiographically ordered which
351
- * makes this a nice feature for databases.
352
- *
353
- * The string will be encoded using utf8 and then terminated and escaped using writeTerminatingUint8Array.
354
- *
355
- * @function
356
- * @param {Encoder} encoder
357
- * @param {String} str The string that is to be encoded.
358
- */
359
- const writeTerminatedString = (encoder, str) =>
360
- writeTerminatedUint8Array(encoder, string.encodeUtf8(str));
361
-
362
- /**
363
- * Write a terminating Uint8Array. Note that this is not performant and is generally
364
- * discouraged. There are few situations when this is needed.
365
- *
366
- * We use 0x0 as a terminating character. 0x1 serves as an escape character for 0x0 and 0x1.
367
- *
368
- * Example: [0,1,2] is encoded to [1,0,1,1,2,0]. 0x0, and 0x1 needed to be escaped using 0x1. Then
369
- * the result is terminated using the 0x0 character.
370
- *
371
- * This is basically how many systems implement null terminated strings. However, we use an escape
372
- * character 0x1 to avoid issues and potenial attacks on our database (if this is used as a key
373
- * encoder for NoSql databases).
374
- *
375
- * @function
376
- * @param {Encoder} encoder
377
- * @param {Uint8Array} buf The string that is to be encoded.
378
- */
379
- const writeTerminatedUint8Array = (encoder, buf) => {
380
- for (let i = 0; i < buf.length; i++) {
381
- const b = buf[i];
382
- if (b === 0 || b === 1) {
383
- write(encoder, 1);
384
- }
385
- write(encoder, buf[i]);
386
- }
387
- write(encoder, 0);
388
- };
389
-
390
- /**
391
- * Write the content of another Encoder.
392
- *
393
- * @TODO: can be improved!
394
- * - Note: Should consider that when appending a lot of small Encoders, we should rather clone than referencing the old structure.
395
- * Encoders start with a rather big initial buffer.
396
- *
397
- * @function
398
- * @param {Encoder} encoder The enUint8Arr
399
- * @param {Encoder} append The BinaryEncoder to be written.
400
- */
401
- const writeBinaryEncoder = (encoder, append) => writeUint8Array(encoder, toUint8Array(append));
402
-
403
- /**
404
- * Append fixed-length Uint8Array to the encoder.
405
- *
406
- * @function
407
- * @param {Encoder} encoder
408
- * @param {Uint8Array} uint8Array
409
- */
410
- const writeUint8Array = (encoder, uint8Array) => {
411
- const bufferLen = encoder.cbuf.length;
412
- const cpos = encoder.cpos;
413
- const leftCopyLen = math.min(bufferLen - cpos, uint8Array.length);
414
- const rightCopyLen = uint8Array.length - leftCopyLen;
415
- encoder.cbuf.set(uint8Array.subarray(0, leftCopyLen), cpos);
416
- encoder.cpos += leftCopyLen;
417
- if (rightCopyLen > 0) {
418
- // Still something to write, write right half..
419
- // Append new buffer
420
- encoder.bufs.push(encoder.cbuf);
421
- // must have at least size of remaining buffer
422
- encoder.cbuf = new Uint8Array(math.max(bufferLen * 2, rightCopyLen));
423
- // copy array
424
- encoder.cbuf.set(uint8Array.subarray(leftCopyLen));
425
- encoder.cpos = rightCopyLen;
426
- }
427
- };
428
-
429
- /**
430
- * Append an Uint8Array to Encoder.
431
- *
432
- * @function
433
- * @param {Encoder} encoder
434
- * @param {Uint8Array} uint8Array
435
- */
436
- const writeVarUint8Array = (encoder, uint8Array) => {
437
- writeVarUint(encoder, uint8Array.byteLength);
438
- writeUint8Array(encoder, uint8Array);
439
- };
440
-
441
- /**
442
- * Create an DataView of the next `len` bytes. Use it to write data after
443
- * calling this function.
444
- *
445
- * ```js
446
- * // write float32 using DataView
447
- * const dv = writeOnDataView(encoder, 4)
448
- * dv.setFloat32(0, 1.1)
449
- * // read float32 using DataView
450
- * const dv = readFromDataView(encoder, 4)
451
- * dv.getFloat32(0) // => 1.100000023841858 (leaving it to the reader to find out why this is the correct result)
452
- * ```
453
- *
454
- * @param {Encoder} encoder
455
- * @param {number} len
456
- * @return {DataView}
457
- */
458
- const writeOnDataView = (encoder, len) => {
459
- verifyLen(encoder, len);
460
- const dview = new DataView(encoder.cbuf.buffer, encoder.cpos, len);
461
- encoder.cpos += len;
462
- return dview
463
- };
464
-
465
- /**
466
- * @param {Encoder} encoder
467
- * @param {number} num
468
- */
469
- const writeFloat32 = (encoder, num) => writeOnDataView(encoder, 4).setFloat32(0, num, false);
470
-
471
- /**
472
- * @param {Encoder} encoder
473
- * @param {number} num
474
- */
475
- const writeFloat64 = (encoder, num) => writeOnDataView(encoder, 8).setFloat64(0, num, false);
476
-
477
- /**
478
- * @param {Encoder} encoder
479
- * @param {bigint} num
480
- */
481
- const writeBigInt64 = (encoder, num) => /** @type {any} */ (writeOnDataView(encoder, 8)).setBigInt64(0, num, false);
482
-
483
- /**
484
- * @param {Encoder} encoder
485
- * @param {bigint} num
486
- */
487
- const writeBigUint64 = (encoder, num) => /** @type {any} */ (writeOnDataView(encoder, 8)).setBigUint64(0, num, false);
488
-
489
- const floatTestBed = new DataView(new ArrayBuffer(4));
490
- /**
491
- * Check if a number can be encoded as a 32 bit float.
492
- *
493
- * @param {number} num
494
- * @return {boolean}
495
- */
496
- const isFloat32 = num => {
497
- floatTestBed.setFloat32(0, num);
498
- return floatTestBed.getFloat32(0) === num
499
- };
500
-
501
- /**
502
- * @typedef {Array<AnyEncodable>} AnyEncodableArray
503
- */
504
-
505
- /**
506
- * @typedef {undefined|null|number|bigint|boolean|string|{[k:string]:AnyEncodable}|AnyEncodableArray|Uint8Array} AnyEncodable
507
- */
508
-
509
- /**
510
- * Encode data with efficient binary format.
511
- *
512
- * Differences to JSON:
513
- * • Transforms data to a binary format (not to a string)
514
- * • Encodes undefined, NaN, and ArrayBuffer (these can't be represented in JSON)
515
- * • Numbers are efficiently encoded either as a variable length integer, as a
516
- * 32 bit float, as a 64 bit float, or as a 64 bit bigint.
517
- *
518
- * Encoding table:
519
- *
520
- * | Data Type | Prefix | Encoding Method | Comment |
521
- * | ------------------- | -------- | ------------------ | ------- |
522
- * | undefined | 127 | | Functions, symbol, and everything that cannot be identified is encoded as undefined |
523
- * | null | 126 | | |
524
- * | integer | 125 | writeVarInt | Only encodes 32 bit signed integers |
525
- * | float32 | 124 | writeFloat32 | |
526
- * | float64 | 123 | writeFloat64 | |
527
- * | bigint | 122 | writeBigInt64 | |
528
- * | boolean (false) | 121 | | True and false are different data types so we save the following byte |
529
- * | boolean (true) | 120 | | - 0b01111000 so the last bit determines whether true or false |
530
- * | string | 119 | writeVarString | |
531
- * | object<string,any> | 118 | custom | Writes {length} then {length} key-value pairs |
532
- * | array<any> | 117 | custom | Writes {length} then {length} json values |
533
- * | Uint8Array | 116 | writeVarUint8Array | We use Uint8Array for any kind of binary data |
534
- *
535
- * Reasons for the decreasing prefix:
536
- * We need the first bit for extendability (later we may want to encode the
537
- * prefix with writeVarUint). The remaining 7 bits are divided as follows:
538
- * [0-30] the beginning of the data range is used for custom purposes
539
- * (defined by the function that uses this library)
540
- * [31-127] the end of the data range is used for data encoding by
541
- * lib0/encoding.js
542
- *
543
- * @param {Encoder} encoder
544
- * @param {AnyEncodable} data
545
- */
546
- const writeAny = (encoder, data) => {
547
- switch (typeof data) {
548
- case 'string':
549
- // TYPE 119: STRING
550
- write(encoder, 119);
551
- writeVarString(encoder, data);
552
- break
553
- case 'number':
554
- if (number.isInteger(data) && math.abs(data) <= binary.BITS31) {
555
- // TYPE 125: INTEGER
556
- write(encoder, 125);
557
- writeVarInt(encoder, data);
558
- } else if (isFloat32(data)) {
559
- // TYPE 124: FLOAT32
560
- write(encoder, 124);
561
- writeFloat32(encoder, data);
562
- } else {
563
- // TYPE 123: FLOAT64
564
- write(encoder, 123);
565
- writeFloat64(encoder, data);
566
- }
567
- break
568
- case 'bigint':
569
- // TYPE 122: BigInt
570
- write(encoder, 122);
571
- writeBigInt64(encoder, data);
572
- break
573
- case 'object':
574
- if (data === null) {
575
- // TYPE 126: null
576
- write(encoder, 126);
577
- } else if (array.isArray(data)) {
578
- // TYPE 117: Array
579
- write(encoder, 117);
580
- writeVarUint(encoder, data.length);
581
- for (let i = 0; i < data.length; i++) {
582
- writeAny(encoder, data[i]);
583
- }
584
- } else if (data instanceof Uint8Array) {
585
- // TYPE 116: ArrayBuffer
586
- write(encoder, 116);
587
- writeVarUint8Array(encoder, data);
588
- } else {
589
- // TYPE 118: Object
590
- write(encoder, 118);
591
- const keys = Object.keys(data);
592
- writeVarUint(encoder, keys.length);
593
- for (let i = 0; i < keys.length; i++) {
594
- const key = keys[i];
595
- writeVarString(encoder, key);
596
- writeAny(encoder, data[key]);
597
- }
598
- }
599
- break
600
- case 'boolean':
601
- // TYPE 120/121: boolean (true/false)
602
- write(encoder, data ? 120 : 121);
603
- break
604
- default:
605
- // TYPE 127: undefined
606
- write(encoder, 127);
607
- }
608
- };
609
-
610
- /**
611
- * Now come a few stateful encoder that have their own classes.
612
- */
613
-
614
- /**
615
- * Basic Run Length Encoder - a basic compression implementation.
616
- *
617
- * Encodes [1,1,1,7] to [1,3,7,1] (3 times 1, 1 time 7). This encoder might do more harm than good if there are a lot of values that are not repeated.
618
- *
619
- * It was originally used for image compression. Cool .. article http://csbruce.com/cbm/transactor/pdfs/trans_v7_i06.pdf
620
- *
621
- * @note T must not be null!
622
- *
623
- * @template T
624
- */
625
- class RleEncoder extends Encoder {
626
- /**
627
- * @param {function(Encoder, T):void} writer
628
- */
629
- constructor (writer) {
630
- super();
631
- /**
632
- * The writer
633
- */
634
- this.w = writer;
635
- /**
636
- * Current state
637
- * @type {T|null}
638
- */
639
- this.s = null;
640
- this.count = 0;
641
- }
642
-
643
- /**
644
- * @param {T} v
645
- */
646
- write (v) {
647
- if (this.s === v) {
648
- this.count++;
649
- } else {
650
- if (this.count > 0) {
651
- // flush counter, unless this is the first value (count = 0)
652
- writeVarUint(this, this.count - 1); // since count is always > 0, we can decrement by one. non-standard encoding ftw
653
- }
654
- this.count = 1;
655
- // write first value
656
- this.w(this, v);
657
- this.s = v;
658
- }
659
- }
660
- }
661
-
662
- /**
663
- * Basic diff decoder using variable length encoding.
664
- *
665
- * Encodes the values [3, 1100, 1101, 1050, 0] to [3, 1097, 1, -51, -1050] using writeVarInt.
666
- */
667
- class IntDiffEncoder extends Encoder {
668
- /**
669
- * @param {number} start
670
- */
671
- constructor (start) {
672
- super();
673
- /**
674
- * Current state
675
- * @type {number}
676
- */
677
- this.s = start;
678
- }
679
-
680
- /**
681
- * @param {number} v
682
- */
683
- write (v) {
684
- writeVarInt(this, v - this.s);
685
- this.s = v;
686
- }
687
- }
688
-
689
- /**
690
- * A combination of IntDiffEncoder and RleEncoder.
691
- *
692
- * Basically first writes the IntDiffEncoder and then counts duplicate diffs using RleEncoding.
693
- *
694
- * Encodes the values [1,1,1,2,3,4,5,6] as [1,1,0,2,1,5] (RLE([1,0,0,1,1,1,1,1]) ⇒ RleIntDiff[1,1,0,2,1,5])
695
- */
696
- class RleIntDiffEncoder extends Encoder {
697
- /**
698
- * @param {number} start
699
- */
700
- constructor (start) {
701
- super();
702
- /**
703
- * Current state
704
- * @type {number}
705
- */
706
- this.s = start;
707
- this.count = 0;
708
- }
709
-
710
- /**
711
- * @param {number} v
712
- */
713
- write (v) {
714
- if (this.s === v && this.count > 0) {
715
- this.count++;
716
- } else {
717
- if (this.count > 0) {
718
- // flush counter, unless this is the first value (count = 0)
719
- writeVarUint(this, this.count - 1); // since count is always > 0, we can decrement by one. non-standard encoding ftw
720
- }
721
- this.count = 1;
722
- // write first value
723
- writeVarInt(this, v - this.s);
724
- this.s = v;
725
- }
726
- }
727
- }
728
-
729
- /**
730
- * @param {UintOptRleEncoder} encoder
731
- */
732
- const flushUintOptRleEncoder = encoder => {
733
- if (encoder.count > 0) {
734
- // flush counter, unless this is the first value (count = 0)
735
- // case 1: just a single value. set sign to positive
736
- // case 2: write several values. set sign to negative to indicate that there is a length coming
737
- writeVarInt(encoder.encoder, encoder.count === 1 ? encoder.s : -encoder.s);
738
- if (encoder.count > 1) {
739
- writeVarUint(encoder.encoder, encoder.count - 2); // since count is always > 1, we can decrement by one. non-standard encoding ftw
740
- }
741
- }
742
- };
743
-
744
- /**
745
- * Optimized Rle encoder that does not suffer from the mentioned problem of the basic Rle encoder.
746
- *
747
- * Internally uses VarInt encoder to write unsigned integers. If the input occurs multiple times, we write
748
- * write it as a negative number. The UintOptRleDecoder then understands that it needs to read a count.
749
- *
750
- * Encodes [1,2,3,3,3] as [1,2,-3,3] (once 1, once 2, three times 3)
751
- */
752
- class UintOptRleEncoder {
753
- constructor () {
754
- this.encoder = new Encoder();
755
- /**
756
- * @type {number}
757
- */
758
- this.s = 0;
759
- this.count = 0;
760
- }
761
-
762
- /**
763
- * @param {number} v
764
- */
765
- write (v) {
766
- if (this.s === v) {
767
- this.count++;
768
- } else {
769
- flushUintOptRleEncoder(this);
770
- this.count = 1;
771
- this.s = v;
772
- }
773
- }
774
-
775
- /**
776
- * Flush the encoded state and transform this to a Uint8Array.
777
- *
778
- * Note that this should only be called once.
779
- */
780
- toUint8Array () {
781
- flushUintOptRleEncoder(this);
782
- return toUint8Array(this.encoder)
783
- }
784
- }
785
-
786
- /**
787
- * Increasing Uint Optimized RLE Encoder
788
- *
789
- * The RLE encoder counts the number of same occurences of the same value.
790
- * The IncUintOptRle encoder counts if the value increases.
791
- * I.e. 7, 8, 9, 10 will be encoded as [-7, 4]. 1, 3, 5 will be encoded
792
- * as [1, 3, 5].
793
- */
794
- class IncUintOptRleEncoder {
795
- constructor () {
796
- this.encoder = new Encoder();
797
- /**
798
- * @type {number}
799
- */
800
- this.s = 0;
801
- this.count = 0;
802
- }
803
-
804
- /**
805
- * @param {number} v
806
- */
807
- write (v) {
808
- if (this.s + this.count === v) {
809
- this.count++;
810
- } else {
811
- flushUintOptRleEncoder(this);
812
- this.count = 1;
813
- this.s = v;
814
- }
815
- }
816
-
817
- /**
818
- * Flush the encoded state and transform this to a Uint8Array.
819
- *
820
- * Note that this should only be called once.
821
- */
822
- toUint8Array () {
823
- flushUintOptRleEncoder(this);
824
- return toUint8Array(this.encoder)
825
- }
826
- }
827
-
828
- /**
829
- * @param {IntDiffOptRleEncoder} encoder
830
- */
831
- const flushIntDiffOptRleEncoder = encoder => {
832
- if (encoder.count > 0) {
833
- // 31 bit making up the diff | wether to write the counter
834
- // const encodedDiff = encoder.diff << 1 | (encoder.count === 1 ? 0 : 1)
835
- const encodedDiff = encoder.diff * 2 + (encoder.count === 1 ? 0 : 1);
836
- // flush counter, unless this is the first value (count = 0)
837
- // case 1: just a single value. set first bit to positive
838
- // case 2: write several values. set first bit to negative to indicate that there is a length coming
839
- writeVarInt(encoder.encoder, encodedDiff);
840
- if (encoder.count > 1) {
841
- writeVarUint(encoder.encoder, encoder.count - 2); // since count is always > 1, we can decrement by one. non-standard encoding ftw
842
- }
843
- }
844
- };
845
-
846
- /**
847
- * A combination of the IntDiffEncoder and the UintOptRleEncoder.
848
- *
849
- * The count approach is similar to the UintDiffOptRleEncoder, but instead of using the negative bitflag, it encodes
850
- * in the LSB whether a count is to be read. Therefore this Encoder only supports 31 bit integers!
851
- *
852
- * Encodes [1, 2, 3, 2] as [3, 1, 6, -1] (more specifically [(1 << 1) | 1, (3 << 0) | 0, -1])
853
- *
854
- * Internally uses variable length encoding. Contrary to normal UintVar encoding, the first byte contains:
855
- * * 1 bit that denotes whether the next value is a count (LSB)
856
- * * 1 bit that denotes whether this value is negative (MSB - 1)
857
- * * 1 bit that denotes whether to continue reading the variable length integer (MSB)
858
- *
859
- * Therefore, only five bits remain to encode diff ranges.
860
- *
861
- * Use this Encoder only when appropriate. In most cases, this is probably a bad idea.
862
- */
863
- class IntDiffOptRleEncoder {
864
- constructor () {
865
- this.encoder = new Encoder();
866
- /**
867
- * @type {number}
868
- */
869
- this.s = 0;
870
- this.count = 0;
871
- this.diff = 0;
872
- }
873
-
874
- /**
875
- * @param {number} v
876
- */
877
- write (v) {
878
- if (this.diff === v - this.s) {
879
- this.s = v;
880
- this.count++;
881
- } else {
882
- flushIntDiffOptRleEncoder(this);
883
- this.count = 1;
884
- this.diff = v - this.s;
885
- this.s = v;
886
- }
887
- }
888
-
889
- /**
890
- * Flush the encoded state and transform this to a Uint8Array.
891
- *
892
- * Note that this should only be called once.
893
- */
894
- toUint8Array () {
895
- flushIntDiffOptRleEncoder(this);
896
- return toUint8Array(this.encoder)
897
- }
898
- }
899
-
900
- /**
901
- * Optimized String Encoder.
902
- *
903
- * Encoding many small strings in a simple Encoder is not very efficient. The function call to decode a string takes some time and creates references that must be eventually deleted.
904
- * In practice, when decoding several million small strings, the GC will kick in more and more often to collect orphaned string objects (or maybe there is another reason?).
905
- *
906
- * This string encoder solves the above problem. All strings are concatenated and written as a single string using a single encoding call.
907
- *
908
- * The lengths are encoded using a UintOptRleEncoder.
909
- */
910
- class StringEncoder {
911
- constructor () {
912
- /**
913
- * @type {Array<string>}
914
- */
915
- this.sarr = [];
916
- this.s = '';
917
- this.lensE = new UintOptRleEncoder();
918
- }
919
-
920
- /**
921
- * @param {string} string
922
- */
923
- write (string) {
924
- this.s += string;
925
- if (this.s.length > 19) {
926
- this.sarr.push(this.s);
927
- this.s = '';
928
- }
929
- this.lensE.write(string.length);
930
- }
931
-
932
- toUint8Array () {
933
- const encoder = new Encoder();
934
- this.sarr.push(this.s);
935
- this.s = '';
936
- writeVarString(encoder, this.sarr.join(''));
937
- writeUint8Array(encoder, this.lensE.toUint8Array());
938
- return toUint8Array(encoder)
939
- }
940
- }
941
-
942
- var encoding = /*#__PURE__*/Object.freeze({
943
- __proto__: null,
944
- Encoder: Encoder,
945
- createEncoder: createEncoder,
946
- encode: encode,
947
- length: length,
948
- hasContent: hasContent,
949
- toUint8Array: toUint8Array,
950
- verifyLen: verifyLen,
951
- write: write,
952
- set: set,
953
- writeUint8: writeUint8,
954
- setUint8: setUint8,
955
- writeUint16: writeUint16,
956
- setUint16: setUint16,
957
- writeUint32: writeUint32,
958
- writeUint32BigEndian: writeUint32BigEndian,
959
- setUint32: setUint32,
960
- writeVarUint: writeVarUint,
961
- writeVarInt: writeVarInt,
962
- _writeVarStringNative: _writeVarStringNative,
963
- _writeVarStringPolyfill: _writeVarStringPolyfill,
964
- writeVarString: writeVarString,
965
- writeTerminatedString: writeTerminatedString,
966
- writeTerminatedUint8Array: writeTerminatedUint8Array,
967
- writeBinaryEncoder: writeBinaryEncoder,
968
- writeUint8Array: writeUint8Array,
969
- writeVarUint8Array: writeVarUint8Array,
970
- writeOnDataView: writeOnDataView,
971
- writeFloat32: writeFloat32,
972
- writeFloat64: writeFloat64,
973
- writeBigInt64: writeBigInt64,
974
- writeBigUint64: writeBigUint64,
975
- writeAny: writeAny,
976
- RleEncoder: RleEncoder,
977
- IntDiffEncoder: IntDiffEncoder,
978
- RleIntDiffEncoder: RleIntDiffEncoder,
979
- UintOptRleEncoder: UintOptRleEncoder,
980
- IncUintOptRleEncoder: IncUintOptRleEncoder,
981
- IntDiffOptRleEncoder: IntDiffOptRleEncoder,
982
- StringEncoder: StringEncoder
983
- });
984
-
985
- exports.Encoder = Encoder;
986
- exports.IncUintOptRleEncoder = IncUintOptRleEncoder;
987
- exports.IntDiffEncoder = IntDiffEncoder;
988
- exports.IntDiffOptRleEncoder = IntDiffOptRleEncoder;
989
- exports.RleEncoder = RleEncoder;
990
- exports.RleIntDiffEncoder = RleIntDiffEncoder;
991
- exports.StringEncoder = StringEncoder;
992
- exports.UintOptRleEncoder = UintOptRleEncoder;
993
- exports._writeVarStringNative = _writeVarStringNative;
994
- exports._writeVarStringPolyfill = _writeVarStringPolyfill;
995
- exports.createEncoder = createEncoder;
996
- exports.encode = encode;
997
- exports.encoding = encoding;
998
- exports.hasContent = hasContent;
999
- exports.length = length;
1000
- exports.set = set;
1001
- exports.setUint16 = setUint16;
1002
- exports.setUint32 = setUint32;
1003
- exports.setUint8 = setUint8;
1004
- exports.toUint8Array = toUint8Array;
1005
- exports.verifyLen = verifyLen;
1006
- exports.write = write;
1007
- exports.writeAny = writeAny;
1008
- exports.writeBigInt64 = writeBigInt64;
1009
- exports.writeBigUint64 = writeBigUint64;
1010
- exports.writeBinaryEncoder = writeBinaryEncoder;
1011
- exports.writeFloat32 = writeFloat32;
1012
- exports.writeFloat64 = writeFloat64;
1013
- exports.writeOnDataView = writeOnDataView;
1014
- exports.writeTerminatedString = writeTerminatedString;
1015
- exports.writeTerminatedUint8Array = writeTerminatedUint8Array;
1016
- exports.writeUint16 = writeUint16;
1017
- exports.writeUint32 = writeUint32;
1018
- exports.writeUint32BigEndian = writeUint32BigEndian;
1019
- exports.writeUint8 = writeUint8;
1020
- exports.writeUint8Array = writeUint8Array;
1021
- exports.writeVarInt = writeVarInt;
1022
- exports.writeVarString = writeVarString;
1023
- exports.writeVarUint = writeVarUint;
1024
- exports.writeVarUint8Array = writeVarUint8Array;
1025
- //# sourceMappingURL=encoding-1a745c43.cjs.map