@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,198 +0,0 @@
1
- /* eslint-env mocha */
2
-
3
- import * as chai from 'chai'
4
-
5
- import { decode, encode } from '../cborg.js'
6
- import { useBuffer, fromHex, toHex } from '../lib/byte-utils.js'
7
-
8
- const { assert } = chai
9
-
10
- // some from https://github.com/PJK/libcbor
11
-
12
- const fixtures = [
13
- { data: '40', expected: '', type: 'bytes' },
14
- { data: '41a1', expected: 'a1', type: 'bytes' },
15
- { data: '5801a1', expected: 'a1', type: 'bytes', strict: false },
16
- {
17
- data: '58ff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe',
18
- expected: '000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe',
19
- type: 'bytes',
20
- label: 'long bytes, 8-bit length'
21
- },
22
- {
23
- data: '5900ff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe',
24
- expected: '000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe',
25
- type: 'bytes',
26
- label: 'long bytes, 16-bit length',
27
- strict: false
28
- },
29
- {
30
- data: '5a000000ff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe',
31
- expected: '000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe',
32
- type: 'bytes',
33
- label: 'long bytes, 32-bit length',
34
- strict: false
35
- },
36
- {
37
- data: '5b00000000000000ff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe',
38
- expected: '000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe',
39
- type: 'bytes',
40
- label: 'long bytes, 64-bit length',
41
- strict: false
42
- }
43
- ]
44
-
45
- // fill up byte arrays we can validate in strict mode, the minimal size for each
46
- // excluding 64-bit because 4G is just too big
47
- ;(() => {
48
- function rnd (length) {
49
- return new Uint8Array(Array.from({ length }, () => Math.floor(Math.random() * 255)))
50
- }
51
-
52
- const expected16 = rnd(256)
53
- fixtures.push({
54
- data: new Uint8Array([...fromHex('590100'), ...expected16]),
55
- expected: expected16,
56
- type: 'bytes',
57
- label: 'long bytes, 16-bit length strict-compat'
58
- })
59
-
60
- const expected32 = rnd(65536)
61
- fixtures.push({
62
- data: new Uint8Array([...fromHex('5a00010000'), ...expected32]),
63
- expected: expected32,
64
- type: 'bytes',
65
- label: 'long bytes, 32-bit length strict-compat'
66
- })
67
- })()
68
-
69
- describe('bytes', () => {
70
- describe('decode', () => {
71
- for (const fixture of fixtures) {
72
- const data = fromHex(fixture.data)
73
- it(`should decode ${fixture.type}=${fixture.label || fixture.expected}`, () => {
74
- let actual = decode(data)
75
- assert.strictEqual(
76
- toHex(actual),
77
- toHex(fromHex(fixture.expected)),
78
- `decode ${fixture.type}`)
79
-
80
- if (fixture.strict === false) {
81
- assert.throws(() => decode(data, { strict: true }), Error, 'CBOR decode error: integer encoded in more bytes than necessary (strict decode)')
82
- } else {
83
- actual = decode(data, { strict: true })
84
- assert.strictEqual(
85
- toHex(actual),
86
- toHex(fromHex(fixture.expected)),
87
- `decode ${fixture.type} strict`)
88
- }
89
- })
90
-
91
- it('should fail to decode very large length', () => {
92
- assert.throws(
93
- () => decode(fromHex('5ba5f702b3a5f702b3000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe')),
94
- /CBOR decode error: 64-bit integer bytes lengths not supported/)
95
- })
96
- }
97
- })
98
-
99
- describe('encode', () => {
100
- for (const fixture of fixtures) {
101
- if (fixture.data.length >= 100000000) {
102
- it.skip(`(TODO) skipping encode of very large bytes ${fixture.type}=${fixture.label || fixture.expected}`, () => {})
103
- continue
104
- }
105
-
106
- const data = fromHex(fixture.expected)
107
- const expectedHex = toHex(fixture.data)
108
-
109
- it(`should encode ${fixture.type}=${fixture.label || fixture.expected}`, () => {
110
- if (fixture.unsafe) {
111
- assert.throws(() => encode(data), Error, /^CBOR encode error: number too large to encode \(-\d+\)$/)
112
- } else if (fixture.strict === false) {
113
- assert.notStrictEqual(toHex(encode(data)), expectedHex, `encode ${fixture.type} !strict`)
114
- } else {
115
- assert.strictEqual(toHex(encode(data)), expectedHex, `encode ${fixture.type}`)
116
- }
117
- })
118
- }
119
- })
120
-
121
- describe('typedarrays', () => {
122
- const cases = [
123
- {
124
- obj: Uint8Array.from([1, 2, 3]),
125
- hex: '43010203'
126
- },
127
- {
128
- obj: Uint8ClampedArray.from([1, 2, 3]),
129
- hex: '43010203'
130
- },
131
- {
132
- obj: Uint16Array.from([1, 2, 3]),
133
- hex: '46010002000300'
134
- },
135
- {
136
- obj: Uint32Array.from([1, 2, 3]),
137
- hex: '4c010000000200000003000000'
138
- },
139
- {
140
- obj: Int8Array.from([1, 2, -3]),
141
- hex: '430102fd'
142
- },
143
- {
144
- obj: Int16Array.from([1, 2, -3]),
145
- hex: '4601000200fdff'
146
- },
147
- {
148
- obj: Int32Array.from([1, 2, -3]),
149
- hex: '4c0100000002000000fdffffff'
150
- },
151
- {
152
- obj: Float32Array.from([1, 2, -3]),
153
- hex: '4c0000803f00000040000040c0'
154
- },
155
- {
156
- obj: Float64Array.from([1, 2, -3]),
157
- hex: '5818000000000000f03f000000000000004000000000000008c0'
158
- },
159
- {
160
- obj: BigUint64Array.from([BigInt(1), BigInt(2), BigInt(3)]),
161
- hex: '5818010000000000000002000000000000000300000000000000'
162
- },
163
- {
164
- obj: BigInt64Array.from([BigInt(1), BigInt(2), BigInt(-3)]),
165
- hex: '581801000000000000000200000000000000fdffffffffffffff'
166
- },
167
- {
168
- obj: new DataView(Uint8Array.from([1, 2, 3]).buffer),
169
- hex: '43010203'
170
- },
171
- {
172
- obj: Uint8Array.from([1, 2, 3]).buffer,
173
- hex: '43010203'
174
- }
175
- ]
176
-
177
- for (const testCase of cases) {
178
- it(testCase.obj.constructor.name, () => {
179
- assert.equal(toHex(encode(testCase.obj)), testCase.hex)
180
- const decoded = decode(fromHex(testCase.hex))
181
- assert.instanceOf(decoded, Uint8Array)
182
- assert.equal(toHex(decoded), toHex(testCase.obj))
183
- })
184
- }
185
- })
186
-
187
- if (useBuffer) {
188
- describe('buffer', () => {
189
- it('can encode Node.js Buffers', () => {
190
- const obj = global.Buffer.from([1, 2, 3])
191
- assert.equal(toHex(encode(obj)), '43010203')
192
- const decoded = decode(fromHex('43010203'))
193
- assert.instanceOf(decoded, Uint8Array)
194
- assert.equal(toHex(decoded), toHex(obj))
195
- })
196
- })
197
- }
198
- })
@@ -1,136 +0,0 @@
1
- /* eslint-env mocha */
2
-
3
- import * as chai from 'chai'
4
-
5
- import { decode, encode } from '../cborg.js'
6
- import { fromHex, toHex } from '../lib/byte-utils.js'
7
-
8
- const { assert } = chai
9
-
10
- // some from https://github.com/PJK/libcbor
11
-
12
- const fixtures = [
13
- { data: '60', expected: '', type: 'string' },
14
- { data: '6161', expected: 'a', type: 'string' },
15
- { data: '780161', expected: 'a', type: 'string', strict: false },
16
- {
17
- data: '6c48656c6c6f20776f726c6421',
18
- expected: 'Hello world!',
19
- type: 'string'
20
- },
21
- {
22
- data: '6fc48c6175657320c39f76c49b746521',
23
- expected: 'Čaues ßvěte!',
24
- type: 'string'
25
- },
26
- {
27
- data: '78964c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73656374657475722061646970697363696e6720656c69742e20446f6e6563206d692074656c6c75732c20696163756c6973206e656320766573746962756c756d20717569732c206665726d656e74756d206e6f6e2066656c69732e204d616563656e6173207574206a7573746f20706f73756572652e',
28
- expected: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mi tellus, iaculis nec vestibulum quis, fermentum non felis. Maecenas ut justo posuere.',
29
- type: 'string',
30
- label: 'long string, 8-bit length'
31
- },
32
- {
33
- data: '7900964c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73656374657475722061646970697363696e6720656c69742e20446f6e6563206d692074656c6c75732c20696163756c6973206e656320766573746962756c756d20717569732c206665726d656e74756d206e6f6e2066656c69732e204d616563656e6173207574206a7573746f20706f73756572652e',
34
- expected: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mi tellus, iaculis nec vestibulum quis, fermentum non felis. Maecenas ut justo posuere.',
35
- type: 'string',
36
- label: 'long string, 16-bit length',
37
- strict: false
38
- },
39
- {
40
- data: '7a000000964c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73656374657475722061646970697363696e6720656c69742e20446f6e6563206d692074656c6c75732c20696163756c6973206e656320766573746962756c756d20717569732c206665726d656e74756d206e6f6e2066656c69732e204d616563656e6173207574206a7573746f20706f73756572652e',
41
- expected: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mi tellus, iaculis nec vestibulum quis, fermentum non felis. Maecenas ut justo posuere.',
42
- type: 'string',
43
- label: 'long string, 32-bit length',
44
- strict: false
45
- },
46
- {
47
- data: '7b00000000000000964c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73656374657475722061646970697363696e6720656c69742e20446f6e6563206d692074656c6c75732c20696163756c6973206e656320766573746962756c756d20717569732c206665726d656e74756d206e6f6e2066656c69732e204d616563656e6173207574206a7573746f20706f73756572652e',
48
- expected: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mi tellus, iaculis nec vestibulum quis, fermentum non felis. Maecenas ut justo posuere.',
49
- type: 'string',
50
- label: 'long string, 64-bit length',
51
- strict: false
52
- }
53
- ]
54
-
55
- // fill up byte arrays converted to strings so we can validate in strict mode,
56
- // the minimal size for each excluding 64-bit because 4G is just too big
57
- ;(() => {
58
- function rnd (length) {
59
- const sa = []
60
- let l = 0
61
- while (l < length) {
62
- // some unicode character, unless we're near the end and want to fill up exactly so
63
- // we need to pad with ascii
64
- const ascii = (length - l) < 3
65
- const base = ascii ? 32 : 0x1f000
66
- const max = ascii ? 126 : 0x1ff00
67
- const cc = Math.floor(Math.random() * (max - base)) + base
68
- const s = String.fromCharCode(cc)
69
- l += (new TextEncoder().encode(s)).length
70
- sa.push(s)
71
- }
72
- return sa.join('')
73
- }
74
-
75
- const expected16 = rnd(256)
76
- fixtures.push({
77
- data: new Uint8Array([...fromHex('790100'), ...(new TextEncoder().encode(expected16))]),
78
- expected: expected16,
79
- type: 'string',
80
- label: 'long string, 16-bit length strict-compat'
81
- })
82
-
83
- const expected32 = rnd(65536)
84
- fixtures.push({
85
- data: new Uint8Array([...fromHex('7a00010000'), ...(new TextEncoder().encode(expected32))]),
86
- expected: expected32,
87
- type: 'string',
88
- label: 'long string, 32-bit length strict-compat'
89
- })
90
- })()
91
-
92
- describe('string', () => {
93
- describe('decode', () => {
94
- for (const fixture of fixtures) {
95
- const data = fromHex(fixture.data)
96
- it(`should decode ${fixture.type}=${fixture.label || fixture.expected}`, () => {
97
- let actual = decode(data)
98
- assert.strictEqual(actual, fixture.expected, `decode ${fixture.type}`)
99
- if (fixture.strict === false) {
100
- assert.throws(() => decode(data, { strict: true }), Error, 'CBOR decode error: integer encoded in more bytes than necessary (strict decode)')
101
- } else {
102
- actual = decode(data, { strict: true })
103
- assert.strictEqual(actual, fixture.expected, `decode ${fixture.type} strict`)
104
- }
105
- })
106
-
107
- it('should fail to decode very large length', () => {
108
- assert.throws(
109
- () => decode(fromHex('7ba5f702b3a5f702b34c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73656374657475722061646970697363696e6720656c69742e20446f6e6563206d692074656c6c75732c20696163756c6973206e656320766573746962756c756d20717569732c206665726d656e74756d206e6f6e2066656c69732e204d616563656e6173207574206a7573746f20706f73756572652e')),
110
- /CBOR decode error: 64-bit integer string lengths not supported/)
111
- })
112
- }
113
- })
114
-
115
- describe('encode', () => {
116
- for (const fixture of fixtures) {
117
- if (fixture.data.length >= 100000000) {
118
- it.skip(`(TODO) skipping encode of very large string ${fixture.type}=${fixture.label || fixture.expected}`, () => {})
119
- continue
120
- }
121
-
122
- const data = fixture.expected
123
- const expectedHex = toHex(fixture.data)
124
-
125
- it(`should encode ${fixture.type}=${fixture.label || fixture.expected}`, () => {
126
- if (fixture.unsafe) {
127
- assert.throws(() => encode(data), Error, /^CBOR encode error: number too large to encode \(-\d+\)$/)
128
- } else if (fixture.strict === false) {
129
- assert.notStrictEqual(toHex(encode(data)), expectedHex, `encode ${fixture.type} !strict`)
130
- } else {
131
- assert.strictEqual(toHex(encode(data)), expectedHex, `encode ${fixture.type}`)
132
- }
133
- })
134
- }
135
- })
136
- })
@@ -1,93 +0,0 @@
1
- /* eslint-env mocha */
2
-
3
- import * as chai from 'chai'
4
-
5
- import { decode, encode } from '../cborg.js'
6
- import { fromHex, toHex } from '../lib/byte-utils.js'
7
-
8
- const { assert } = chai
9
-
10
- const fixtures = [
11
- { data: '80', expected: [], type: 'array empty' },
12
- { data: '8102', expected: [2], type: 'array 1 compact uint' },
13
- { data: '8118ff', expected: [255], type: 'array 1 uint8' },
14
- { data: '811901f4', expected: [500], type: 'array 1 uint16' },
15
- { data: '811a00010000', expected: [65536], type: 'array 1 uint32' },
16
- { data: '811b00000000000000ff', expected: [255], type: 'array 1 uint64', strict: false },
17
- { data: '811b0016db6db6db6db7', expected: [Number.MAX_SAFE_INTEGER / 1.4], type: 'array 1 uint64' },
18
- { data: '811b001fffffffffffff', expected: [Number.MAX_SAFE_INTEGER], type: 'array 1 uint64' },
19
- { data: '8403040506', expected: [3, 4, 5, 6], type: 'array 4 ints' },
20
- {
21
- data: '8c1b0016db6db6db6db71a000100001901f40200202238ff3aa5f702b33b0016db6db6db6db74261316fc48c6175657320c39f76c49b746521',
22
- expected: [Number.MAX_SAFE_INTEGER / 1.4, 65536, 500, 2, 0, -1, -3, -256, -2784428724, Number.MIN_SAFE_INTEGER / 1.4 - 1, new TextEncoder().encode('a1'), 'Čaues ßvěte!'],
23
- type: 'array mixed terminals',
24
- label: '[]'
25
- },
26
- {
27
- data: '8265617272617982626f66820582666e657374656482666172726179736121',
28
- expected: ['array', ['of', [5, ['nested', ['arrays', '!']]]]],
29
- type: 'array nested'
30
- },
31
- // testing lengths encoded as too-large ints
32
- { data: '980403040506', expected: [3, 4, 5, 6], type: 'array 4 ints, length8', strict: false },
33
- { data: '99000403040506', expected: [3, 4, 5, 6], type: 'array 4 ints, length16', strict: false },
34
- { data: '9a0000000403040506', expected: [3, 4, 5, 6], type: 'array 4 ints, length32', strict: false },
35
- { data: '9b000000000000000403040506', expected: [3, 4, 5, 6], type: 'array 4 ints, length64', strict: false }
36
- ]
37
-
38
- describe('array', () => {
39
- describe('decode', () => {
40
- for (const fixture of fixtures) {
41
- const data = fromHex(fixture.data)
42
- it(`should decode ${fixture.type}=${fixture.label || fixture.expected}`, () => {
43
- assert.deepStrictEqual(decode(data), fixture.expected, `decode ${fixture.type}`)
44
- if (fixture.strict === false) {
45
- assert.throws(() => decode(data, { strict: true }), Error, 'CBOR decode error: integer encoded in more bytes than necessary (strict decode)')
46
- } else {
47
- assert.deepStrictEqual(decode(data, { strict: true }), fixture.expected, `decode ${fixture.type}`)
48
- }
49
- })
50
-
51
- it('should fail to decode very large length', () => {
52
- assert.throws(
53
- () => decode(fromHex('9ba5f702b3a5f7020403040506')),
54
- /CBOR decode error: 64-bit integer array lengths not supported/)
55
- })
56
- }
57
- })
58
-
59
- describe('encode', () => {
60
- for (const fixture of fixtures) {
61
- it(`should encode ${fixture.type}=${fixture.label || fixture.expected}`, () => {
62
- if (fixture.unsafe) {
63
- assert.throws(encode.bind(null, fixture.expected), Error, /^CBOR encode error: number too large to encode \(\d+\)$/)
64
- } else if (fixture.strict === false) {
65
- assert.notDeepEqual(toHex(encode(fixture.expected)), fixture.data, `encode ${fixture.type} !strict`)
66
- } else {
67
- assert.strictEqual(toHex(encode(fixture.expected)), fixture.data, `encode ${fixture.type}`)
68
- }
69
- })
70
- }
71
- })
72
-
73
- // mostly unnecessary, but feels good
74
- describe('roundtrip', () => {
75
- for (const fixture of fixtures) {
76
- if (!fixture.unsafe && fixture.strict !== false) {
77
- it(`should roundtrip ${fixture.type}=${fixture.label || fixture.expected}`, () => {
78
- assert.deepStrictEqual(decode(encode(fixture.expected)), fixture.expected, `roundtrip ${fixture.type}`)
79
- })
80
- }
81
- }
82
- })
83
-
84
- describe('specials', () => {
85
- it('can decode indefinite length items', () => {
86
- assert.deepStrictEqual(decode(fromHex('9f616f6174ff')), ['o', 't'])
87
- })
88
-
89
- it('can switch off indefinite length support', () => {
90
- assert.throws(() => decode(fromHex('9f616f6174ff'), { allowIndefinite: false }), /indefinite/)
91
- })
92
- })
93
- })