@fireproof/vendor 0.0.0-smoke → 1.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 (480) hide show
  1. package/package.json +150 -7
  2. package/patched/@ipld/dag-json/.github/dependabot.yml +0 -11
  3. package/patched/@ipld/dag-json/.github/workflows/js-test-and-release.yml +0 -28
  4. package/patched/@ipld/dag-json/CHANGELOG.md +0 -202
  5. package/patched/@ipld/dag-json/LICENSE-APACHE +0 -5
  6. package/patched/@ipld/dag-json/LICENSE-MIT +0 -19
  7. package/patched/@ipld/dag-json/ipld-dag-json-10.2.3.tgz +0 -0
  8. package/patched/@ipld/dag-json/src/index.js +0 -291
  9. package/patched/@ipld/dag-json/test/test-basics.spec.js +0 -290
  10. package/patched/@ipld/dag-json/test/ts-use/package.json +0 -11
  11. package/patched/@ipld/dag-json/test/ts-use/src/main.ts +0 -54
  12. package/patched/@ipld/dag-json/test/ts-use/tsconfig.json +0 -9
  13. package/patched/@ipld/dag-json/tsconfig.json +0 -14
  14. package/patched/cborg/.github/dependabot.yml +0 -16
  15. package/patched/cborg/.github/workflows/test-and-release.yml +0 -52
  16. package/patched/cborg/cborg-4.2.7.tgz +0 -0
  17. package/patched/cborg/example-json.js +0 -6
  18. package/patched/cborg/example.js +0 -5
  19. package/patched/cborg/lib/0uint.js +0 -227
  20. package/patched/cborg/lib/json/decode.js +0 -462
  21. package/patched/cborg/lib/json/encode.js +0 -299
  22. package/patched/cborg/package.json +0 -169
  23. package/patched/cborg/pnpm-lock.yaml +0 -6096
  24. package/patched/cborg/test/common.js +0 -18
  25. package/patched/cborg/test/test-cbor-vectors.js +0 -107
  26. package/patched/cborg/test/test-json.js +0 -219
  27. package/src/@ipld/car/car/node_modules/.bin/cborg +0 -17
  28. package/src/@ipld/dag-cbor/dag-cbor/node_modules/.bin/cborg +0 -17
  29. package/src/@ipld/dag-json/dag-json/README.md +0 -58
  30. package/src/@ipld/dag-json/dag-json/node_modules/.bin/cborg +0 -17
  31. package/src/@ipld/dag-json/dag-json/package.json +0 -173
  32. package/src/@web3-storage/pail/pail/node_modules/.bin/pail +0 -17
  33. package/src/cborg/cborg/.github/dependabot.yml +0 -16
  34. package/src/cborg/cborg/.github/workflows/test-and-release.yml +0 -52
  35. package/src/cborg/cborg/CHANGELOG.md +0 -513
  36. package/src/cborg/cborg/LICENSE +0 -13
  37. package/src/cborg/cborg/README.md +0 -515
  38. package/src/cborg/cborg/bench/bench.js +0 -117
  39. package/src/cborg/cborg/bench/json.js +0 -124
  40. package/src/cborg/cborg/bench/package.json +0 -8
  41. package/src/cborg/cborg/cborg.js +0 -31
  42. package/src/cborg/cborg/example-bytestrings.js +0 -180
  43. package/src/cborg/cborg/interface.ts +0 -56
  44. package/src/cborg/cborg/lib/1negint.js +0 -111
  45. package/src/cborg/cborg/lib/2bytes.js +0 -133
  46. package/src/cborg/cborg/lib/3string.js +0 -90
  47. package/src/cborg/cborg/lib/4array.js +0 -113
  48. package/src/cborg/cborg/lib/5map.js +0 -113
  49. package/src/cborg/cborg/lib/6tag.js +0 -80
  50. package/src/cborg/cborg/lib/7float.js +0 -308
  51. package/src/cborg/cborg/lib/bin.js +0 -189
  52. package/src/cborg/cborg/lib/bl.js +0 -124
  53. package/src/cborg/cborg/lib/byte-utils.js +0 -417
  54. package/src/cborg/cborg/lib/common.js +0 -27
  55. package/src/cborg/cborg/lib/decode.js +0 -209
  56. package/src/cborg/cborg/lib/diagnostic.js +0 -156
  57. package/src/cborg/cborg/lib/diagnostic_test.js +0 -117
  58. package/src/cborg/cborg/lib/encode.js +0 -464
  59. package/src/cborg/cborg/lib/is.js +0 -106
  60. package/src/cborg/cborg/lib/json/json.js +0 -4
  61. package/src/cborg/cborg/lib/jump.js +0 -209
  62. package/src/cborg/cborg/lib/length.js +0 -61
  63. package/src/cborg/cborg/lib/token.js +0 -76
  64. package/src/cborg/cborg/node_modules/.bin/cborg +0 -17
  65. package/src/cborg/cborg/taglib.js +0 -73
  66. package/src/cborg/cborg/test/appendix_a.js +0 -647
  67. package/src/cborg/cborg/test/node-test-bin.js +0 -402
  68. package/src/cborg/cborg/test/noop-bin-test.js +0 -3
  69. package/src/cborg/cborg/test/test-0uint.js +0 -103
  70. package/src/cborg/cborg/test/test-1negint.js +0 -96
  71. package/src/cborg/cborg/test/test-2bytes.js +0 -198
  72. package/src/cborg/cborg/test/test-3string.js +0 -136
  73. package/src/cborg/cborg/test/test-4array.js +0 -93
  74. package/src/cborg/cborg/test/test-5map.js +0 -284
  75. package/src/cborg/cborg/test/test-6tag.js +0 -85
  76. package/src/cborg/cborg/test/test-7float.js +0 -131
  77. package/src/cborg/cborg/test/test-bl.js +0 -37
  78. package/src/cborg/cborg/test/test-decode-errors.js +0 -65
  79. package/src/cborg/cborg/test/test-fuzz.js +0 -42
  80. package/src/cborg/cborg/test/test-length.js +0 -65
  81. package/src/cborg/cborg/test/test-partial.js +0 -111
  82. package/src/cborg/cborg/tsconfig.json +0 -45
  83. package/src/cborg/cborg/types/cborg.d.ts +0 -28
  84. package/src/cborg/cborg/types/cborg.d.ts.map +0 -1
  85. package/src/cborg/cborg/types/example.d.ts +0 -2
  86. package/src/cborg/cborg/types/example.d.ts.map +0 -1
  87. package/src/cborg/cborg/types/interface.d.ts +0 -47
  88. package/src/cborg/cborg/types/interface.d.ts.map +0 -1
  89. package/src/cborg/cborg/types/lib/0uint.d.ts +0 -100
  90. package/src/cborg/cborg/types/lib/0uint.d.ts.map +0 -1
  91. package/src/cborg/cborg/types/lib/1negint.d.ts +0 -58
  92. package/src/cborg/cborg/types/lib/1negint.d.ts.map +0 -1
  93. package/src/cborg/cborg/types/lib/2bytes.d.ts +0 -68
  94. package/src/cborg/cborg/types/lib/2bytes.d.ts.map +0 -1
  95. package/src/cborg/cborg/types/lib/3string.d.ts +0 -46
  96. package/src/cborg/cborg/types/lib/3string.d.ts.map +0 -1
  97. package/src/cborg/cborg/types/lib/4array.d.ts +0 -65
  98. package/src/cborg/cborg/types/lib/4array.d.ts.map +0 -1
  99. package/src/cborg/cborg/types/lib/5map.d.ts +0 -65
  100. package/src/cborg/cborg/types/lib/5map.d.ts.map +0 -1
  101. package/src/cborg/cborg/types/lib/6tag.d.ts +0 -61
  102. package/src/cborg/cborg/types/lib/6tag.d.ts.map +0 -1
  103. package/src/cborg/cborg/types/lib/7float.d.ts +0 -60
  104. package/src/cborg/cborg/types/lib/7float.d.ts.map +0 -1
  105. package/src/cborg/cborg/types/lib/bin.d.ts +0 -4
  106. package/src/cborg/cborg/types/lib/bin.d.ts.map +0 -1
  107. package/src/cborg/cborg/types/lib/bl.d.ts +0 -26
  108. package/src/cborg/cborg/types/lib/bl.d.ts.map +0 -1
  109. package/src/cborg/cborg/types/lib/byte-utils.d.ts +0 -53
  110. package/src/cborg/cborg/types/lib/byte-utils.d.ts.map +0 -1
  111. package/src/cborg/cborg/types/lib/common.d.ts +0 -10
  112. package/src/cborg/cborg/types/lib/common.d.ts.map +0 -1
  113. package/src/cborg/cborg/types/lib/decode.d.ts +0 -41
  114. package/src/cborg/cborg/types/lib/decode.d.ts.map +0 -1
  115. package/src/cborg/cborg/types/lib/diagnostic.d.ts +0 -12
  116. package/src/cborg/cborg/types/lib/diagnostic.d.ts.map +0 -1
  117. package/src/cborg/cborg/types/lib/diagnostic_test.d.ts +0 -2
  118. package/src/cborg/cborg/types/lib/diagnostic_test.d.ts.map +0 -1
  119. package/src/cborg/cborg/types/lib/encode.d.ts +0 -50
  120. package/src/cborg/cborg/types/lib/encode.d.ts.map +0 -1
  121. package/src/cborg/cborg/types/lib/is.d.ts +0 -6
  122. package/src/cborg/cborg/types/lib/is.d.ts.map +0 -1
  123. package/src/cborg/cborg/types/lib/json/decode.d.ts +0 -67
  124. package/src/cborg/cborg/types/lib/json/decode.d.ts.map +0 -1
  125. package/src/cborg/cborg/types/lib/json/encode.d.ts +0 -11
  126. package/src/cborg/cborg/types/lib/json/encode.d.ts.map +0 -1
  127. package/src/cborg/cborg/types/lib/json/forward-cborg.d.ts +0 -6
  128. package/src/cborg/cborg/types/lib/json/forward-cborg.d.ts.map +0 -1
  129. package/src/cborg/cborg/types/lib/json/json.d.ts +0 -6
  130. package/src/cborg/cborg/types/lib/json/json.d.ts.map +0 -1
  131. package/src/cborg/cborg/types/lib/jump.d.ts +0 -12
  132. package/src/cborg/cborg/types/lib/jump.d.ts.map +0 -1
  133. package/src/cborg/cborg/types/lib/length.d.ts +0 -27
  134. package/src/cborg/cborg/types/lib/length.d.ts.map +0 -1
  135. package/src/cborg/cborg/types/lib/token.d.ts +0 -59
  136. package/src/cborg/cborg/types/lib/token.d.ts.map +0 -1
  137. package/src/cborg/cborg/types/taglib.d.ts +0 -18
  138. package/src/cborg/cborg/types/taglib.d.ts.map +0 -1
  139. package/src/cborg/cborg/types/tsconfig.tsbuildinfo +0 -1
  140. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/LICENSE +0 -4
  141. /package/{patched/@ipld/dag-json → src/@ipld/car}/LICENSE +0 -0
  142. /package/src/@ipld/car/{car/README.md → README.md} +0 -0
  143. /package/src/@ipld/car/{car/dist → dist}/index.min.js +0 -0
  144. /package/src/@ipld/car/{car/dist → dist}/src/api.d.ts +0 -0
  145. /package/src/@ipld/car/{car/dist → dist}/src/api.d.ts.map +0 -0
  146. /package/src/@ipld/car/{car/dist → dist}/src/buffer-decoder.d.ts +0 -0
  147. /package/src/@ipld/car/{car/dist → dist}/src/buffer-decoder.d.ts.map +0 -0
  148. /package/src/@ipld/car/{car/dist → dist}/src/buffer-reader-browser.d.ts +0 -0
  149. /package/src/@ipld/car/{car/dist → dist}/src/buffer-reader-browser.d.ts.map +0 -0
  150. /package/src/@ipld/car/{car/dist → dist}/src/buffer-reader.d.ts +0 -0
  151. /package/src/@ipld/car/{car/dist → dist}/src/buffer-reader.d.ts.map +0 -0
  152. /package/src/@ipld/car/{car/dist → dist}/src/buffer-writer.d.ts +0 -0
  153. /package/src/@ipld/car/{car/dist → dist}/src/buffer-writer.d.ts.map +0 -0
  154. /package/src/@ipld/car/{car/dist → dist}/src/coding.d.ts +0 -0
  155. /package/src/@ipld/car/{car/dist → dist}/src/coding.d.ts.map +0 -0
  156. /package/src/@ipld/car/{car/dist → dist}/src/decoder-common.d.ts +0 -0
  157. /package/src/@ipld/car/{car/dist → dist}/src/decoder-common.d.ts.map +0 -0
  158. /package/src/@ipld/car/{car/dist → dist}/src/decoder.d.ts +0 -0
  159. /package/src/@ipld/car/{car/dist → dist}/src/decoder.d.ts.map +0 -0
  160. /package/src/@ipld/car/{car/dist → dist}/src/encoder.d.ts +0 -0
  161. /package/src/@ipld/car/{car/dist → dist}/src/encoder.d.ts.map +0 -0
  162. /package/src/@ipld/car/{car/dist → dist}/src/header-validator.d.ts +0 -0
  163. /package/src/@ipld/car/{car/dist → dist}/src/header-validator.d.ts.map +0 -0
  164. /package/src/@ipld/car/{car/dist → dist}/src/index-browser.d.ts +0 -0
  165. /package/src/@ipld/car/{car/dist → dist}/src/index-browser.d.ts.map +0 -0
  166. /package/src/@ipld/car/{car/dist → dist}/src/index.d.ts +0 -0
  167. /package/src/@ipld/car/{car/dist → dist}/src/index.d.ts.map +0 -0
  168. /package/src/@ipld/car/{car/dist → dist}/src/indexed-reader-browser.d.ts +0 -0
  169. /package/src/@ipld/car/{car/dist → dist}/src/indexed-reader-browser.d.ts.map +0 -0
  170. /package/src/@ipld/car/{car/dist → dist}/src/indexed-reader.d.ts +0 -0
  171. /package/src/@ipld/car/{car/dist → dist}/src/indexed-reader.d.ts.map +0 -0
  172. /package/src/@ipld/car/{car/dist → dist}/src/indexer.d.ts +0 -0
  173. /package/src/@ipld/car/{car/dist → dist}/src/indexer.d.ts.map +0 -0
  174. /package/src/@ipld/car/{car/dist → dist}/src/iterator-channel.d.ts +0 -0
  175. /package/src/@ipld/car/{car/dist → dist}/src/iterator-channel.d.ts.map +0 -0
  176. /package/src/@ipld/car/{car/dist → dist}/src/iterator.d.ts +0 -0
  177. /package/src/@ipld/car/{car/dist → dist}/src/iterator.d.ts.map +0 -0
  178. /package/src/@ipld/car/{car/dist → dist}/src/reader-browser.d.ts +0 -0
  179. /package/src/@ipld/car/{car/dist → dist}/src/reader-browser.d.ts.map +0 -0
  180. /package/src/@ipld/car/{car/dist → dist}/src/reader.d.ts +0 -0
  181. /package/src/@ipld/car/{car/dist → dist}/src/reader.d.ts.map +0 -0
  182. /package/src/@ipld/car/{car/dist → dist}/src/writer-browser.d.ts +0 -0
  183. /package/src/@ipld/car/{car/dist → dist}/src/writer-browser.d.ts.map +0 -0
  184. /package/src/@ipld/car/{car/dist → dist}/src/writer.d.ts +0 -0
  185. /package/src/@ipld/car/{car/dist → dist}/src/writer.d.ts.map +0 -0
  186. /package/src/@ipld/car/{car/package.json → package.json} +0 -0
  187. /package/src/@ipld/car/{car/src → src}/api.ts +0 -0
  188. /package/src/@ipld/car/{car/src → src}/buffer-decoder.js +0 -0
  189. /package/src/@ipld/car/{car/src → src}/buffer-reader-browser.js +0 -0
  190. /package/src/@ipld/car/{car/src → src}/buffer-reader.js +0 -0
  191. /package/src/@ipld/car/{car/src → src}/buffer-writer.js +0 -0
  192. /package/src/@ipld/car/{car/src → src}/coding.ts +0 -0
  193. /package/src/@ipld/car/{car/src → src}/decoder-common.js +0 -0
  194. /package/src/@ipld/car/{car/src → src}/decoder.js +0 -0
  195. /package/src/@ipld/car/{car/src → src}/encoder.js +0 -0
  196. /package/src/@ipld/car/{car/src → src}/header-validator.js +0 -0
  197. /package/src/@ipld/car/{car/src → src}/header.ipldsch +0 -0
  198. /package/src/@ipld/car/{car/src → src}/index-browser.js +0 -0
  199. /package/src/@ipld/car/{car/src → src}/index.js +0 -0
  200. /package/src/@ipld/car/{car/src → src}/indexed-reader-browser.js +0 -0
  201. /package/src/@ipld/car/{car/src → src}/indexed-reader.js +0 -0
  202. /package/src/@ipld/car/{car/src → src}/indexer.js +0 -0
  203. /package/src/@ipld/car/{car/src → src}/iterator-channel.js +0 -0
  204. /package/src/@ipld/car/{car/src → src}/iterator.js +0 -0
  205. /package/src/@ipld/car/{car/src → src}/reader-browser.js +0 -0
  206. /package/src/@ipld/car/{car/src → src}/reader.js +0 -0
  207. /package/src/@ipld/car/{car/src → src}/writer-browser.js +0 -0
  208. /package/src/@ipld/car/{car/src → src}/writer.js +0 -0
  209. /package/src/@ipld/{car/car → dag-cbor}/LICENSE +0 -0
  210. /package/src/@ipld/dag-cbor/{dag-cbor/README.md → README.md} +0 -0
  211. /package/src/@ipld/dag-cbor/{dag-cbor/dist → dist}/index.min.js +0 -0
  212. /package/src/@ipld/dag-cbor/{dag-cbor/dist → dist}/src/index.d.ts +0 -0
  213. /package/src/@ipld/dag-cbor/{dag-cbor/dist → dist}/src/index.d.ts.map +0 -0
  214. /package/src/@ipld/dag-cbor/{dag-cbor/package.json → package.json} +0 -0
  215. /package/src/@ipld/dag-cbor/{dag-cbor/src → src}/index.js +0 -0
  216. /package/src/@ipld/{dag-cbor/dag-cbor → dag-json}/LICENSE +0 -0
  217. /package/{patched → src}/@ipld/dag-json/README.md +0 -0
  218. /package/src/@ipld/dag-json/{dag-json/dist → dist}/index.min.js +0 -0
  219. /package/src/@ipld/dag-json/{dag-json/dist → dist}/src/index.d.ts +0 -0
  220. /package/src/@ipld/dag-json/{dag-json/dist → dist}/src/index.d.ts.map +0 -0
  221. /package/{patched → src}/@ipld/dag-json/package.json +0 -0
  222. /package/src/@ipld/dag-json/{dag-json/src → src}/index.js +0 -0
  223. /package/src/@web3-storage/pail/{pail/LICENSE.md → LICENSE.md} +0 -0
  224. /package/src/@web3-storage/pail/{pail/README.md → README.md} +0 -0
  225. /package/src/@web3-storage/pail/{pail/cli.js → cli.js} +0 -0
  226. /package/src/@web3-storage/pail/{pail/dist → dist}/src/api.d.ts +0 -0
  227. /package/src/@web3-storage/pail/{pail/dist → dist}/src/api.d.ts.map +0 -0
  228. /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/api.d.ts +0 -0
  229. /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/api.d.ts.map +0 -0
  230. /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/index.d.ts +0 -0
  231. /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/index.d.ts.map +0 -0
  232. /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/shard.d.ts +0 -0
  233. /package/src/@web3-storage/pail/{pail/dist → dist}/src/batch/shard.d.ts.map +0 -0
  234. /package/src/@web3-storage/pail/{pail/dist → dist}/src/block.d.ts +0 -0
  235. /package/src/@web3-storage/pail/{pail/dist → dist}/src/block.d.ts.map +0 -0
  236. /package/src/@web3-storage/pail/{pail/dist → dist}/src/clock/api.d.ts +0 -0
  237. /package/src/@web3-storage/pail/{pail/dist → dist}/src/clock/api.d.ts.map +0 -0
  238. /package/src/@web3-storage/pail/{pail/dist → dist}/src/clock/index.d.ts +0 -0
  239. /package/src/@web3-storage/pail/{pail/dist → dist}/src/clock/index.d.ts.map +0 -0
  240. /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/api.d.ts +0 -0
  241. /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/api.d.ts.map +0 -0
  242. /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/batch/api.d.ts +0 -0
  243. /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/batch/api.d.ts.map +0 -0
  244. /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/batch/index.d.ts +0 -0
  245. /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/batch/index.d.ts.map +0 -0
  246. /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/index.d.ts +0 -0
  247. /package/src/@web3-storage/pail/{pail/dist → dist}/src/crdt/index.d.ts.map +0 -0
  248. /package/src/@web3-storage/pail/{pail/dist → dist}/src/diff.d.ts +0 -0
  249. /package/src/@web3-storage/pail/{pail/dist → dist}/src/diff.d.ts.map +0 -0
  250. /package/src/@web3-storage/pail/{pail/dist → dist}/src/index.d.ts +0 -0
  251. /package/src/@web3-storage/pail/{pail/dist → dist}/src/index.d.ts.map +0 -0
  252. /package/src/@web3-storage/pail/{pail/dist → dist}/src/merge.d.ts +0 -0
  253. /package/src/@web3-storage/pail/{pail/dist → dist}/src/merge.d.ts.map +0 -0
  254. /package/src/@web3-storage/pail/{pail/dist → dist}/src/shard.d.ts +0 -0
  255. /package/src/@web3-storage/pail/{pail/dist → dist}/src/shard.d.ts.map +0 -0
  256. /package/src/@web3-storage/pail/{pail/dist → dist}/tsconfig.tsbuildinfo +0 -0
  257. /package/src/@web3-storage/pail/{pail/package.json → package.json} +0 -0
  258. /package/src/@web3-storage/pail/{pail/src → src}/api.js +0 -0
  259. /package/src/@web3-storage/pail/{pail/src → src}/api.ts +0 -0
  260. /package/src/@web3-storage/pail/{pail/src → src}/batch/api.js +0 -0
  261. /package/src/@web3-storage/pail/{pail/src → src}/batch/api.ts +0 -0
  262. /package/src/@web3-storage/pail/{pail/src → src}/batch/index.js +0 -0
  263. /package/src/@web3-storage/pail/{pail/src → src}/batch/shard.js +0 -0
  264. /package/src/@web3-storage/pail/{pail/src → src}/block.js +0 -0
  265. /package/src/@web3-storage/pail/{pail/src → src}/clock/api.js +0 -0
  266. /package/src/@web3-storage/pail/{pail/src → src}/clock/api.ts +0 -0
  267. /package/src/@web3-storage/pail/{pail/src → src}/clock/index.js +0 -0
  268. /package/src/@web3-storage/pail/{pail/src → src}/crdt/api.js +0 -0
  269. /package/src/@web3-storage/pail/{pail/src → src}/crdt/api.ts +0 -0
  270. /package/src/@web3-storage/pail/{pail/src → src}/crdt/batch/api.js +0 -0
  271. /package/src/@web3-storage/pail/{pail/src → src}/crdt/batch/api.ts +0 -0
  272. /package/src/@web3-storage/pail/{pail/src → src}/crdt/batch/index.js +0 -0
  273. /package/src/@web3-storage/pail/{pail/src → src}/crdt/index.js +0 -0
  274. /package/src/@web3-storage/pail/{pail/src → src}/diff.js +0 -0
  275. /package/src/@web3-storage/pail/{pail/src → src}/index.js +0 -0
  276. /package/src/@web3-storage/pail/{pail/src → src}/merge.js +0 -0
  277. /package/src/@web3-storage/pail/{pail/src → src}/shard.js +0 -0
  278. /package/{patched → src}/cborg/CHANGELOG.md +0 -0
  279. /package/{patched → src}/cborg/LICENSE +0 -0
  280. /package/{patched → src}/cborg/README.md +0 -0
  281. /package/{patched → src}/cborg/bench/bench.js +0 -0
  282. /package/{patched → src}/cborg/bench/json.js +0 -0
  283. /package/{patched → src}/cborg/bench/package.json +0 -0
  284. /package/{patched → src}/cborg/cborg.js +0 -0
  285. /package/{patched → src}/cborg/example-bytestrings.js +0 -0
  286. /package/src/cborg/{cborg/example-json.js → example-json.js} +0 -0
  287. /package/src/cborg/{cborg/example.js → example.js} +0 -0
  288. /package/{patched → src}/cborg/interface.ts +0 -0
  289. /package/src/cborg/{cborg/lib → lib}/0uint.js +0 -0
  290. /package/{patched → src}/cborg/lib/1negint.js +0 -0
  291. /package/{patched → src}/cborg/lib/2bytes.js +0 -0
  292. /package/{patched → src}/cborg/lib/3string.js +0 -0
  293. /package/{patched → src}/cborg/lib/4array.js +0 -0
  294. /package/{patched → src}/cborg/lib/5map.js +0 -0
  295. /package/{patched → src}/cborg/lib/6tag.js +0 -0
  296. /package/{patched → src}/cborg/lib/7float.js +0 -0
  297. /package/{patched → src}/cborg/lib/bin.js +0 -0
  298. /package/{patched → src}/cborg/lib/bl.js +0 -0
  299. /package/{patched → src}/cborg/lib/byte-utils.js +0 -0
  300. /package/{patched → src}/cborg/lib/common.js +0 -0
  301. /package/{patched → src}/cborg/lib/decode.js +0 -0
  302. /package/{patched → src}/cborg/lib/diagnostic.js +0 -0
  303. /package/{patched → src}/cborg/lib/diagnostic_test.js +0 -0
  304. /package/{patched → src}/cborg/lib/encode.js +0 -0
  305. /package/{patched → src}/cborg/lib/is.js +0 -0
  306. /package/src/cborg/{cborg/lib → lib}/json/decode.js +0 -0
  307. /package/src/cborg/{cborg/lib → lib}/json/encode.js +0 -0
  308. /package/{patched → src}/cborg/lib/json/json.js +0 -0
  309. /package/{patched → src}/cborg/lib/jump.js +0 -0
  310. /package/{patched → src}/cborg/lib/length.js +0 -0
  311. /package/{patched → src}/cborg/lib/token.js +0 -0
  312. /package/src/cborg/{cborg/package.json → package.json} +0 -0
  313. /package/{patched → src}/cborg/taglib.js +0 -0
  314. /package/{patched → src}/cborg/test/appendix_a.js +0 -0
  315. /package/src/cborg/{cborg/test → test}/common.js +0 -0
  316. /package/{patched → src}/cborg/test/node-test-bin.js +0 -0
  317. /package/{patched → src}/cborg/test/noop-bin-test.js +0 -0
  318. /package/{patched → src}/cborg/test/test-0uint.js +0 -0
  319. /package/{patched → src}/cborg/test/test-1negint.js +0 -0
  320. /package/{patched → src}/cborg/test/test-2bytes.js +0 -0
  321. /package/{patched → src}/cborg/test/test-3string.js +0 -0
  322. /package/{patched → src}/cborg/test/test-4array.js +0 -0
  323. /package/{patched → src}/cborg/test/test-5map.js +0 -0
  324. /package/{patched → src}/cborg/test/test-6tag.js +0 -0
  325. /package/{patched → src}/cborg/test/test-7float.js +0 -0
  326. /package/{patched → src}/cborg/test/test-bl.js +0 -0
  327. /package/src/cborg/{cborg/test → test}/test-cbor-vectors.js +0 -0
  328. /package/{patched → src}/cborg/test/test-decode-errors.js +0 -0
  329. /package/{patched → src}/cborg/test/test-fuzz.js +0 -0
  330. /package/src/cborg/{cborg/test → test}/test-json.js +0 -0
  331. /package/{patched → src}/cborg/test/test-length.js +0 -0
  332. /package/{patched → src}/cborg/test/test-partial.js +0 -0
  333. /package/{patched → src}/cborg/tsconfig.json +0 -0
  334. /package/{patched → src}/cborg/types/cborg.d.ts +0 -0
  335. /package/{patched → src}/cborg/types/cborg.d.ts.map +0 -0
  336. /package/{patched → src}/cborg/types/example.d.ts +0 -0
  337. /package/{patched → src}/cborg/types/example.d.ts.map +0 -0
  338. /package/{patched → src}/cborg/types/interface.d.ts +0 -0
  339. /package/{patched → src}/cborg/types/interface.d.ts.map +0 -0
  340. /package/{patched → src}/cborg/types/lib/0uint.d.ts +0 -0
  341. /package/{patched → src}/cborg/types/lib/0uint.d.ts.map +0 -0
  342. /package/{patched → src}/cborg/types/lib/1negint.d.ts +0 -0
  343. /package/{patched → src}/cborg/types/lib/1negint.d.ts.map +0 -0
  344. /package/{patched → src}/cborg/types/lib/2bytes.d.ts +0 -0
  345. /package/{patched → src}/cborg/types/lib/2bytes.d.ts.map +0 -0
  346. /package/{patched → src}/cborg/types/lib/3string.d.ts +0 -0
  347. /package/{patched → src}/cborg/types/lib/3string.d.ts.map +0 -0
  348. /package/{patched → src}/cborg/types/lib/4array.d.ts +0 -0
  349. /package/{patched → src}/cborg/types/lib/4array.d.ts.map +0 -0
  350. /package/{patched → src}/cborg/types/lib/5map.d.ts +0 -0
  351. /package/{patched → src}/cborg/types/lib/5map.d.ts.map +0 -0
  352. /package/{patched → src}/cborg/types/lib/6tag.d.ts +0 -0
  353. /package/{patched → src}/cborg/types/lib/6tag.d.ts.map +0 -0
  354. /package/{patched → src}/cborg/types/lib/7float.d.ts +0 -0
  355. /package/{patched → src}/cborg/types/lib/7float.d.ts.map +0 -0
  356. /package/{patched → src}/cborg/types/lib/bin.d.ts +0 -0
  357. /package/{patched → src}/cborg/types/lib/bin.d.ts.map +0 -0
  358. /package/{patched → src}/cborg/types/lib/bl.d.ts +0 -0
  359. /package/{patched → src}/cborg/types/lib/bl.d.ts.map +0 -0
  360. /package/{patched → src}/cborg/types/lib/byte-utils.d.ts +0 -0
  361. /package/{patched → src}/cborg/types/lib/byte-utils.d.ts.map +0 -0
  362. /package/{patched → src}/cborg/types/lib/common.d.ts +0 -0
  363. /package/{patched → src}/cborg/types/lib/common.d.ts.map +0 -0
  364. /package/{patched → src}/cborg/types/lib/decode.d.ts +0 -0
  365. /package/{patched → src}/cborg/types/lib/decode.d.ts.map +0 -0
  366. /package/{patched → src}/cborg/types/lib/diagnostic.d.ts +0 -0
  367. /package/{patched → src}/cborg/types/lib/diagnostic.d.ts.map +0 -0
  368. /package/{patched → src}/cborg/types/lib/diagnostic_test.d.ts +0 -0
  369. /package/{patched → src}/cborg/types/lib/diagnostic_test.d.ts.map +0 -0
  370. /package/{patched → src}/cborg/types/lib/encode.d.ts +0 -0
  371. /package/{patched → src}/cborg/types/lib/encode.d.ts.map +0 -0
  372. /package/{patched → src}/cborg/types/lib/is.d.ts +0 -0
  373. /package/{patched → src}/cborg/types/lib/is.d.ts.map +0 -0
  374. /package/{patched → src}/cborg/types/lib/json/decode.d.ts +0 -0
  375. /package/{patched → src}/cborg/types/lib/json/decode.d.ts.map +0 -0
  376. /package/{patched → src}/cborg/types/lib/json/encode.d.ts +0 -0
  377. /package/{patched → src}/cborg/types/lib/json/encode.d.ts.map +0 -0
  378. /package/{patched → src}/cborg/types/lib/json/forward-cborg.d.ts +0 -0
  379. /package/{patched → src}/cborg/types/lib/json/forward-cborg.d.ts.map +0 -0
  380. /package/{patched → src}/cborg/types/lib/json/json.d.ts +0 -0
  381. /package/{patched → src}/cborg/types/lib/json/json.d.ts.map +0 -0
  382. /package/{patched → src}/cborg/types/lib/jump.d.ts +0 -0
  383. /package/{patched → src}/cborg/types/lib/jump.d.ts.map +0 -0
  384. /package/{patched → src}/cborg/types/lib/length.d.ts +0 -0
  385. /package/{patched → src}/cborg/types/lib/length.d.ts.map +0 -0
  386. /package/{patched → src}/cborg/types/lib/token.d.ts +0 -0
  387. /package/{patched → src}/cborg/types/lib/token.d.ts.map +0 -0
  388. /package/{patched → src}/cborg/types/taglib.d.ts +0 -0
  389. /package/{patched → src}/cborg/types/taglib.d.ts.map +0 -0
  390. /package/{patched → src}/cborg/types/tsconfig.tsbuildinfo +0 -0
  391. /package/src/{@ipld/dag-json/dag-json → ipfs-unixfs-exporter}/LICENSE +0 -0
  392. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/README.md → README.md} +0 -0
  393. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/index.min.js +0 -0
  394. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/errors.d.ts +0 -0
  395. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/errors.d.ts.map +0 -0
  396. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/errors.js +0 -0
  397. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/errors.js.map +0 -0
  398. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/index.d.ts +0 -0
  399. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/index.d.ts.map +0 -0
  400. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/index.js +0 -0
  401. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/index.js.map +0 -0
  402. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-cbor.d.ts +0 -0
  403. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-cbor.d.ts.map +0 -0
  404. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-cbor.js +0 -0
  405. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-cbor.js.map +0 -0
  406. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-json.d.ts +0 -0
  407. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-json.d.ts.map +0 -0
  408. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-json.js +0 -0
  409. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/dag-json.js.map +0 -0
  410. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/identity.d.ts +0 -0
  411. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/identity.d.ts.map +0 -0
  412. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/identity.js +0 -0
  413. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/identity.js.map +0 -0
  414. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/index.d.ts +0 -0
  415. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/index.d.ts.map +0 -0
  416. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/index.js +0 -0
  417. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/index.js.map +0 -0
  418. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/json.d.ts +0 -0
  419. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/json.d.ts.map +0 -0
  420. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/json.js +0 -0
  421. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/json.js.map +0 -0
  422. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/raw.d.ts +0 -0
  423. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/raw.d.ts.map +0 -0
  424. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/raw.js +0 -0
  425. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/raw.js.map +0 -0
  426. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/directory.d.ts +0 -0
  427. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/directory.d.ts.map +0 -0
  428. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/directory.js +0 -0
  429. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/directory.js.map +0 -0
  430. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/file.d.ts +0 -0
  431. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/file.d.ts.map +0 -0
  432. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/file.js +0 -0
  433. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/file.js.map +0 -0
  434. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts +0 -0
  435. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts.map +0 -0
  436. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js +0 -0
  437. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js.map +0 -0
  438. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/raw.d.ts +0 -0
  439. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/raw.d.ts.map +0 -0
  440. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/raw.js +0 -0
  441. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/content/raw.js.map +0 -0
  442. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/index.d.ts +0 -0
  443. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/index.d.ts.map +0 -0
  444. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/index.js +0 -0
  445. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/resolvers/unixfs-v1/index.js.map +0 -0
  446. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/extract-data-from-block.d.ts +0 -0
  447. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/extract-data-from-block.d.ts.map +0 -0
  448. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/extract-data-from-block.js +0 -0
  449. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/extract-data-from-block.js.map +0 -0
  450. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/find-cid-in-shard.d.ts +0 -0
  451. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/find-cid-in-shard.d.ts.map +0 -0
  452. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/find-cid-in-shard.js +0 -0
  453. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/find-cid-in-shard.js.map +0 -0
  454. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/resolve-object-path.d.ts +0 -0
  455. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/resolve-object-path.d.ts.map +0 -0
  456. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/resolve-object-path.js +0 -0
  457. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/resolve-object-path.js.map +0 -0
  458. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/validate-offset-and-length.d.ts +0 -0
  459. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/validate-offset-and-length.d.ts.map +0 -0
  460. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/validate-offset-and-length.js +0 -0
  461. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/src/utils/validate-offset-and-length.js.map +0 -0
  462. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/dist → dist}/typedoc-urls.json +0 -0
  463. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/package.json → package.json} +0 -0
  464. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/errors.ts +0 -0
  465. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/index.ts +0 -0
  466. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/dag-cbor.ts +0 -0
  467. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/dag-json.ts +0 -0
  468. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/identity.ts +0 -0
  469. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/index.ts +0 -0
  470. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/json.ts +0 -0
  471. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/raw.ts +0 -0
  472. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/content/directory.ts +0 -0
  473. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/content/file.ts +0 -0
  474. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/content/hamt-sharded-directory.ts +0 -0
  475. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/content/raw.ts +0 -0
  476. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/resolvers/unixfs-v1/index.ts +0 -0
  477. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/utils/extract-data-from-block.ts +0 -0
  478. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/utils/find-cid-in-shard.ts +0 -0
  479. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/utils/resolve-object-path.ts +0 -0
  480. /package/src/ipfs-unixfs-exporter/{ipfs-unixfs-exporter/src → src}/utils/validate-offset-and-length.ts +0 -0
@@ -1,124 +0,0 @@
1
- // can be run in a browser with `polendina --runner=bare-sync --timeout 6000 --cleanup bench.js`
2
- // with additional dependencies for cborg installed here
3
-
4
- import assert from 'assert'
5
- import { garbage } from 'ipld-garbage'
6
- import { decode, encode } from '../lib/json/json.js'
7
-
8
- let writebuf = ''
9
- const write = process.stdout
10
- ? process.stdout.write.bind(process.stdout)
11
- : (str) => {
12
- writebuf += str
13
- if (str.endsWith('\n')) {
14
- console.log(writebuf.replace(/\n$/, ''))
15
- writebuf = ''
16
- }
17
- }
18
-
19
- const textEncoder = new TextEncoder()
20
- const textDecoder = new TextDecoder()
21
-
22
- function jencode (obj) {
23
- return textEncoder.encode(JSON.stringify(obj))
24
- }
25
-
26
- function jdecode (buf) {
27
- return JSON.parse(textDecoder.decode(buf))
28
- }
29
-
30
- function runWith (description, count, targetTime, size, options) {
31
- const fixtures = []
32
-
33
- console.log(`${description} @ ${count.toLocaleString()}`)
34
- for (let i = 0; i < count; i++) {
35
- const obj = garbage(size, options)
36
- const cbyts = encode(obj)
37
- /*
38
- const jbyts = jencode(obj)
39
- if (Buffer.compare(Buffer.from(cbyts), jbyts) !== 0) {
40
- console.log(`mismatch for obj: ${JSON.stringify(obj)}`)
41
- console.log('\tc> ', Buffer.from(cbyts).toString('utf8'))
42
- console.log('\tj> ', Buffer.from(jbyts).toString('utf8'))
43
- }
44
- */
45
- if (cbyts.length <= size * 2) {
46
- fixtures.push([obj, cbyts])
47
- }
48
- }
49
- const avgSize = Math.round(fixtures.reduce((p, c) => p + c[1].length, 0) / fixtures.length)
50
-
51
- const enc = (encoder) => {
52
- for (const [obj, byts] of fixtures) {
53
- const ebyts = encoder(obj)
54
- if (byts.length !== ebyts.length) {
55
- throw new Error('bork')
56
- }
57
- }
58
- return fixtures.length
59
- }
60
-
61
- const bench = (bfn) => {
62
- const start = Date.now()
63
- let opcount = 0
64
- do {
65
- opcount += bfn()
66
- } while (Date.now() - start < targetTime)
67
- const ops = Math.round(opcount / ((Date.now() - start) / 1000))
68
- return ops
69
- }
70
-
71
- const dec = (decoder) => {
72
- for (const [obj, byts] of fixtures) {
73
- let cobj
74
- try {
75
- cobj = decoder(byts)
76
- } catch (e) {
77
- console.log('Failed to decode:', Buffer.from(byts).toString('utf8'))
78
- throw e
79
- }
80
- if (obj != null && typeof obj === 'object') {
81
- assert.deepStrictEqual(Object.keys(cobj).length, Object.keys(obj).length)
82
- } else {
83
- assert.deepStrictEqual(obj, cobj)
84
- }
85
- }
86
- return fixtures.length
87
- }
88
-
89
- const cmp = (desc, cbfn, bofn) => {
90
- write(`\t${desc} (avg ${avgSize.toLocaleString()} b):`)
91
- const cborgOps = bench(cbfn)
92
- write(` cborg @ ${cborgOps.toLocaleString()} op/s`)
93
- const jOps = bench(bofn)
94
- write(` / JSON @ ${jOps.toLocaleString()} op/s`)
95
- const percent = Math.round((cborgOps / jOps) * 1000) / 10
96
- write(` = ${(percent).toLocaleString()} %\n`)
97
- return percent
98
- }
99
-
100
- return [
101
- cmp('encode', () => enc(encode), () => enc(jencode)),
102
- cmp('decode', () => dec(decode), () => dec(jdecode))
103
- ]
104
- }
105
-
106
- const targetTime = 1000
107
- const accum = []
108
- accum.push(runWith('rnd-100', 1000, targetTime, 100, { weights: { CID: 0, bytes: 0 } }))
109
- accum.push(runWith('rnd-300', 1000, targetTime, 300, { weights: { CID: 0, bytes: 0 } }))
110
- accum.push(runWith('rnd-nomap-300', 1000, targetTime, 300, { weights: { CID: 0, bytes: 0, map: 0 } }))
111
- accum.push(runWith('rnd-nolist-300', 1000, targetTime, 300, { weights: { CID: 0, bytes: 0, list: 0 } }))
112
- accum.push(runWith('rnd-nofloat-300', 1000, targetTime, 300, { weights: { CID: 0, bytes: 0, float: 0 } }))
113
- accum.push(runWith('rnd-nomaj7-300', 1000, targetTime, 300, { weights: { CID: 0, bytes: 0, float: 0, null: 0, boolean: 0 } }))
114
- accum.push(runWith('rnd-nostr-300', 1000, targetTime, 300, { weights: { CID: 0, bytes: 0, string: 0 } }))
115
- accum.push(runWith('rnd-nostrbyts-300', 1000, targetTime, 300, { weights: { CID: 0, bytes: 0, string: 0 } }))
116
- accum.push(runWith('rnd-1000', 1000, targetTime, 1000, { weights: { CID: 0, bytes: 0 } }))
117
- accum.push(runWith('rnd-2000', 1000, targetTime, 2000, { weights: { CID: 0, bytes: 0 } }))
118
- accum.push(runWith('rnd-fil-100', 1000, targetTime, 100, { weights: { float: 0, map: 0, CID: 0, bytes: 0 } }))
119
- accum.push(runWith('rnd-fil-300', 1000, targetTime, 300, { weights: { float: 0, map: 0, CID: 0, bytes: 0 } }))
120
- accum.push(runWith('rnd-fil-500', 1000, targetTime, 500, { weights: { float: 0, map: 0, CID: 0, bytes: 0 } }))
121
- accum.push(runWith('rnd-fil-1000', 1000, targetTime, 1000, { weights: { float: 0, map: 0, CID: 0, bytes: 0 } }))
122
- accum.push(runWith('rnd-fil-2000', 1000, targetTime, 2000, { weights: { float: 0, map: 0, CID: 0, bytes: 0 } }))
123
- console.log(`Avg encode: ${Math.round(accum.reduce((p, c) => p + c[0], 0) / accum.length).toLocaleString()} %`)
124
- console.log(`Avg decode: ${Math.round(accum.reduce((p, c) => p + c[1], 0) / accum.length).toLocaleString()} %`)
@@ -1,8 +0,0 @@
1
- {
2
- "name": "cborg-bench",
3
- "type": "module",
4
- "dependencies": {
5
- "borc": "^2.1.2",
6
- "ipld-garbage": "^3.0.3"
7
- }
8
- }
@@ -1,31 +0,0 @@
1
- import { encode } from './lib/encode.js'
2
- import { decode, decodeFirst, Tokeniser, tokensToObject } from './lib/decode.js'
3
- import { Token, Type } from './lib/token.js'
4
-
5
- // is this needed for the json module and other independ encoders
6
- export { encodeCustom } from './lib/encode.js'
7
- export { encodeErrPrefix, decodeErrPrefix } from './lib/common.js'
8
- export { asU8A, fromString, decodeCodePointsArray } from './lib/byte-utils.js'
9
-
10
- /**
11
- * Export the types that were present in the original manual cborg.d.ts
12
- * @typedef {import('./interface').TagDecoder} TagDecoder
13
- * There was originally just `TypeEncoder` so don't break types by renaming or not exporting
14
- * @typedef {import('./interface').OptionalTypeEncoder} TypeEncoder
15
- * @typedef {import('./interface').DecodeOptions} DecodeOptions
16
- * @typedef {import('./interface').EncodeOptions} EncodeOptions
17
- */
18
-
19
- export {
20
- // this is needed to prevent the bundleing trouble which happens
21
- // due to the fact that token.js is used in lib/json and so in
22
- // cborg/json which ends up on bundling to have two copies of token.js
23
- // which will fail stmts like token.type === Type.array
24
- decode,
25
- decodeFirst,
26
- Tokeniser as Tokenizer,
27
- tokensToObject,
28
- encode,
29
- Token,
30
- Type
31
- }
@@ -1,180 +0,0 @@
1
- /*
2
- RFC 8746 defines a set of tags to use for typed arrays. Out of the box, cborg doesn't care about
3
- tags and just squashes all concerns around byte arrays to Uint8Array with major type 2. This is
4
- fine for most use cases, but it is lossy, you can't round-trip and retain your original type.
5
-
6
- This example shows how to use cborg to round-trip a typed array with tags.
7
-
8
- https://www.rfc-editor.org/rfc/rfc8746.html
9
- */
10
-
11
- import { encode, decode, Token, Tokenizer, Type } from 'cborg.js'
12
-
13
- const tagUint8Array = 64
14
- const tagUint64Array = 71
15
- // etc... see https://www.rfc-editor.org/rfc/rfc8746.html#name-iana-considerations
16
-
17
- /* ENCODERS */
18
-
19
- /**
20
- * @param {any} obj
21
- * @returns {[Token]}
22
- */
23
- function uint8ArrayEncoder (obj) {
24
- if (!(obj instanceof Uint8Array)) {
25
- throw new Error('expected Uint8Array')
26
- }
27
- return [
28
- new Token(Type.tag, tagUint8Array),
29
- new Token(Type.bytes, obj)
30
- ]
31
- }
32
-
33
- /**
34
- * @param {any} obj
35
- * @returns {[Token]}
36
- */
37
- function uint64ArrayEncoder (obj) {
38
- if (!(obj instanceof BigUint64Array)) {
39
- throw new Error('expected BigUint64Array')
40
- }
41
- return [
42
- new Token(Type.tag, tagUint64Array),
43
- // BigUint64Array to a Uint8Array, but we have to pay attention to the possibility of it being
44
- // a view of a larger ArrayBuffer.
45
- new Token(Type.bytes, new Uint8Array(obj.buffer, obj.byteOffset, obj.byteLength))
46
- ]
47
- }
48
-
49
- // etc...
50
-
51
- const typeEncoders = {
52
- Uint8Array: uint8ArrayEncoder,
53
- BigUint64Array: uint64ArrayEncoder
54
- }
55
-
56
- /* DECODERS */
57
-
58
- /**
59
- * @param {ArrayBuffer} bytes
60
- * @returns {any}
61
- */
62
- function uint8ArrayDecoder (bytes) {
63
- if (!(bytes instanceof ArrayBuffer)) {
64
- throw new Error('expected ArrayBuffer')
65
- }
66
- return new Uint8Array(bytes)
67
- }
68
-
69
- /**
70
- * @param {ArrayBuffer} bytes
71
- * @returns {any}
72
- */
73
- function uint64ArrayDecoder (bytes) {
74
- if (!(bytes instanceof ArrayBuffer)) {
75
- throw new Error('expected ArrayBuffer')
76
- }
77
- return new BigUint64Array(bytes)
78
- }
79
-
80
- // etc...
81
-
82
- const tags = []
83
- tags[tagUint8Array] = uint8ArrayDecoder
84
- tags[tagUint64Array] = uint64ArrayDecoder
85
-
86
- /* TOKENIZER */
87
-
88
- // We have to deal with the fact that cborg talks in Uint8Arrays but we now want it to treat major 2
89
- // as ArrayBuffers, so we have to transform the token stream to replace the Uint8Array with an
90
- // ArrayBuffer.
91
-
92
- class ArrayBufferTransformingTokeniser extends Tokenizer {
93
- next () {
94
- const nextToken = super.next()
95
- if (nextToken.type.equals(Type.bytes)) {
96
- // Transform the (assumed) Uint8Array value to an ArrayBuffer of the same bytes, note though
97
- // that all tags we care about are going to be <tag><bytes>, so we're also transforming those
98
- // into ArrayBuffers, so our tag decoders need to also assume they are getting ArrayBuffers
99
- // now. An alternative would be to watch the token stream for <tag> and not transform the next
100
- // token if it's <bytes>, but that's a bit more complicated for demo purposes.
101
- nextToken.value = nextToken.value.buffer
102
- }
103
- return nextToken
104
- }
105
- }
106
-
107
- // Optional: a new decode() wrapper, mainly so we don't have to deal with the complications of\
108
- // instantiating a Tokenizer which needs both data and the options.
109
- function byteStringDecoder (data, options) {
110
- options = Object.assign({}, options, {
111
- tags,
112
- tokenizer: new ArrayBufferTransformingTokeniser(data, options)
113
- })
114
- return decode(data, options)
115
- }
116
-
117
- /* ROUND-TRIP */
118
-
119
- const original = {
120
- u8: new Uint8Array([1, 2, 3, 4, 5]),
121
- u64: new BigUint64Array([10000000000000000n, 20000000000000000n, 30000000000000000n, 40000000000000000n, 50000000000000000n]),
122
- ab: new Uint8Array([6, 7, 8, 9, 10]).buffer
123
- }
124
-
125
- const encoded = encode(original, { typeEncoders })
126
-
127
- const decoded = byteStringDecoder(encoded)
128
-
129
- console.log('Original:', original)
130
- console.log('Encoded:', Buffer.from(encoded).toString('hex')) // excuse the Buffer, sorry browser peeps
131
- console.log('Decoded:', decoded)
132
-
133
- /* Output:
134
-
135
- Original: {
136
- u8: Uint8Array(5) [ 1, 2, 3, 4, 5 ],
137
- u64: BigUint64Array(5) [
138
- 10000000000000000n,
139
- 20000000000000000n,
140
- 30000000000000000n,
141
- 40000000000000000n,
142
- 50000000000000000n
143
- ],
144
- ab: ArrayBuffer { [Uint8Contents]: <06 07 08 09 0a>, byteLength: 5 }
145
- }
146
- Encoded: a362616245060708090a627538d84045010203040563753634d84758280000c16ff2862300000082dfe40d47000000434fd7946a00000004bfc91b8e000000c52ebca2b100
147
- Decoded: {
148
- ab: ArrayBuffer { [Uint8Contents]: <06 07 08 09 0a>, byteLength: 5 },
149
- u8: Uint8Array(5) [ 1, 2, 3, 4, 5 ],
150
- u64: BigUint64Array(5) [
151
- 10000000000000000n,
152
- 20000000000000000n,
153
- 30000000000000000n,
154
- 40000000000000000n,
155
- 50000000000000000n
156
- ]
157
- }
158
-
159
- */
160
-
161
- /* Diagnostic:
162
-
163
- $ cborg hex2diag a362616245060708090a627538d84045010203040563753634d84758280000c16ff2862300000082dfe40d47000000434fd7946a00000004bfc91b8e000000c52ebca2b100
164
- a3 # map(3)
165
- 62 # string(2)
166
- 6162 # "ab"
167
- 45 # bytes(5)
168
- 060708090a # "\x06\x07\x08\x09\x0a"
169
- 62 # string(2)
170
- 7538 # "u8"
171
- d8 40 # tag(64)
172
- 45 # bytes(5)
173
- 0102030405 # "\x01\x02\x03\x04\x05"
174
- 63 # string(3)
175
- 753634 # "u64"
176
- d8 47 # tag(71)
177
- 58 28 # bytes(40)
178
- 0000c16ff2862300000082dfe40d47000000434fd7 # "\x00\x00Áoò\x86#\x00\x00\x00\x82ßä\x0dG\x00\x00\x00CO×"
179
- 946a00000004bfc91b8e000000c52ebca2b100 # "\x94j\x00\x00\x00\x04¿É\x1b\x8e\x00\x00\x00Å.¼¢±\x00
180
- */
@@ -1,56 +0,0 @@
1
- import { Token } from './lib/token'
2
- import { Bl } from './lib/bl'
3
-
4
- export type TokenOrNestedTokens = Token | Token[] | TokenOrNestedTokens[]
5
-
6
- export interface Reference {
7
- parent: Reference | undefined
8
- obj: object | any[]
9
- includes(obj: object | any[]): boolean
10
- }
11
-
12
- export type OptionalTypeEncoder = (data: any, typ: string, options: EncodeOptions, refStack?: Reference) => TokenOrNestedTokens | null
13
-
14
- export type StrictTypeEncoder = (data: any, typ: string, options: EncodeOptions, refStack?: Reference) => TokenOrNestedTokens
15
-
16
- export type TokenTypeEncoder = {
17
- (buf: Bl, token: Token, options?: EncodeOptions): void;
18
- compareTokens(t1: Token, t2: Token): number;
19
- // TODO: make this non-optional as a breaking change and remove the throw in length.js
20
- encodedSize?(token: Token, options?: EncodeOptions): number;
21
- }
22
-
23
- export type MapSorter = (e1: (Token | Token[])[], e2: (Token | Token[])[]) => number
24
-
25
- export type QuickEncodeToken = (token: Token) => Uint8Array | undefined
26
-
27
- export interface DecodeTokenizer {
28
- done(): boolean,
29
- next(): Token,
30
- pos(): number,
31
- }
32
-
33
- export type TagDecoder = (inner: any) => any
34
-
35
- export interface DecodeOptions {
36
- allowIndefinite?: boolean
37
- allowUndefined?: boolean
38
- coerceUndefinedToNull?: boolean
39
- allowInfinity?: boolean
40
- allowNaN?: boolean
41
- allowBigInt?: boolean
42
- strict?: boolean
43
- useMaps?: boolean
44
- rejectDuplicateMapKeys?: boolean
45
- retainStringBytes?: boolean
46
- tags?: TagDecoder[],
47
- tokenizer?: DecodeTokenizer
48
- }
49
-
50
- export interface EncodeOptions {
51
- float64?: boolean,
52
- addBreakTokens?: boolean,
53
- mapSorter?: MapSorter,
54
- quickEncodeToken?: QuickEncodeToken,
55
- typeEncoders?: { [typeName: string]: OptionalTypeEncoder }
56
- }
@@ -1,111 +0,0 @@
1
- /* eslint-env es2020 */
2
-
3
- import { Token, Type } from './token.js'
4
- import * as uint from './0uint.js'
5
- import { decodeErrPrefix } from './common.js'
6
-
7
- /**
8
- * @typedef {import('./bl.js').Bl} Bl
9
- * @typedef {import('../interface').DecodeOptions} DecodeOptions
10
- */
11
-
12
- /**
13
- * @param {Uint8Array} data
14
- * @param {number} pos
15
- * @param {number} _minor
16
- * @param {DecodeOptions} options
17
- * @returns {Token}
18
- */
19
- export function decodeNegint8 (data, pos, _minor, options) {
20
- return new Token(Type.negint, -1 - uint.readUint8(data, pos + 1, options), 2)
21
- }
22
-
23
- /**
24
- * @param {Uint8Array} data
25
- * @param {number} pos
26
- * @param {number} _minor
27
- * @param {DecodeOptions} options
28
- * @returns {Token}
29
- */
30
- export function decodeNegint16 (data, pos, _minor, options) {
31
- return new Token(Type.negint, -1 - uint.readUint16(data, pos + 1, options), 3)
32
- }
33
-
34
- /**
35
- * @param {Uint8Array} data
36
- * @param {number} pos
37
- * @param {number} _minor
38
- * @param {DecodeOptions} options
39
- * @returns {Token}
40
- */
41
- export function decodeNegint32 (data, pos, _minor, options) {
42
- return new Token(Type.negint, -1 - uint.readUint32(data, pos + 1, options), 5)
43
- }
44
-
45
- const neg1b = BigInt(-1)
46
- const pos1b = BigInt(1)
47
-
48
- /**
49
- * @param {Uint8Array} data
50
- * @param {number} pos
51
- * @param {number} _minor
52
- * @param {DecodeOptions} options
53
- * @returns {Token}
54
- */
55
- export function decodeNegint64 (data, pos, _minor, options) {
56
- const int = uint.readUint64(data, pos + 1, options)
57
- if (typeof int !== 'bigint') {
58
- const value = -1 - int
59
- if (value >= Number.MIN_SAFE_INTEGER) {
60
- return new Token(Type.negint, value, 9)
61
- }
62
- }
63
- if (options.allowBigInt !== true) {
64
- throw new Error(`${decodeErrPrefix} integers outside of the safe integer range are not supported`)
65
- }
66
- return new Token(Type.negint, neg1b - BigInt(int), 9)
67
- }
68
-
69
- /**
70
- * @param {Bl} buf
71
- * @param {Token} token
72
- */
73
- export function encodeNegint (buf, token) {
74
- const negint = token.value
75
- const unsigned = (typeof negint === 'bigint' ? (negint * neg1b - pos1b) : (negint * -1 - 1))
76
- uint.encodeUintValue(buf, token.type.majorEncoded, unsigned)
77
- }
78
-
79
- /**
80
- * @param {Token} token
81
- * @returns {number}
82
- */
83
- encodeNegint.encodedSize = function encodedSize (token) {
84
- const negint = token.value
85
- const unsigned = (typeof negint === 'bigint' ? (negint * neg1b - pos1b) : (negint * -1 - 1))
86
- /* c8 ignore next 4 */
87
- // handled by quickEncode, we shouldn't get here but it's included for completeness
88
- if (unsigned < uint.uintBoundaries[0]) {
89
- return 1
90
- }
91
- if (unsigned < uint.uintBoundaries[1]) {
92
- return 2
93
- }
94
- if (unsigned < uint.uintBoundaries[2]) {
95
- return 3
96
- }
97
- if (unsigned < uint.uintBoundaries[3]) {
98
- return 5
99
- }
100
- return 9
101
- }
102
-
103
- /**
104
- * @param {Token} tok1
105
- * @param {Token} tok2
106
- * @returns {number}
107
- */
108
- encodeNegint.compareTokens = function compareTokens (tok1, tok2) {
109
- // opposite of the uint comparison since we store the uint version in bytes
110
- return tok1.value < tok2.value ? 1 : tok1.value > tok2.value ? -1 : /* c8 ignore next */ 0
111
- }
@@ -1,133 +0,0 @@
1
- import { Token, Type } from './token.js'
2
- import { assertEnoughData, decodeErrPrefix } from './common.js'
3
- import * as uint from './0uint.js'
4
- import { compare, fromString, slice } from './byte-utils.js'
5
-
6
- /**
7
- * @typedef {import('./bl.js').Bl} Bl
8
- * @typedef {import('../interface').DecodeOptions} DecodeOptions
9
- */
10
-
11
- /**
12
- * @param {Uint8Array} data
13
- * @param {number} pos
14
- * @param {number} prefix
15
- * @param {number} length
16
- * @returns {Token}
17
- */
18
- function toToken (data, pos, prefix, length) {
19
- assertEnoughData(data, pos, prefix + length)
20
- const buf = slice(data, pos + prefix, pos + prefix + length)
21
- return new Token(Type.bytes, buf, prefix + length)
22
- }
23
-
24
- /**
25
- * @param {Uint8Array} data
26
- * @param {number} pos
27
- * @param {number} minor
28
- * @param {DecodeOptions} _options
29
- * @returns {Token}
30
- */
31
- export function decodeBytesCompact (data, pos, minor, _options) {
32
- return toToken(data, pos, 1, minor)
33
- }
34
-
35
- /**
36
- * @param {Uint8Array} data
37
- * @param {number} pos
38
- * @param {number} _minor
39
- * @param {DecodeOptions} options
40
- * @returns {Token}
41
- */
42
- export function decodeBytes8 (data, pos, _minor, options) {
43
- return toToken(data, pos, 2, uint.readUint8(data, pos + 1, options))
44
- }
45
-
46
- /**
47
- * @param {Uint8Array} data
48
- * @param {number} pos
49
- * @param {number} _minor
50
- * @param {DecodeOptions} options
51
- * @returns {Token}
52
- */
53
- export function decodeBytes16 (data, pos, _minor, options) {
54
- return toToken(data, pos, 3, uint.readUint16(data, pos + 1, options))
55
- }
56
-
57
- /**
58
- * @param {Uint8Array} data
59
- * @param {number} pos
60
- * @param {number} _minor
61
- * @param {DecodeOptions} options
62
- * @returns {Token}
63
- */
64
- export function decodeBytes32 (data, pos, _minor, options) {
65
- return toToken(data, pos, 5, uint.readUint32(data, pos + 1, options))
66
- }
67
-
68
- // TODO: maybe we shouldn't support this ..
69
- /**
70
- * @param {Uint8Array} data
71
- * @param {number} pos
72
- * @param {number} _minor
73
- * @param {DecodeOptions} options
74
- * @returns {Token}
75
- */
76
- export function decodeBytes64 (data, pos, _minor, options) {
77
- const l = uint.readUint64(data, pos + 1, options)
78
- if (typeof l === 'bigint') {
79
- throw new Error(`${decodeErrPrefix} 64-bit integer bytes lengths not supported`)
80
- }
81
- return toToken(data, pos, 9, l)
82
- }
83
-
84
- /**
85
- * `encodedBytes` allows for caching when we do a byte version of a string
86
- * for key sorting purposes
87
- * @param {Token} token
88
- * @returns {Uint8Array}
89
- */
90
- function tokenBytes (token) {
91
- if (token.encodedBytes === undefined) {
92
- token.encodedBytes = token.type.equals(Type.string) ? fromString(token.value) : token.value
93
- }
94
- // @ts-ignore c'mon
95
- return token.encodedBytes
96
- }
97
-
98
- /**
99
- * @param {Bl} buf
100
- * @param {Token} token
101
- */
102
- export function encodeBytes (buf, token) {
103
- const bytes = tokenBytes(token)
104
- uint.encodeUintValue(buf, token.type.majorEncoded, bytes.length)
105
- buf.push(bytes)
106
- }
107
-
108
- /**
109
- * @param {Token} token
110
- * @returns {number}
111
- */
112
- encodeBytes.encodedSize = function encodedSize (token) {
113
- const bytes = tokenBytes(token)
114
- return uint.encodeUintValue.encodedSize(bytes.length) + bytes.length
115
- }
116
-
117
- /**
118
- * @param {Token} tok1
119
- * @param {Token} tok2
120
- * @returns {number}
121
- */
122
- encodeBytes.compareTokens = function compareTokens (tok1, tok2) {
123
- return compareBytes(tokenBytes(tok1), tokenBytes(tok2))
124
- }
125
-
126
- /**
127
- * @param {Uint8Array} b1
128
- * @param {Uint8Array} b2
129
- * @returns {number}
130
- */
131
- export function compareBytes (b1, b2) {
132
- return b1.length < b2.length ? -1 : b1.length > b2.length ? 1 : compare(b1, b2)
133
- }