@fireproof/vendor 0.0.0-smoke → 0.0.2-dev-test

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 (489) hide show
  1. package/merge-package.ts +207 -0
  2. package/p-limit/index.d.ts +81 -0
  3. package/p-limit/index.js +104 -0
  4. package/p-limit/index.test-d.ts +19 -0
  5. package/p-limit/license +9 -0
  6. package/p-limit/package.json +59 -0
  7. package/p-limit/readme.md +128 -0
  8. package/p-limit/test.js +241 -0
  9. package/package.json +12 -9
  10. package/to-esm-transform.ts +42 -0
  11. package/patched/@ipld/dag-json/.github/dependabot.yml +0 -11
  12. package/patched/@ipld/dag-json/.github/workflows/js-test-and-release.yml +0 -28
  13. package/patched/@ipld/dag-json/CHANGELOG.md +0 -202
  14. package/patched/@ipld/dag-json/LICENSE +0 -4
  15. package/patched/@ipld/dag-json/LICENSE-APACHE +0 -5
  16. package/patched/@ipld/dag-json/LICENSE-MIT +0 -19
  17. package/patched/@ipld/dag-json/README.md +0 -58
  18. package/patched/@ipld/dag-json/ipld-dag-json-10.2.3.tgz +0 -0
  19. package/patched/@ipld/dag-json/package.json +0 -173
  20. package/patched/@ipld/dag-json/src/index.js +0 -291
  21. package/patched/@ipld/dag-json/test/test-basics.spec.js +0 -290
  22. package/patched/@ipld/dag-json/test/ts-use/package.json +0 -11
  23. package/patched/@ipld/dag-json/test/ts-use/src/main.ts +0 -54
  24. package/patched/@ipld/dag-json/test/ts-use/tsconfig.json +0 -9
  25. package/patched/@ipld/dag-json/tsconfig.json +0 -14
  26. package/patched/cborg/.github/dependabot.yml +0 -16
  27. package/patched/cborg/.github/workflows/test-and-release.yml +0 -52
  28. package/patched/cborg/CHANGELOG.md +0 -513
  29. package/patched/cborg/LICENSE +0 -13
  30. package/patched/cborg/README.md +0 -515
  31. package/patched/cborg/bench/bench.js +0 -117
  32. package/patched/cborg/bench/json.js +0 -124
  33. package/patched/cborg/bench/package.json +0 -8
  34. package/patched/cborg/cborg-4.2.7.tgz +0 -0
  35. package/patched/cborg/cborg.js +0 -31
  36. package/patched/cborg/example-bytestrings.js +0 -180
  37. package/patched/cborg/example-json.js +0 -6
  38. package/patched/cborg/example.js +0 -5
  39. package/patched/cborg/interface.ts +0 -56
  40. package/patched/cborg/lib/0uint.js +0 -227
  41. package/patched/cborg/lib/1negint.js +0 -111
  42. package/patched/cborg/lib/2bytes.js +0 -133
  43. package/patched/cborg/lib/3string.js +0 -90
  44. package/patched/cborg/lib/4array.js +0 -113
  45. package/patched/cborg/lib/5map.js +0 -113
  46. package/patched/cborg/lib/6tag.js +0 -80
  47. package/patched/cborg/lib/7float.js +0 -308
  48. package/patched/cborg/lib/bin.js +0 -189
  49. package/patched/cborg/lib/bl.js +0 -124
  50. package/patched/cborg/lib/byte-utils.js +0 -417
  51. package/patched/cborg/lib/common.js +0 -27
  52. package/patched/cborg/lib/decode.js +0 -209
  53. package/patched/cborg/lib/diagnostic.js +0 -156
  54. package/patched/cborg/lib/diagnostic_test.js +0 -117
  55. package/patched/cborg/lib/encode.js +0 -464
  56. package/patched/cborg/lib/is.js +0 -106
  57. package/patched/cborg/lib/json/decode.js +0 -462
  58. package/patched/cborg/lib/json/encode.js +0 -299
  59. package/patched/cborg/lib/json/json.js +0 -4
  60. package/patched/cborg/lib/jump.js +0 -209
  61. package/patched/cborg/lib/length.js +0 -61
  62. package/patched/cborg/lib/token.js +0 -76
  63. package/patched/cborg/package.json +0 -169
  64. package/patched/cborg/pnpm-lock.yaml +0 -6096
  65. package/patched/cborg/taglib.js +0 -73
  66. package/patched/cborg/test/appendix_a.js +0 -647
  67. package/patched/cborg/test/common.js +0 -18
  68. package/patched/cborg/test/node-test-bin.js +0 -402
  69. package/patched/cborg/test/noop-bin-test.js +0 -3
  70. package/patched/cborg/test/test-0uint.js +0 -103
  71. package/patched/cborg/test/test-1negint.js +0 -96
  72. package/patched/cborg/test/test-2bytes.js +0 -198
  73. package/patched/cborg/test/test-3string.js +0 -136
  74. package/patched/cborg/test/test-4array.js +0 -93
  75. package/patched/cborg/test/test-5map.js +0 -284
  76. package/patched/cborg/test/test-6tag.js +0 -85
  77. package/patched/cborg/test/test-7float.js +0 -131
  78. package/patched/cborg/test/test-bl.js +0 -37
  79. package/patched/cborg/test/test-cbor-vectors.js +0 -107
  80. package/patched/cborg/test/test-decode-errors.js +0 -65
  81. package/patched/cborg/test/test-fuzz.js +0 -42
  82. package/patched/cborg/test/test-json.js +0 -219
  83. package/patched/cborg/test/test-length.js +0 -65
  84. package/patched/cborg/test/test-partial.js +0 -111
  85. package/patched/cborg/tsconfig.json +0 -45
  86. package/patched/cborg/types/cborg.d.ts +0 -28
  87. package/patched/cborg/types/cborg.d.ts.map +0 -1
  88. package/patched/cborg/types/example.d.ts +0 -2
  89. package/patched/cborg/types/example.d.ts.map +0 -1
  90. package/patched/cborg/types/interface.d.ts +0 -47
  91. package/patched/cborg/types/interface.d.ts.map +0 -1
  92. package/patched/cborg/types/lib/0uint.d.ts +0 -100
  93. package/patched/cborg/types/lib/0uint.d.ts.map +0 -1
  94. package/patched/cborg/types/lib/1negint.d.ts +0 -58
  95. package/patched/cborg/types/lib/1negint.d.ts.map +0 -1
  96. package/patched/cborg/types/lib/2bytes.d.ts +0 -68
  97. package/patched/cborg/types/lib/2bytes.d.ts.map +0 -1
  98. package/patched/cborg/types/lib/3string.d.ts +0 -46
  99. package/patched/cborg/types/lib/3string.d.ts.map +0 -1
  100. package/patched/cborg/types/lib/4array.d.ts +0 -65
  101. package/patched/cborg/types/lib/4array.d.ts.map +0 -1
  102. package/patched/cborg/types/lib/5map.d.ts +0 -65
  103. package/patched/cborg/types/lib/5map.d.ts.map +0 -1
  104. package/patched/cborg/types/lib/6tag.d.ts +0 -61
  105. package/patched/cborg/types/lib/6tag.d.ts.map +0 -1
  106. package/patched/cborg/types/lib/7float.d.ts +0 -60
  107. package/patched/cborg/types/lib/7float.d.ts.map +0 -1
  108. package/patched/cborg/types/lib/bin.d.ts +0 -4
  109. package/patched/cborg/types/lib/bin.d.ts.map +0 -1
  110. package/patched/cborg/types/lib/bl.d.ts +0 -26
  111. package/patched/cborg/types/lib/bl.d.ts.map +0 -1
  112. package/patched/cborg/types/lib/byte-utils.d.ts +0 -53
  113. package/patched/cborg/types/lib/byte-utils.d.ts.map +0 -1
  114. package/patched/cborg/types/lib/common.d.ts +0 -10
  115. package/patched/cborg/types/lib/common.d.ts.map +0 -1
  116. package/patched/cborg/types/lib/decode.d.ts +0 -41
  117. package/patched/cborg/types/lib/decode.d.ts.map +0 -1
  118. package/patched/cborg/types/lib/diagnostic.d.ts +0 -12
  119. package/patched/cborg/types/lib/diagnostic.d.ts.map +0 -1
  120. package/patched/cborg/types/lib/diagnostic_test.d.ts +0 -2
  121. package/patched/cborg/types/lib/diagnostic_test.d.ts.map +0 -1
  122. package/patched/cborg/types/lib/encode.d.ts +0 -50
  123. package/patched/cborg/types/lib/encode.d.ts.map +0 -1
  124. package/patched/cborg/types/lib/is.d.ts +0 -6
  125. package/patched/cborg/types/lib/is.d.ts.map +0 -1
  126. package/patched/cborg/types/lib/json/decode.d.ts +0 -67
  127. package/patched/cborg/types/lib/json/decode.d.ts.map +0 -1
  128. package/patched/cborg/types/lib/json/encode.d.ts +0 -11
  129. package/patched/cborg/types/lib/json/encode.d.ts.map +0 -1
  130. package/patched/cborg/types/lib/json/forward-cborg.d.ts +0 -6
  131. package/patched/cborg/types/lib/json/forward-cborg.d.ts.map +0 -1
  132. package/patched/cborg/types/lib/json/json.d.ts +0 -6
  133. package/patched/cborg/types/lib/json/json.d.ts.map +0 -1
  134. package/patched/cborg/types/lib/jump.d.ts +0 -12
  135. package/patched/cborg/types/lib/jump.d.ts.map +0 -1
  136. package/patched/cborg/types/lib/length.d.ts +0 -27
  137. package/patched/cborg/types/lib/length.d.ts.map +0 -1
  138. package/patched/cborg/types/lib/token.d.ts +0 -59
  139. package/patched/cborg/types/lib/token.d.ts.map +0 -1
  140. package/patched/cborg/types/taglib.d.ts +0 -18
  141. package/patched/cborg/types/taglib.d.ts.map +0 -1
  142. package/patched/cborg/types/tsconfig.tsbuildinfo +0 -1
  143. package/src/@ipld/car/car/LICENSE +0 -4
  144. package/src/@ipld/car/car/README.md +0 -1078
  145. package/src/@ipld/car/car/dist/index.min.js +0 -5
  146. package/src/@ipld/car/car/dist/src/api.d.ts +0 -72
  147. package/src/@ipld/car/car/dist/src/api.d.ts.map +0 -1
  148. package/src/@ipld/car/car/dist/src/buffer-decoder.d.ts +0 -67
  149. package/src/@ipld/car/car/dist/src/buffer-decoder.d.ts.map +0 -1
  150. package/src/@ipld/car/car/dist/src/buffer-reader-browser.d.ts +0 -116
  151. package/src/@ipld/car/car/dist/src/buffer-reader-browser.d.ts.map +0 -1
  152. package/src/@ipld/car/car/dist/src/buffer-reader.d.ts +0 -31
  153. package/src/@ipld/car/car/dist/src/buffer-reader.d.ts.map +0 -1
  154. package/src/@ipld/car/car/dist/src/buffer-writer.d.ts +0 -86
  155. package/src/@ipld/car/car/dist/src/buffer-writer.d.ts.map +0 -1
  156. package/src/@ipld/car/car/dist/src/coding.d.ts +0 -49
  157. package/src/@ipld/car/car/dist/src/coding.d.ts.map +0 -1
  158. package/src/@ipld/car/car/dist/src/decoder-common.d.ts +0 -43
  159. package/src/@ipld/car/car/dist/src/decoder-common.d.ts.map +0 -1
  160. package/src/@ipld/car/car/dist/src/decoder.d.ts +0 -87
  161. package/src/@ipld/car/car/dist/src/decoder.d.ts.map +0 -1
  162. package/src/@ipld/car/car/dist/src/encoder.d.ts +0 -17
  163. package/src/@ipld/car/car/dist/src/encoder.d.ts.map +0 -1
  164. package/src/@ipld/car/car/dist/src/header-validator.d.ts +0 -5
  165. package/src/@ipld/car/car/dist/src/header-validator.d.ts.map +0 -1
  166. package/src/@ipld/car/car/dist/src/index-browser.d.ts +0 -10
  167. package/src/@ipld/car/car/dist/src/index-browser.d.ts.map +0 -1
  168. package/src/@ipld/car/car/dist/src/index.d.ts +0 -11
  169. package/src/@ipld/car/car/dist/src/index.d.ts.map +0 -1
  170. package/src/@ipld/car/car/dist/src/indexed-reader-browser.d.ts +0 -5
  171. package/src/@ipld/car/car/dist/src/indexed-reader-browser.d.ts.map +0 -1
  172. package/src/@ipld/car/car/dist/src/indexed-reader.d.ts +0 -152
  173. package/src/@ipld/car/car/dist/src/indexed-reader.d.ts.map +0 -1
  174. package/src/@ipld/car/car/dist/src/indexer.d.ts +0 -95
  175. package/src/@ipld/car/car/dist/src/indexer.d.ts.map +0 -1
  176. package/src/@ipld/car/car/dist/src/iterator-channel.d.ts +0 -7
  177. package/src/@ipld/car/car/dist/src/iterator-channel.d.ts.map +0 -1
  178. package/src/@ipld/car/car/dist/src/iterator.d.ts +0 -174
  179. package/src/@ipld/car/car/dist/src/iterator.d.ts.map +0 -1
  180. package/src/@ipld/car/car/dist/src/reader-browser.d.ts +0 -151
  181. package/src/@ipld/car/car/dist/src/reader-browser.d.ts.map +0 -1
  182. package/src/@ipld/car/car/dist/src/reader.d.ts +0 -35
  183. package/src/@ipld/car/car/dist/src/reader.d.ts.map +0 -1
  184. package/src/@ipld/car/car/dist/src/writer-browser.d.ts +0 -155
  185. package/src/@ipld/car/car/dist/src/writer-browser.d.ts.map +0 -1
  186. package/src/@ipld/car/car/dist/src/writer.d.ts +0 -45
  187. package/src/@ipld/car/car/dist/src/writer.d.ts.map +0 -1
  188. package/src/@ipld/car/car/node_modules/.bin/cborg +0 -17
  189. package/src/@ipld/car/car/package.json +0 -235
  190. package/src/@ipld/car/car/src/api.ts +0 -90
  191. package/src/@ipld/car/car/src/buffer-decoder.js +0 -213
  192. package/src/@ipld/car/car/src/buffer-reader-browser.js +0 -144
  193. package/src/@ipld/car/car/src/buffer-reader.js +0 -51
  194. package/src/@ipld/car/car/src/buffer-writer.js +0 -286
  195. package/src/@ipld/car/car/src/coding.ts +0 -68
  196. package/src/@ipld/car/car/src/decoder-common.js +0 -82
  197. package/src/@ipld/car/car/src/decoder.js +0 -347
  198. package/src/@ipld/car/car/src/encoder.js +0 -76
  199. package/src/@ipld/car/car/src/header-validator.js +0 -214
  200. package/src/@ipld/car/car/src/header.ipldsch +0 -18
  201. package/src/@ipld/car/car/src/index-browser.js +0 -18
  202. package/src/@ipld/car/car/src/index.js +0 -21
  203. package/src/@ipld/car/car/src/indexed-reader-browser.js +0 -7
  204. package/src/@ipld/car/car/src/indexed-reader.js +0 -211
  205. package/src/@ipld/car/car/src/indexer.js +0 -130
  206. package/src/@ipld/car/car/src/iterator-channel.js +0 -91
  207. package/src/@ipld/car/car/src/iterator.js +0 -267
  208. package/src/@ipld/car/car/src/reader-browser.js +0 -194
  209. package/src/@ipld/car/car/src/reader.js +0 -56
  210. package/src/@ipld/car/car/src/writer-browser.js +0 -250
  211. package/src/@ipld/car/car/src/writer.js +0 -84
  212. package/src/@ipld/dag-cbor/dag-cbor/LICENSE +0 -4
  213. package/src/@ipld/dag-cbor/dag-cbor/README.md +0 -80
  214. package/src/@ipld/dag-cbor/dag-cbor/dist/index.min.js +0 -3
  215. package/src/@ipld/dag-cbor/dag-cbor/dist/src/index.d.ts +0 -67
  216. package/src/@ipld/dag-cbor/dag-cbor/dist/src/index.d.ts.map +0 -1
  217. package/src/@ipld/dag-cbor/dag-cbor/node_modules/.bin/cborg +0 -17
  218. package/src/@ipld/dag-cbor/dag-cbor/package.json +0 -171
  219. package/src/@ipld/dag-cbor/dag-cbor/src/index.js +0 -147
  220. package/src/@ipld/dag-json/dag-json/LICENSE +0 -4
  221. package/src/@ipld/dag-json/dag-json/README.md +0 -58
  222. package/src/@ipld/dag-json/dag-json/dist/index.min.js +0 -3
  223. package/src/@ipld/dag-json/dag-json/dist/src/index.d.ts +0 -12
  224. package/src/@ipld/dag-json/dag-json/dist/src/index.d.ts.map +0 -1
  225. package/src/@ipld/dag-json/dag-json/node_modules/.bin/cborg +0 -17
  226. package/src/@ipld/dag-json/dag-json/package.json +0 -173
  227. package/src/@ipld/dag-json/dag-json/src/index.js +0 -291
  228. package/src/@web3-storage/pail/pail/LICENSE.md +0 -232
  229. package/src/@web3-storage/pail/pail/README.md +0 -84
  230. package/src/@web3-storage/pail/pail/cli.js +0 -218
  231. package/src/@web3-storage/pail/pail/dist/src/api.d.ts +0 -59
  232. package/src/@web3-storage/pail/pail/dist/src/api.d.ts.map +0 -1
  233. package/src/@web3-storage/pail/pail/dist/src/batch/api.d.ts +0 -31
  234. package/src/@web3-storage/pail/pail/dist/src/batch/api.d.ts.map +0 -1
  235. package/src/@web3-storage/pail/pail/dist/src/batch/index.d.ts +0 -75
  236. package/src/@web3-storage/pail/pail/dist/src/batch/index.d.ts.map +0 -1
  237. package/src/@web3-storage/pail/pail/dist/src/batch/shard.d.ts +0 -3
  238. package/src/@web3-storage/pail/pail/dist/src/batch/shard.d.ts.map +0 -1
  239. package/src/@web3-storage/pail/pail/dist/src/block.d.ts +0 -35
  240. package/src/@web3-storage/pail/pail/dist/src/block.d.ts.map +0 -1
  241. package/src/@web3-storage/pail/pail/dist/src/clock/api.d.ts +0 -10
  242. package/src/@web3-storage/pail/pail/dist/src/clock/api.d.ts.map +0 -1
  243. package/src/@web3-storage/pail/pail/dist/src/clock/index.d.ts +0 -48
  244. package/src/@web3-storage/pail/pail/dist/src/clock/index.d.ts.map +0 -1
  245. package/src/@web3-storage/pail/pail/dist/src/crdt/api.d.ts +0 -26
  246. package/src/@web3-storage/pail/pail/dist/src/crdt/api.d.ts.map +0 -1
  247. package/src/@web3-storage/pail/pail/dist/src/crdt/batch/api.d.ts +0 -11
  248. package/src/@web3-storage/pail/pail/dist/src/crdt/batch/api.d.ts.map +0 -1
  249. package/src/@web3-storage/pail/pail/dist/src/crdt/batch/index.d.ts +0 -5
  250. package/src/@web3-storage/pail/pail/dist/src/crdt/batch/index.d.ts.map +0 -1
  251. package/src/@web3-storage/pail/pail/dist/src/crdt/index.d.ts +0 -9
  252. package/src/@web3-storage/pail/pail/dist/src/crdt/index.d.ts.map +0 -1
  253. package/src/@web3-storage/pail/pail/dist/src/diff.d.ts +0 -13
  254. package/src/@web3-storage/pail/pail/dist/src/diff.d.ts.map +0 -1
  255. package/src/@web3-storage/pail/pail/dist/src/index.d.ts +0 -10
  256. package/src/@web3-storage/pail/pail/dist/src/index.d.ts.map +0 -1
  257. package/src/@web3-storage/pail/pail/dist/src/merge.d.ts +0 -5
  258. package/src/@web3-storage/pail/pail/dist/src/merge.d.ts.map +0 -1
  259. package/src/@web3-storage/pail/pail/dist/src/shard.d.ts +0 -43
  260. package/src/@web3-storage/pail/pail/dist/src/shard.d.ts.map +0 -1
  261. package/src/@web3-storage/pail/pail/dist/tsconfig.tsbuildinfo +0 -1
  262. package/src/@web3-storage/pail/pail/node_modules/.bin/pail +0 -17
  263. package/src/@web3-storage/pail/pail/package.json +0 -173
  264. package/src/@web3-storage/pail/pail/src/api.js +0 -1
  265. package/src/@web3-storage/pail/pail/src/api.ts +0 -90
  266. package/src/@web3-storage/pail/pail/src/batch/api.js +0 -1
  267. package/src/@web3-storage/pail/pail/src/batch/api.ts +0 -59
  268. package/src/@web3-storage/pail/pail/src/batch/index.js +0 -258
  269. package/src/@web3-storage/pail/pail/src/batch/shard.js +0 -13
  270. package/src/@web3-storage/pail/pail/src/block.js +0 -75
  271. package/src/@web3-storage/pail/pail/src/clock/api.js +0 -1
  272. package/src/@web3-storage/pail/pail/src/clock/api.ts +0 -12
  273. package/src/@web3-storage/pail/pail/src/clock/index.js +0 -182
  274. package/src/@web3-storage/pail/pail/src/crdt/api.js +0 -1
  275. package/src/@web3-storage/pail/pail/src/crdt/api.ts +0 -33
  276. package/src/@web3-storage/pail/pail/src/crdt/batch/api.js +0 -1
  277. package/src/@web3-storage/pail/pail/src/crdt/batch/api.ts +0 -30
  278. package/src/@web3-storage/pail/pail/src/crdt/batch/index.js +0 -155
  279. package/src/@web3-storage/pail/pail/src/crdt/index.js +0 -354
  280. package/src/@web3-storage/pail/pail/src/diff.js +0 -151
  281. package/src/@web3-storage/pail/pail/src/index.js +0 -406
  282. package/src/@web3-storage/pail/pail/src/merge.js +0 -43
  283. package/src/@web3-storage/pail/pail/src/shard.js +0 -180
  284. package/src/cborg/cborg/.github/dependabot.yml +0 -16
  285. package/src/cborg/cborg/.github/workflows/test-and-release.yml +0 -52
  286. package/src/cborg/cborg/CHANGELOG.md +0 -513
  287. package/src/cborg/cborg/LICENSE +0 -13
  288. package/src/cborg/cborg/README.md +0 -515
  289. package/src/cborg/cborg/bench/bench.js +0 -117
  290. package/src/cborg/cborg/bench/json.js +0 -124
  291. package/src/cborg/cborg/bench/package.json +0 -8
  292. package/src/cborg/cborg/cborg.js +0 -31
  293. package/src/cborg/cborg/example-bytestrings.js +0 -180
  294. package/src/cborg/cborg/example-json.js +0 -6
  295. package/src/cborg/cborg/example.js +0 -5
  296. package/src/cborg/cborg/interface.ts +0 -56
  297. package/src/cborg/cborg/lib/0uint.js +0 -227
  298. package/src/cborg/cborg/lib/1negint.js +0 -111
  299. package/src/cborg/cborg/lib/2bytes.js +0 -133
  300. package/src/cborg/cborg/lib/3string.js +0 -90
  301. package/src/cborg/cborg/lib/4array.js +0 -113
  302. package/src/cborg/cborg/lib/5map.js +0 -113
  303. package/src/cborg/cborg/lib/6tag.js +0 -80
  304. package/src/cborg/cborg/lib/7float.js +0 -308
  305. package/src/cborg/cborg/lib/bin.js +0 -189
  306. package/src/cborg/cborg/lib/bl.js +0 -124
  307. package/src/cborg/cborg/lib/byte-utils.js +0 -417
  308. package/src/cborg/cborg/lib/common.js +0 -27
  309. package/src/cborg/cborg/lib/decode.js +0 -209
  310. package/src/cborg/cborg/lib/diagnostic.js +0 -156
  311. package/src/cborg/cborg/lib/diagnostic_test.js +0 -117
  312. package/src/cborg/cborg/lib/encode.js +0 -464
  313. package/src/cborg/cborg/lib/is.js +0 -106
  314. package/src/cborg/cborg/lib/json/decode.js +0 -462
  315. package/src/cborg/cborg/lib/json/encode.js +0 -299
  316. package/src/cborg/cborg/lib/json/json.js +0 -4
  317. package/src/cborg/cborg/lib/jump.js +0 -209
  318. package/src/cborg/cborg/lib/length.js +0 -61
  319. package/src/cborg/cborg/lib/token.js +0 -76
  320. package/src/cborg/cborg/node_modules/.bin/cborg +0 -17
  321. package/src/cborg/cborg/package.json +0 -168
  322. package/src/cborg/cborg/taglib.js +0 -73
  323. package/src/cborg/cborg/test/appendix_a.js +0 -647
  324. package/src/cborg/cborg/test/common.js +0 -18
  325. package/src/cborg/cborg/test/node-test-bin.js +0 -402
  326. package/src/cborg/cborg/test/noop-bin-test.js +0 -3
  327. package/src/cborg/cborg/test/test-0uint.js +0 -103
  328. package/src/cborg/cborg/test/test-1negint.js +0 -96
  329. package/src/cborg/cborg/test/test-2bytes.js +0 -198
  330. package/src/cborg/cborg/test/test-3string.js +0 -136
  331. package/src/cborg/cborg/test/test-4array.js +0 -93
  332. package/src/cborg/cborg/test/test-5map.js +0 -284
  333. package/src/cborg/cborg/test/test-6tag.js +0 -85
  334. package/src/cborg/cborg/test/test-7float.js +0 -131
  335. package/src/cborg/cborg/test/test-bl.js +0 -37
  336. package/src/cborg/cborg/test/test-cbor-vectors.js +0 -107
  337. package/src/cborg/cborg/test/test-decode-errors.js +0 -65
  338. package/src/cborg/cborg/test/test-fuzz.js +0 -42
  339. package/src/cborg/cborg/test/test-json.js +0 -219
  340. package/src/cborg/cborg/test/test-length.js +0 -65
  341. package/src/cborg/cborg/test/test-partial.js +0 -111
  342. package/src/cborg/cborg/tsconfig.json +0 -45
  343. package/src/cborg/cborg/types/cborg.d.ts +0 -28
  344. package/src/cborg/cborg/types/cborg.d.ts.map +0 -1
  345. package/src/cborg/cborg/types/example.d.ts +0 -2
  346. package/src/cborg/cborg/types/example.d.ts.map +0 -1
  347. package/src/cborg/cborg/types/interface.d.ts +0 -47
  348. package/src/cborg/cborg/types/interface.d.ts.map +0 -1
  349. package/src/cborg/cborg/types/lib/0uint.d.ts +0 -100
  350. package/src/cborg/cborg/types/lib/0uint.d.ts.map +0 -1
  351. package/src/cborg/cborg/types/lib/1negint.d.ts +0 -58
  352. package/src/cborg/cborg/types/lib/1negint.d.ts.map +0 -1
  353. package/src/cborg/cborg/types/lib/2bytes.d.ts +0 -68
  354. package/src/cborg/cborg/types/lib/2bytes.d.ts.map +0 -1
  355. package/src/cborg/cborg/types/lib/3string.d.ts +0 -46
  356. package/src/cborg/cborg/types/lib/3string.d.ts.map +0 -1
  357. package/src/cborg/cborg/types/lib/4array.d.ts +0 -65
  358. package/src/cborg/cborg/types/lib/4array.d.ts.map +0 -1
  359. package/src/cborg/cborg/types/lib/5map.d.ts +0 -65
  360. package/src/cborg/cborg/types/lib/5map.d.ts.map +0 -1
  361. package/src/cborg/cborg/types/lib/6tag.d.ts +0 -61
  362. package/src/cborg/cborg/types/lib/6tag.d.ts.map +0 -1
  363. package/src/cborg/cborg/types/lib/7float.d.ts +0 -60
  364. package/src/cborg/cborg/types/lib/7float.d.ts.map +0 -1
  365. package/src/cborg/cborg/types/lib/bin.d.ts +0 -4
  366. package/src/cborg/cborg/types/lib/bin.d.ts.map +0 -1
  367. package/src/cborg/cborg/types/lib/bl.d.ts +0 -26
  368. package/src/cborg/cborg/types/lib/bl.d.ts.map +0 -1
  369. package/src/cborg/cborg/types/lib/byte-utils.d.ts +0 -53
  370. package/src/cborg/cborg/types/lib/byte-utils.d.ts.map +0 -1
  371. package/src/cborg/cborg/types/lib/common.d.ts +0 -10
  372. package/src/cborg/cborg/types/lib/common.d.ts.map +0 -1
  373. package/src/cborg/cborg/types/lib/decode.d.ts +0 -41
  374. package/src/cborg/cborg/types/lib/decode.d.ts.map +0 -1
  375. package/src/cborg/cborg/types/lib/diagnostic.d.ts +0 -12
  376. package/src/cborg/cborg/types/lib/diagnostic.d.ts.map +0 -1
  377. package/src/cborg/cborg/types/lib/diagnostic_test.d.ts +0 -2
  378. package/src/cborg/cborg/types/lib/diagnostic_test.d.ts.map +0 -1
  379. package/src/cborg/cborg/types/lib/encode.d.ts +0 -50
  380. package/src/cborg/cborg/types/lib/encode.d.ts.map +0 -1
  381. package/src/cborg/cborg/types/lib/is.d.ts +0 -6
  382. package/src/cborg/cborg/types/lib/is.d.ts.map +0 -1
  383. package/src/cborg/cborg/types/lib/json/decode.d.ts +0 -67
  384. package/src/cborg/cborg/types/lib/json/decode.d.ts.map +0 -1
  385. package/src/cborg/cborg/types/lib/json/encode.d.ts +0 -11
  386. package/src/cborg/cborg/types/lib/json/encode.d.ts.map +0 -1
  387. package/src/cborg/cborg/types/lib/json/forward-cborg.d.ts +0 -6
  388. package/src/cborg/cborg/types/lib/json/forward-cborg.d.ts.map +0 -1
  389. package/src/cborg/cborg/types/lib/json/json.d.ts +0 -6
  390. package/src/cborg/cborg/types/lib/json/json.d.ts.map +0 -1
  391. package/src/cborg/cborg/types/lib/jump.d.ts +0 -12
  392. package/src/cborg/cborg/types/lib/jump.d.ts.map +0 -1
  393. package/src/cborg/cborg/types/lib/length.d.ts +0 -27
  394. package/src/cborg/cborg/types/lib/length.d.ts.map +0 -1
  395. package/src/cborg/cborg/types/lib/token.d.ts +0 -59
  396. package/src/cborg/cborg/types/lib/token.d.ts.map +0 -1
  397. package/src/cborg/cborg/types/taglib.d.ts +0 -18
  398. package/src/cborg/cborg/types/taglib.d.ts.map +0 -1
  399. package/src/cborg/cborg/types/tsconfig.tsbuildinfo +0 -1
  400. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/LICENSE +0 -4
  401. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/README.md +0 -105
  402. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/index.min.js +0 -3
  403. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/errors.d.ts +0 -57
  404. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/errors.d.ts.map +0 -1
  405. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/errors.js +0 -73
  406. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/errors.js.map +0 -1
  407. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/index.d.ts +0 -355
  408. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/index.d.ts.map +0 -1
  409. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/index.js +0 -197
  410. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/index.js.map +0 -1
  411. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts +0 -4
  412. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.d.ts.map +0 -1
  413. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js +0 -9
  414. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-cbor.js.map +0 -1
  415. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts +0 -4
  416. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.d.ts.map +0 -1
  417. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js +0 -9
  418. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/dag-json.js.map +0 -1
  419. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts +0 -4
  420. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/identity.d.ts.map +0 -1
  421. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/identity.js +0 -38
  422. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/identity.js.map +0 -1
  423. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts +0 -4
  424. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/index.d.ts.map +0 -1
  425. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/index.js +0 -30
  426. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/index.js.map +0 -1
  427. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts +0 -4
  428. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/json.d.ts.map +0 -1
  429. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/json.js +0 -9
  430. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/json.js.map +0 -1
  431. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts +0 -4
  432. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/raw.d.ts.map +0 -1
  433. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/raw.js +0 -37
  434. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/raw.js.map +0 -1
  435. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts +0 -4
  436. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.d.ts.map +0 -1
  437. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js +0 -29
  438. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/directory.js.map +0 -1
  439. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts +0 -4
  440. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.d.ts.map +0 -1
  441. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js +0 -153
  442. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/file.js.map +0 -1
  443. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts +0 -4
  444. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.d.ts.map +0 -1
  445. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js +0 -59
  446. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/hamt-sharded-directory.js.map +0 -1
  447. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts +0 -4
  448. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.d.ts.map +0 -1
  449. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js +0 -25
  450. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/content/raw.js.map +0 -1
  451. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts +0 -4
  452. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.d.ts.map +0 -1
  453. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js +0 -104
  454. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/resolvers/unixfs-v1/index.js.map +0 -1
  455. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts +0 -3
  456. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.d.ts.map +0 -1
  457. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js +0 -20
  458. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/extract-data-from-block.js.map +0 -1
  459. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts +0 -6
  460. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.d.ts.map +0 -1
  461. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js +0 -116
  462. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/find-cid-in-shard.js.map +0 -1
  463. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts +0 -4
  464. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.d.ts.map +0 -1
  465. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js +0 -57
  466. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/resolve-object-path.js.map +0 -1
  467. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts +0 -6
  468. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.d.ts.map +0 -1
  469. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js +0 -30
  470. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/src/utils/validate-offset-and-length.js.map +0 -1
  471. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/dist/typedoc-urls.json +0 -58
  472. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/package.json +0 -180
  473. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/errors.ts +0 -87
  474. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/index.ts +0 -498
  475. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/dag-cbor.ts +0 -12
  476. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/dag-json.ts +0 -12
  477. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/identity.ts +0 -49
  478. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/index.ts +0 -35
  479. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/json.ts +0 -12
  480. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/raw.ts +0 -49
  481. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/directory.ts +0 -39
  482. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/file.ts +0 -198
  483. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/hamt-sharded-directory.ts +0 -76
  484. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/content/raw.ts +0 -37
  485. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/resolvers/unixfs-v1/index.ts +0 -121
  486. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/utils/extract-data-from-block.ts +0 -24
  487. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/utils/find-cid-in-shard.ts +0 -149
  488. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/utils/resolve-object-path.ts +0 -62
  489. package/src/ipfs-unixfs-exporter/ipfs-unixfs-exporter/src/utils/validate-offset-and-length.ts +0 -38
@@ -1,284 +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
- // TODO: reject duplicate keys from encoded form
11
-
12
- const fixtures = [
13
- { data: 'a0', expected: {}, type: 'map empty' },
14
- { data: 'a0', expected: new Map(), type: 'map empty (useMaps)', useMaps: true },
15
- { data: 'a1616101', expected: { a: 1 }, type: 'map 1 pair' },
16
- { data: 'a161316161', expected: { 1: 'a' }, type: 'map 1 pair (rev)' },
17
- {
18
- data: 'a1016161',
19
- expected: toMap([[1, 'a']]),
20
- type: 'map 1 pair (int key as Map w/ useMaps)',
21
- useMaps: true
22
- },
23
- {
24
- data: 'a243010203633132334302030463323334',
25
- expected: toMap([[Uint8Array.from([1, 2, 3]), '123'], [Uint8Array.from([2, 3, 4]), '234']]),
26
- type: 'map 2 pair (bytes keys Map w/ useMaps)',
27
- useMaps: true
28
- },
29
- {
30
- data: 'a1666f626a656374a16477697468a26134666e6573746564676f626a65637473a161216121',
31
- expected: { object: { with: { 4: 'nested', objects: { '!': '!' } } } },
32
- type: 'map nested'
33
- },
34
- { // same as previous but as a Map and an int key
35
- data: 'a1666f626a656374a16477697468a204666e6573746564676f626a65637473a161216121',
36
- expected: toMap([['object', toMap([['with', toMap([[4, 'nested'], ['objects', toMap([['!', '!']])]])]])]]),
37
- type: 'map nested w/ useMaps',
38
- useMaps: true
39
- },
40
- {
41
- data: 'ae636f6e651b0016db6db6db6db763736978206374656e3b0016db6db6db6db76374776f1a0001000064666976650064666f757202646e696e653aa5f702b365656967687438ff65736576656e226574687265651901f466656c6576656e426131667477656c76656fc48c6175657320c39f76c49b74652168666f75727465656ea4616664666f7572616f016174026274680368746869727465656e840203046466697665',
42
- encode: {
43
- one: Number.MAX_SAFE_INTEGER / 1.4,
44
- two: 65536,
45
- three: 500,
46
- four: 2,
47
- five: 0,
48
- six: -1,
49
- seven: -3,
50
- eight: -256,
51
- nine: -2784428724,
52
- ten: Number.MIN_SAFE_INTEGER / 1.4 - 1,
53
- eleven: new TextEncoder().encode('a1'),
54
- twelve: 'Čaues ßvěte!',
55
- thirteen: [2, 3, 4, 'five'],
56
- fourteen: { o: 1, t: 2, th: 3, f: 'four' }
57
- },
58
- expected: {
59
- one: Number.MAX_SAFE_INTEGER / 1.4,
60
- six: -1,
61
- ten: Number.MIN_SAFE_INTEGER / 1.4 - 1,
62
- two: 65536,
63
- five: 0,
64
- four: 2,
65
- nine: -2784428724,
66
- eight: -256,
67
- seven: -3,
68
- three: 500,
69
- eleven: new TextEncoder().encode('a1'),
70
- twelve: 'Čaues ßvěte!',
71
- fourteen: { f: 'four', o: 1, t: 2, th: 3 },
72
- thirteen: [2, 3, 4, 'five']
73
- },
74
- type: 'map with complex entries',
75
- label: '{}'
76
- },
77
- {
78
- data: 'ad01636f6e65026374776f1901f46c666976652068756e647265641902586b7369782068756e647265641a00010000636269671b0016db6db6db6db76662696767657220696d696e7573206f6e6521696d696e75732074776f38ff781f6d696e75732074776f2068756e6472656420616e64206669667479207369783901f4781a6d696e757820666976652068756e6472656420616e64206f6e653901f5781a6d696e757820666976652068756e6472656420616e642074776f3aa5f702b367626967206e65673b0016db6db6db6db76a626967676572206e6567',
79
- encode: toMap([
80
- [2, 'two'],
81
- [1, 'one'],
82
- [-2, 'minus two'],
83
- [-1, 'minus one'],
84
- [600, 'six hundred'],
85
- [500, 'five hundred'],
86
- [-256, 'minus two hundred and fifty six'],
87
- [-502, 'minux five hundred and two'],
88
- [-501, 'minux five hundred and one'],
89
- [65536, 'big'],
90
- [-2784428724, 'big neg'],
91
- [6433713753386423, 'bigger'],
92
- [-6433713753386424, 'bigger neg']
93
- ]),
94
- expected: toMap([
95
- [1, 'one'],
96
- [2, 'two'],
97
- [500, 'five hundred'],
98
- [600, 'six hundred'],
99
- [65536, 'big'],
100
- [6433713753386423, 'bigger'],
101
- [-1, 'minus one'],
102
- [-2, 'minus two'],
103
- [-256, 'minus two hundred and fifty six'],
104
- [-501, 'minux five hundred and one'],
105
- [-502, 'minux five hundred and two'],
106
- [-2784428724, 'big neg'],
107
- [-6433713753386424, 'bigger neg']
108
- ]),
109
- type: 'map with ints and negints',
110
- useMaps: true
111
- },
112
- {
113
- data: 'a44104636f6e65430102026374776f430102036574687265654301020464666f7572',
114
- encode: toMap([
115
- [Uint8Array.from([1, 2, 3]), 'three'],
116
- [Uint8Array.from([4]), 'one'],
117
- [Uint8Array.from([1, 2, 4]), 'four'],
118
- [Uint8Array.from([1, 2, 2]), 'two']
119
- ]),
120
- expected: toMap([
121
- [Uint8Array.from([4]), 'one'],
122
- [Uint8Array.from([1, 2, 2]), 'two'],
123
- [Uint8Array.from([1, 2, 3]), 'three'],
124
- [Uint8Array.from([1, 2, 4]), 'four']
125
- ]),
126
- type: 'map with bytes keys',
127
- useMaps: true
128
- },
129
- // testing lengths encoded as too-large ints
130
- { data: 'b801616101', expected: { a: 1 }, type: 'map 1 pair, length8', strict: false },
131
- { data: 'b90001616101', expected: { a: 1 }, type: 'map 1 pair, length16', strict: false },
132
- { data: 'ba00000001616101', expected: { a: 1 }, type: 'map 1 pair, length32', strict: false },
133
- { data: 'bb0000000000000001616101', expected: { a: 1 }, type: 'map 1 pair, length64', strict: false }
134
- ]
135
-
136
- function toMap (arr) {
137
- const m = new Map()
138
- for (const [key, value] of arr) {
139
- m.set(key, value)
140
- }
141
- return m
142
- }
143
-
144
- function entries (map) {
145
- function nest (a) {
146
- for (const e of a) {
147
- e[0] = entries(e[0])
148
- e[1] = entries(e[1])
149
- }
150
- return a
151
- }
152
-
153
- if (Object.getPrototypeOf(map) === Map.prototype) {
154
- return nest([...map.entries()])
155
- }
156
- if (typeof map === 'object') {
157
- return nest([...Object.entries(map)])
158
- }
159
- return map
160
- }
161
-
162
- describe('map', () => {
163
- describe('decode', () => {
164
- for (const fixture of fixtures) {
165
- const data = fromHex(fixture.data)
166
- it(`should decode ${fixture.type}=${fixture.label || JSON.stringify(fixture.expected)}`, () => {
167
- let options = fixture.useMaps ? { useMaps: true } : undefined
168
- const decoded = decode(data, options)
169
-
170
- if (fixture.useMaps) {
171
- assert.strictEqual(Object.getPrototypeOf(decoded), Map.prototype, 'is Map')
172
- } else {
173
- assert.isObject(decoded, 'is object')
174
- }
175
-
176
- assert.deepStrictEqual(entries(decoded), entries(fixture.expected), `decode ${fixture.type}`)
177
-
178
- options = Object.assign({ strict: true }, options)
179
- if (fixture.strict === false) {
180
- assert.throws(() => decode(data, options), Error, 'CBOR decode error: integer encoded in more bytes than necessary (strict decode)')
181
- } else {
182
- assert.deepStrictEqual(
183
- entries(decode(data, options)),
184
- entries(fixture.expected),
185
- `decode ${fixture.type}`)
186
- }
187
- })
188
-
189
- it('should fail to decode very large length', () => {
190
- assert.throws(
191
- () => decode(fromHex('bba5f702b3a5f70201616101')),
192
- /CBOR decode error: 64-bit integer map lengths not supported/)
193
- })
194
- }
195
-
196
- it('errors', () => {
197
- assert.throws(() => decode(fromHex('a1016161')), /non-string keys not supported \(got number\)/)
198
- })
199
- })
200
-
201
- describe('encode', () => {
202
- for (const fixture of fixtures) {
203
- it(`should encode ${fixture.type}=${fixture.label || JSON.stringify(fixture.expected)}`, () => {
204
- const toEncode = fixture.encode || fixture.expected
205
- if (fixture.unsafe) {
206
- assert.throws(encode.bind(null, toEncode), Error, /^CBOR encode error: number too large to encode \(\d+\)$/)
207
- } else if (fixture.strict === false || fixture.roundtrip === false) {
208
- assert.notDeepEqual(toHex(encode(toEncode)), fixture.data, `encode ${fixture.type} !strict`)
209
- } else {
210
- assert.strictEqual(toHex(encode(toEncode)), fixture.data, `encode ${fixture.type}`)
211
- }
212
- })
213
- }
214
- })
215
-
216
- // mostly unnecessary, but feels good
217
- describe('roundtrip', () => {
218
- for (const fixture of fixtures) {
219
- if (!fixture.unsafe && fixture.strict !== false && fixture.roundtrip !== false) {
220
- it(`should roundtrip ${fixture.type}=${fixture.label || JSON.stringify(fixture.expected)}`, () => {
221
- const toEncode = fixture.encode || fixture.expected
222
- const options = fixture.useMaps ? { useMaps: true } : undefined
223
- const rt = decode(encode(toEncode), options)
224
-
225
- if (fixture.useMaps) {
226
- assert.strictEqual(Object.getPrototypeOf(rt), Map.prototype, 'is Map')
227
- } else {
228
- assert.isObject(rt, 'is object')
229
- }
230
-
231
- assert.deepStrictEqual(entries(rt), entries(fixture.expected), `roundtrip ${fixture.type}`)
232
- })
233
- }
234
- }
235
- })
236
-
237
- describe('specials', () => {
238
- it('can decode indefinite length items', () => {
239
- assert.deepStrictEqual(decode(fromHex('bf616f01617402ff')), { o: 1, t: 2 })
240
- })
241
-
242
- it('can switch off indefinite length support', () => {
243
- assert.throws(() => decode(fromHex('bf616f01617402ff'), { allowIndefinite: false }), /indefinite/)
244
- })
245
- })
246
-
247
- describe('sorting', () => {
248
- it('sorts int map keys', () => {
249
- assert.strictEqual(toHex(encode(new Map([[1, 1], [2, 2]]))), 'a201010202')
250
- assert.strictEqual(toHex(encode(new Map([[2, 1], [1, 2]]))), 'a201020201')
251
- })
252
-
253
- it('sorts negint map keys', () => {
254
- assert.strictEqual(toHex(encode(new Map([[-1, 1], [-2, 2]]))), 'a220012102')
255
- assert.strictEqual(toHex(encode(new Map([[-2, 1], [-1, 2]]))), 'a220022101')
256
- })
257
-
258
- it('sorts bytes map keys', () => {
259
- assert.strictEqual(toHex(encode(new Map([[Uint8Array.from([1, 2]), 1], [Uint8Array.from([2, 1]), 2]]))), 'a24201020142020102')
260
- assert.strictEqual(toHex(encode(new Map([[Uint8Array.from([2, 1]), 1], [Uint8Array.from([1, 2]), 2]]))), 'a24201020242020101')
261
- // shortest first
262
- assert.strictEqual(toHex(encode(new Map([[Uint8Array.from([1, 2]), 1], [Uint8Array.from([2, 1]), 2], [Uint8Array.from([200]), 3]]))), 'a341c8034201020142020102')
263
- })
264
-
265
- it('sorts bytes map keys', () => {
266
- assert.strictEqual(toHex(encode(new Map([[Uint8Array.from([1, 2]), 1], [Uint8Array.from([2, 1]), 2]]))), 'a24201020142020102')
267
- assert.strictEqual(toHex(encode(new Map([[Uint8Array.from([2, 1]), 1], [Uint8Array.from([1, 2]), 2]]))), 'a24201020242020101')
268
- // shortest first
269
- assert.strictEqual(toHex(encode(new Map([[Uint8Array.from([1, 2]), 1], [Uint8Array.from([2, 1]), 2], [Uint8Array.from([200]), 3]]))), 'a341c8034201020142020102')
270
- })
271
-
272
- it('sorts array map keys (length only)', () => {
273
- assert.strictEqual(toHex(encode(new Map([[[1], 1], [[1, 1], 2]]))), 'a281010182010102')
274
- assert.strictEqual(toHex(encode(new Map([[[1, 1], 1], [[1], 2]]))), 'a281010282010101')
275
- })
276
-
277
- it('sorts map map keys (length only)', () => {
278
- assert.strictEqual(toHex(encode(new Map([[{ a: 1 }, 1], [{ a: 1, b: 1 }, 2]]))), 'a2a161610101a261610161620102')
279
- assert.strictEqual(toHex(encode(new Map([[{ a: 1, b: 1 }, 1], [{ a: 1 }, 2]]))), 'a2a161610102a261610161620101')
280
- })
281
-
282
- // TODO: tag keys .. but why would you do this!?
283
- })
284
- })
@@ -1,85 +0,0 @@
1
- /* eslint-env mocha */
2
-
3
- import * as chai from 'chai'
4
-
5
- import { Token, Type } from '../lib/token.js'
6
- import { decode, encode } from '../cborg.js'
7
- import { fromHex, toHex } from '../lib/byte-utils.js'
8
- import { dateDecoder, dateEncoder } from './common.js'
9
-
10
- const { assert } = chai
11
-
12
- function Uint16ArrayDecoder (obj) {
13
- if (typeof obj !== 'string') {
14
- throw new Error('expected string for tag 23')
15
- }
16
- const u8a = fromHex(obj)
17
- return new Uint16Array(u8a.buffer, u8a.byteOffset, u8a.length / 2)
18
- }
19
-
20
- function Uint16ArrayEncoder (obj) {
21
- if (!(obj instanceof Uint16Array)) {
22
- throw new Error('expected Uint16Array for "Uint16Array" encoder')
23
- }
24
- return [
25
- new Token(Type.tag, 23),
26
- new Token(Type.string, toHex(obj))
27
- ]
28
- }
29
-
30
- describe('tag', () => {
31
- it('date', () => {
32
- assert.throws(() => encode({ d: new Date() }), /unsupported type: Date/)
33
-
34
- assert.equal(
35
- toHex(encode(new Date('2013-03-21T20:04:00Z'), { typeEncoders: { Date: dateEncoder } })),
36
- 'c074323031332d30332d32315432303a30343a30305a' // from appendix_a
37
- )
38
-
39
- const decodedDate = decode(fromHex('c074323031332d30332d32315432303a30343a30305a'), { tags: { 0: dateDecoder } })
40
- assert.instanceOf(decodedDate, Date)
41
- assert.equal(decodedDate.toISOString(), new Date('2013-03-21T20:04:00Z').toISOString())
42
- })
43
-
44
- it('Uint16Array as hex/23 (overide existing type)', () => {
45
- assert.equal(
46
- toHex(encode(Uint16Array.from([1, 2, 3]), { typeEncoders: { Uint16Array: Uint16ArrayEncoder } })),
47
- 'd76c303130303032303030333030' // tag(23) + string('010002000300')
48
- )
49
-
50
- const decoded = decode(fromHex('d76c303130303032303030333030'), { tags: { 23: Uint16ArrayDecoder } })
51
- assert.instanceOf(decoded, Uint16Array)
52
- assert.equal(toHex(decoded), toHex(Uint16Array.from([1, 2, 3])))
53
- })
54
-
55
- it('tag int too large', () => {
56
- const verify = (hex, strict) => {
57
- if (!strict) {
58
- assert.throws(
59
- () => decode(fromHex(hex), { tags: { 8: dateDecoder }, strict: true }),
60
- /integer encoded in more bytes than necessary/)
61
- }
62
- const decodedDate = decode(fromHex(hex), { tags: { 8: dateDecoder }, strict })
63
- assert.instanceOf(decodedDate, Date)
64
- assert.equal(decodedDate.toISOString(), new Date('2013-03-21T20:04:00Z').toISOString())
65
- }
66
- // compact
67
- verify('c874323031332d30332d32315432303a30343a30305a', true)
68
- // int8
69
- verify('d80874323031332d30332d32315432303a30343a30305a', false)
70
- // int16
71
- verify('d9000874323031332d30332d32315432303a30343a30305a', false)
72
- // int32
73
- verify('da0000000874323031332d30332d32315432303a30343a30305a', false)
74
- // int64
75
- verify('db000000000000000874323031332d30332d32315432303a30343a30305a', false)
76
- })
77
-
78
- /*
79
- describe('taglib', () => {
80
- it('bigint', () => {
81
- const v = BigInt(2) ** BigInt(80)
82
- })
83
- })
84
- */
85
- })
@@ -1,131 +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: '8601f5f4f6f720', expected: [1, true, false, null, undefined, -1], type: 'array of float specials' },
12
- { data: 'f93800', expected: 0.5, type: 'float16' },
13
- { data: 'f9b800', expected: -0.5, type: 'float16' },
14
- { data: 'fa33c00000', expected: 8.940696716308594e-08, type: 'float32' },
15
- { data: 'fab3c00000', expected: -8.940696716308594e-08, type: 'float32' },
16
- { data: 'fb3ff199999999999a', expected: 1.1, type: 'float64' },
17
- { data: 'fbbff199999999999a', expected: -1.1, type: 'float64' },
18
- { data: 'fb3ff1c71c71c71c72', expected: 1.11111111111111111111111111111, type: 'float64' }, // eslint-disable-line
19
- { data: 'fb0000000000000002', expected: 1e-323, type: 'float64' },
20
- { data: 'fb8000000000000002', expected: -1e-323, type: 'float64' },
21
- { data: 'fb3fefffffffffffff', expected: 0.9999999999999999, type: 'float64' },
22
- { data: 'fbbfefffffffffffff', expected: -0.9999999999999999, type: 'float64' },
23
- { data: 'f97c00', expected: Infinity, type: 'Infinity' }, // special CBOR token for -Infinity
24
- { data: 'fb7ff0000000000000', expected: Infinity, type: 'Infinity', strict: false }, // an IEEE 754 representation of Infinity
25
- { data: 'f9fc00', expected: -Infinity, type: '-Infinity' }, // special CBOR token for -Infinity
26
- { data: 'fbfff0000000000000', expected: -Infinity, type: '-Infinity', strict: false }, // an IEEE 754 representation of Infinity
27
- { data: 'f97e00', expected: NaN, type: 'NaN' }, // special CBOR token for NaN
28
- { data: 'f97ff8', expected: NaN, type: 'NaN', strict: false }, // one of the many IEEE 754 representations of NaN
29
- { data: 'fa7ff80000', expected: NaN, type: 'NaN', strict: false },
30
- { data: 'fb7ff8000000000000', expected: NaN, type: 'NaN', strict: false },
31
- { data: 'fb7ff8cafedeadbeef', expected: NaN, type: 'NaN', strict: false }, // yep, that's NaN too
32
- { data: 'fb40f4241a31a5a515', expected: 82497.63712086187, type: 'float64' }
33
- ]
34
-
35
- describe('float', () => {
36
- describe('decode', () => {
37
- for (const fixture of fixtures) {
38
- const data = fromHex(fixture.data)
39
- it(`should decode ${fixture.type}=${fixture.expected}`, () => {
40
- assert.deepStrictEqual(decode(data), fixture.expected, `decode ${fixture.type}`)
41
- assert.deepStrictEqual(decode(data, { strict: true }), fixture.expected, `decode ${fixture.type}`)
42
- })
43
- }
44
- })
45
-
46
- it('error', () => {
47
- // minor number 28, too high for uint
48
- assert.throws(() => decode(fromHex('f80000')), Error, 'simple values are not supported')
49
- assert.throws(() => decode(fromHex('f900')), Error, 'not enough data for float16')
50
- assert.throws(() => decode(fromHex('fa0000')), Error, 'not enough data for float32')
51
- assert.throws(() => decode(fromHex('fb00000000')), Error, 'not enough data for float64')
52
- })
53
-
54
- describe('encode', () => {
55
- for (const fixture of fixtures) {
56
- if (fixture.strict !== false) {
57
- it(`should encode ${fixture.type}=${fixture.expected}`, () => {
58
- assert.strictEqual(toHex(encode(fixture.expected)), fixture.data, `encode ${fixture.type}`)
59
- })
60
- }
61
- }
62
- })
63
-
64
- describe('encode float64', () => {
65
- for (const fixture of fixtures) {
66
- if (fixture.type.startsWith('float')) {
67
- it(`should encode ${fixture.type}=${fixture.expected}`, () => {
68
- const encoded = encode(fixture.expected, { float64: true })
69
- assert.strictEqual(encoded.length, 9) // always encode as 9 bytes, regardless of size
70
- assert.strictEqual(encoded[0], 0xfb)
71
- assert.strictEqual(decode(encoded), fixture.expected, `encode float64 ${fixture.type}`)
72
- })
73
- }
74
- }
75
- })
76
-
77
- describe('roundtrip', () => {
78
- for (const fixture of fixtures) {
79
- if (!fixture.unsafe && fixture.strict !== false) {
80
- it(`should roundtrip ${fixture.type}=${fixture.expected}`, () => {
81
- assert.deepStrictEqual(decode(encode(fixture.expected)), fixture.expected, `roundtrip ${fixture.type}`)
82
- })
83
- }
84
- }
85
- })
86
-
87
- describe('specials', () => {
88
- // This is a bit of a hack, the CBOR is invalid because it's a standard fixed-length array
89
- // followed by a BREAK, which should normally error ("too many terminals"), but we want to
90
- // exercise the allowIndefinite switch in the major-7 decode and it should error before it
91
- // even gets to looking at terminals and whether the tokens make sense.
92
- it('indefinite length switch fails on BREAK', () => {
93
- // sanity check, BREAK doesn't belong there
94
- assert.throws(() => decode(Uint8Array.from([131, 1, 2, 0xff])), /unexpected break to lengthed array/)
95
- // throw earlier because we're disallowing BREAK entirely
96
- assert.throws(() => decode(Uint8Array.from([131, 1, 2, 0xff]), { allowIndefinite: false }), /indefinite/)
97
- })
98
-
99
- it('can switch off undefined support', () => {
100
- assert.deepStrictEqual(decode(fromHex('f7')), undefined)
101
- assert.throws(() => decode(fromHex('f7'), { allowUndefined: false }), /undefined/)
102
- assert.deepStrictEqual(decode(fromHex('830102f7')), [1, 2, undefined])
103
- assert.throws(() => decode(fromHex('830102f7'), { allowUndefined: false }), /undefined/)
104
- })
105
-
106
- it('can coerce undefined to null', () => {
107
- assert.deepStrictEqual(decode(fromHex('f7'), { coerceUndefinedToNull: false }), undefined)
108
- assert.deepStrictEqual(decode(fromHex('f7'), { coerceUndefinedToNull: true }), null)
109
- assert.deepStrictEqual(decode(fromHex('830102f7'), { coerceUndefinedToNull: false }), [1, 2, undefined])
110
- assert.deepStrictEqual(decode(fromHex('830102f7'), { coerceUndefinedToNull: true }), [1, 2, null])
111
- })
112
-
113
- it('can switch off Infinity support', () => {
114
- assert.deepStrictEqual(decode(fromHex('830102f97c00')), [1, 2, Infinity])
115
- assert.deepStrictEqual(decode(fromHex('830102f9fc00')), [1, 2, -Infinity])
116
- assert.throws(() => decode(fromHex('830102f97c00'), { allowInfinity: false }), /Infinity/)
117
- assert.throws(() => decode(fromHex('830102f9fc00'), { allowInfinity: false }), /Infinity/)
118
- for (const fixture of fixtures.filter((f) => f.type.endsWith('Infinity'))) {
119
- assert.throws(() => decode(fromHex(fixture.data), { allowInfinity: false }), /Infinity/)
120
- }
121
- })
122
-
123
- it('can switch off NaN support', () => {
124
- assert.deepStrictEqual(decode(fromHex('830102f97e00')), [1, 2, NaN])
125
- assert.throws(() => decode(fromHex('830102f97e00'), { allowNaN: false }), /NaN/)
126
- for (const fixture of fixtures.filter((f) => f.type === 'NaN')) {
127
- assert.throws(() => decode(fromHex(fixture.data), { allowNaN: false }), /NaN/)
128
- }
129
- })
130
- })
131
- })
@@ -1,37 +0,0 @@
1
- /* eslint-env mocha */
2
-
3
- import * as chai from 'chai'
4
- import { Bl } from '../lib/bl.js'
5
-
6
- const { assert } = chai
7
-
8
- describe('Internal bytes list', () => {
9
- describe('push', () => {
10
- it('push bits', () => {
11
- const bl = new Bl(10)
12
- const expected = []
13
- for (let i = 0; i < 25; i++) {
14
- bl.push([i + 1])
15
- expected.push(i + 1)
16
- }
17
- assert.deepEqual([...bl.toBytes()], expected)
18
- })
19
-
20
- for (let i = 4; i < 21; i++) {
21
- it(`push Bl(${i})`, () => {
22
- const bl = new Bl(i)
23
- const expected = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 110, 120, 11, 12, 130, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
24
- for (let i = 0; i < 5; i++) {
25
- bl.push([i + 1])
26
- }
27
- bl.push(Uint8Array.from([6, 7, 8, 9, 10]))
28
- bl.push([100])
29
- bl.push(Uint8Array.from([110, 120]))
30
- bl.push(Uint8Array.from([11, 12]))
31
- bl.push([130])
32
- bl.push(Uint8Array.from([13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]))
33
- assert.deepEqual([...bl.toBytes()], expected)
34
- })
35
- }
36
- })
37
- })
@@ -1,107 +0,0 @@
1
- /* eslint-env mocha,es2020 */
2
-
3
- import * as chai from 'chai'
4
-
5
- import { decode, encode } from '../cborg.js'
6
- import * as taglib from 'cborg/taglib'
7
- import { fromHex, toHex } from '../lib/byte-utils.js'
8
- // fixtures from https://github.com/cbor/test-vectors
9
- import { fixtures } from './appendix_a.js'
10
-
11
- const { assert } = chai
12
-
13
- const tags = []
14
- const typeEncoders = {}
15
-
16
- tags[0] = function (obj) {
17
- if (typeof obj !== 'string') {
18
- throw new Error('expected string for tag 1')
19
- }
20
- return `0("${new Date(obj).toISOString().replace(/\.000Z$/, 'Z')}")`
21
- }
22
-
23
- tags[1] = function (obj) {
24
- if (typeof obj !== 'number') {
25
- throw new Error('expected number for tag 1')
26
- }
27
- return `1(${obj})`
28
- }
29
-
30
- tags[2] = taglib.bigIntDecoder
31
- typeEncoders.bigint = taglib.bigIntEncoder
32
- tags[3] = taglib.bigNegIntDecoder
33
-
34
- tags[23] = function (obj) {
35
- // expected conversion to base16
36
- if (!(obj instanceof Uint8Array)) {
37
- throw new Error('expected byte array for tag 23')
38
- }
39
- return `23(h'${toHex(obj)}')`
40
- }
41
-
42
- tags[24] = function (obj) { // embedded cbor, oh my
43
- return tags[23](obj).replace(/^23/, '24')
44
- }
45
-
46
- tags[32] = function (obj) { // url
47
- if (typeof obj !== 'string') {
48
- throw new Error('expected string for tag 32')
49
- }
50
- ;(() => new URL(obj))() // will throw if not a url
51
- return `32("${obj}")`
52
- }
53
-
54
- describe('cbor/test-vectors', () => {
55
- let i = 0
56
- for (const fixture of fixtures) {
57
- const u8a = fromHex(fixture.hex)
58
- let expected = fixture.decoded !== undefined ? fixture.decoded : fixture.diagnostic
59
-
60
- if (typeof expected === 'string' && expected.startsWith('h\'')) {
61
- expected = fromHex(expected.replace(/(^h)'|('$)/g, ''))
62
- }
63
-
64
- it(`test vector #${i}: ${inspect(expected).replace(/\n\s*/g, '')}`, () => {
65
- if (fixture.error) {
66
- assert.throws(() => decode(u8a, { tags }), fixture.error)
67
- } else {
68
- if (fixture.noTagDecodeError) {
69
- assert.throws(() => decode(u8a), fixture.noTagDecodeError)
70
- }
71
- let actual = decode(u8a, { tags })
72
- if (typeof actual === 'bigint') {
73
- actual = inspect(actual)
74
- }
75
- if (typeof expected === 'bigint') {
76
- expected = inspect(expected)
77
- }
78
- assert.deepEqual(actual, expected)
79
-
80
- if (fixture.roundtrip) {
81
- if (fixture.noTagEncodeError) {
82
- assert.throws(() => encode(decode(u8a, { tags })), fixture.noTagEncodeError)
83
- }
84
- const reencoded = encode(decode(u8a, { tags }), { typeEncoders })
85
- assert.equal(toHex(reencoded), fixture.hex)
86
- }
87
- }
88
- })
89
- i++
90
- }
91
-
92
- it.skip('encode w/ tags', () => {
93
- })
94
- })
95
-
96
- function inspect (o) {
97
- if (typeof o === 'string') {
98
- return `'${o}'`
99
- }
100
- if (o instanceof Uint8Array) {
101
- return `Uint8Array<${o.join(',')}>`
102
- }
103
- if (o == null || typeof o !== 'object') {
104
- return String(o)
105
- }
106
- return JSON.stringify(o)
107
- }