@fireproof/vendor 0.0.0-smoke → 0.22.0-dev-preview

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,308 +0,0 @@
1
- // TODO: shift some of the bytes logic to bytes-utils so we can use Buffer
2
- // where possible
3
-
4
- import { Token, Type } from './token.js'
5
- import { decodeErrPrefix } from './common.js'
6
- import { encodeUint } from './0uint.js'
7
-
8
- /**
9
- * @typedef {import('./bl.js').Bl} Bl
10
- * @typedef {import('../interface').DecodeOptions} DecodeOptions
11
- * @typedef {import('../interface').EncodeOptions} EncodeOptions
12
- */
13
-
14
- const MINOR_FALSE = 20
15
- const MINOR_TRUE = 21
16
- const MINOR_NULL = 22
17
- const MINOR_UNDEFINED = 23
18
-
19
- /**
20
- * @param {Uint8Array} _data
21
- * @param {number} _pos
22
- * @param {number} _minor
23
- * @param {DecodeOptions} options
24
- * @returns {Token}
25
- */
26
- export function decodeUndefined (_data, _pos, _minor, options) {
27
- if (options.allowUndefined === false) {
28
- throw new Error(`${decodeErrPrefix} undefined values are not supported`)
29
- } else if (options.coerceUndefinedToNull === true) {
30
- return new Token(Type.null, null, 1)
31
- }
32
- return new Token(Type.undefined, undefined, 1)
33
- }
34
-
35
- /**
36
- * @param {Uint8Array} _data
37
- * @param {number} _pos
38
- * @param {number} _minor
39
- * @param {DecodeOptions} options
40
- * @returns {Token}
41
- */
42
- export function decodeBreak (_data, _pos, _minor, options) {
43
- if (options.allowIndefinite === false) {
44
- throw new Error(`${decodeErrPrefix} indefinite length items not allowed`)
45
- }
46
- return new Token(Type.break, undefined, 1)
47
- }
48
-
49
- /**
50
- * @param {number} value
51
- * @param {number} bytes
52
- * @param {DecodeOptions} options
53
- * @returns {Token}
54
- */
55
- function createToken (value, bytes, options) {
56
- if (options) {
57
- if (options.allowNaN === false && Number.isNaN(value)) {
58
- throw new Error(`${decodeErrPrefix} NaN values are not supported`)
59
- }
60
- if (options.allowInfinity === false && (value === Infinity || value === -Infinity)) {
61
- throw new Error(`${decodeErrPrefix} Infinity values are not supported`)
62
- }
63
- }
64
- return new Token(Type.float, value, bytes)
65
- }
66
-
67
- /**
68
- * @param {Uint8Array} data
69
- * @param {number} pos
70
- * @param {number} _minor
71
- * @param {DecodeOptions} options
72
- * @returns {Token}
73
- */
74
- export function decodeFloat16 (data, pos, _minor, options) {
75
- return createToken(readFloat16(data, pos + 1), 3, options)
76
- }
77
-
78
- /**
79
- * @param {Uint8Array} data
80
- * @param {number} pos
81
- * @param {number} _minor
82
- * @param {DecodeOptions} options
83
- * @returns {Token}
84
- */
85
- export function decodeFloat32 (data, pos, _minor, options) {
86
- return createToken(readFloat32(data, pos + 1), 5, options)
87
- }
88
-
89
- /**
90
- * @param {Uint8Array} data
91
- * @param {number} pos
92
- * @param {number} _minor
93
- * @param {DecodeOptions} options
94
- * @returns {Token}
95
- */
96
- export function decodeFloat64 (data, pos, _minor, options) {
97
- return createToken(readFloat64(data, pos + 1), 9, options)
98
- }
99
-
100
- /**
101
- * @param {Bl} buf
102
- * @param {Token} token
103
- * @param {EncodeOptions} options
104
- */
105
- export function encodeFloat (buf, token, options) {
106
- const float = token.value
107
-
108
- if (float === false) {
109
- buf.push([Type.float.majorEncoded | MINOR_FALSE])
110
- } else if (float === true) {
111
- buf.push([Type.float.majorEncoded | MINOR_TRUE])
112
- } else if (float === null) {
113
- buf.push([Type.float.majorEncoded | MINOR_NULL])
114
- } else if (float === undefined) {
115
- buf.push([Type.float.majorEncoded | MINOR_UNDEFINED])
116
- } else {
117
- let decoded
118
- let success = false
119
- if (!options || options.float64 !== true) {
120
- encodeFloat16(float)
121
- decoded = readFloat16(ui8a, 1)
122
- if (float === decoded || Number.isNaN(float)) {
123
- ui8a[0] = 0xf9
124
- buf.push(ui8a.slice(0, 3))
125
- success = true
126
- } else {
127
- encodeFloat32(float)
128
- decoded = readFloat32(ui8a, 1)
129
- if (float === decoded) {
130
- ui8a[0] = 0xfa
131
- buf.push(ui8a.slice(0, 5))
132
- success = true
133
- }
134
- }
135
- }
136
- if (!success) {
137
- encodeFloat64(float)
138
- decoded = readFloat64(ui8a, 1)
139
- ui8a[0] = 0xfb
140
- buf.push(ui8a.slice(0, 9))
141
- }
142
- }
143
- }
144
-
145
- /**
146
- * @param {Token} token
147
- * @param {EncodeOptions} options
148
- * @returns {number}
149
- */
150
- encodeFloat.encodedSize = function encodedSize (token, options) {
151
- const float = token.value
152
-
153
- if (float === false || float === true || float === null || float === undefined) {
154
- return 1
155
- }
156
-
157
- if (!options || options.float64 !== true) {
158
- encodeFloat16(float)
159
- let decoded = readFloat16(ui8a, 1)
160
- if (float === decoded || Number.isNaN(float)) {
161
- return 3
162
- }
163
- encodeFloat32(float)
164
- decoded = readFloat32(ui8a, 1)
165
- if (float === decoded) {
166
- return 5
167
- }
168
- }
169
- return 9
170
- }
171
-
172
- const buffer = new ArrayBuffer(9)
173
- const dataView = new DataView(buffer, 1)
174
- const ui8a = new Uint8Array(buffer, 0)
175
-
176
- /**
177
- * @param {number} inp
178
- */
179
- function encodeFloat16 (inp) {
180
- if (inp === Infinity) {
181
- dataView.setUint16(0, 0x7c00, false)
182
- } else if (inp === -Infinity) {
183
- dataView.setUint16(0, 0xfc00, false)
184
- } else if (Number.isNaN(inp)) {
185
- dataView.setUint16(0, 0x7e00, false)
186
- } else {
187
- dataView.setFloat32(0, inp)
188
- const valu32 = dataView.getUint32(0)
189
- const exponent = (valu32 & 0x7f800000) >> 23
190
- const mantissa = valu32 & 0x7fffff
191
-
192
- /* c8 ignore next 6 */
193
- if (exponent === 0xff) {
194
- // too big, Infinity, but this should be hard (impossible?) to trigger
195
- dataView.setUint16(0, 0x7c00, false)
196
- } else if (exponent === 0x00) {
197
- // 0.0, -0.0 and subnormals, shouldn't be possible to get here because 0.0 should be counted as an int
198
- dataView.setUint16(0, ((inp & 0x80000000) >> 16) | (mantissa >> 13), false)
199
- } else { // standard numbers
200
- // chunks of logic here borrowed from https://github.com/PJK/libcbor/blob/c78f437182533e3efa8d963ff4b945bb635c2284/src/cbor/encoding.c#L127
201
- const logicalExponent = exponent - 127
202
- // Now we know that 2^exponent <= 0 logically
203
- /* c8 ignore next 6 */
204
- if (logicalExponent < -24) {
205
- /* No unambiguous representation exists, this float is not a half float
206
- and is too small to be represented using a half, round off to zero.
207
- Consistent with the reference implementation. */
208
- // should be difficult (impossible?) to get here in JS
209
- dataView.setUint16(0, 0)
210
- } else if (logicalExponent < -14) {
211
- /* Offset the remaining decimal places by shifting the significand, the
212
- value is lost. This is an implementation decision that works around the
213
- absence of standard half-float in the language. */
214
- dataView.setUint16(0, ((valu32 & 0x80000000) >> 16) | /* sign bit */ (1 << (24 + logicalExponent)), false)
215
- } else {
216
- dataView.setUint16(0, ((valu32 & 0x80000000) >> 16) | ((logicalExponent + 15) << 10) | (mantissa >> 13), false)
217
- }
218
- }
219
- }
220
- }
221
-
222
- /**
223
- * @param {Uint8Array} ui8a
224
- * @param {number} pos
225
- * @returns {number}
226
- */
227
- function readFloat16 (ui8a, pos) {
228
- if (ui8a.length - pos < 2) {
229
- throw new Error(`${decodeErrPrefix} not enough data for float16`)
230
- }
231
-
232
- const half = (ui8a[pos] << 8) + ui8a[pos + 1]
233
- if (half === 0x7c00) {
234
- return Infinity
235
- }
236
- if (half === 0xfc00) {
237
- return -Infinity
238
- }
239
- if (half === 0x7e00) {
240
- return NaN
241
- }
242
- const exp = (half >> 10) & 0x1f
243
- const mant = half & 0x3ff
244
- let val
245
- if (exp === 0) {
246
- val = mant * (2 ** -24)
247
- } else if (exp !== 31) {
248
- val = (mant + 1024) * (2 ** (exp - 25))
249
- /* c8 ignore next 4 */
250
- } else {
251
- // may not be possible to get here
252
- val = mant === 0 ? Infinity : NaN
253
- }
254
- return (half & 0x8000) ? -val : val
255
- }
256
-
257
- /**
258
- * @param {number} inp
259
- */
260
- function encodeFloat32 (inp) {
261
- dataView.setFloat32(0, inp, false)
262
- }
263
-
264
- /**
265
- * @param {Uint8Array} ui8a
266
- * @param {number} pos
267
- * @returns {number}
268
- */
269
- function readFloat32 (ui8a, pos) {
270
- if (ui8a.length - pos < 4) {
271
- throw new Error(`${decodeErrPrefix} not enough data for float32`)
272
- }
273
- const offset = (ui8a.byteOffset || 0) + pos
274
- return new DataView(ui8a.buffer, offset, 4).getFloat32(0, false)
275
- }
276
-
277
- /**
278
- * @param {number} inp
279
- */
280
- function encodeFloat64 (inp) {
281
- dataView.setFloat64(0, inp, false)
282
- }
283
-
284
- /**
285
- * @param {Uint8Array} ui8a
286
- * @param {number} pos
287
- * @returns {number}
288
- */
289
- function readFloat64 (ui8a, pos) {
290
- if (ui8a.length - pos < 8) {
291
- throw new Error(`${decodeErrPrefix} not enough data for float64`)
292
- }
293
- const offset = (ui8a.byteOffset || 0) + pos
294
- return new DataView(ui8a.buffer, offset, 8).getFloat64(0, false)
295
- }
296
-
297
- /**
298
- * @param {Token} _tok1
299
- * @param {Token} _tok2
300
- * @returns {number}
301
- */
302
- encodeFloat.compareTokens = encodeUint.compareTokens
303
- /*
304
- encodeFloat.compareTokens = function compareTokens (_tok1, _tok2) {
305
- return _tok1
306
- throw new Error(`${encodeErrPrefix} cannot use floats as map keys`)
307
- }
308
- */
@@ -1,189 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import process from 'process'
4
- import { decode, encode } from '../cborg.js'
5
- import { tokensToDiagnostic, fromDiag } from './diagnostic.js'
6
- import { fromHex as _fromHex, toHex } from './byte-utils.js'
7
-
8
- /**
9
- * @param {number} code
10
- */
11
- function usage (code) {
12
- console.error('Usage: cborg <command> <args>')
13
- console.error('Valid commands:')
14
- console.error('\tbin2diag [--width <width>] [binary input]')
15
- console.error('\tbin2hex [binary input]')
16
- console.error('\tbin2json [--pretty] [binary input]')
17
- console.error('\tdiag2bin [diagnostic input]')
18
- console.error('\tdiag2hex [diagnostic input]')
19
- console.error('\tdiag2json [--pretty] [diagnostic input]')
20
- console.error('\thex2bin [hex input]')
21
- console.error('\thex2diag [--width <width>] [hex input]')
22
- console.error('\thex2json [--pretty] [hex input]')
23
- console.error('\tjson2bin \'[json input]\'')
24
- console.error('\tjson2diag [--width <width>] \'[json input]\'')
25
- console.error('\tjson2hex \'[json input]\'')
26
- console.error('Input may either be supplied as an argument or piped via stdin')
27
- process.exit(code || 0)
28
- }
29
-
30
- async function fromStdin () {
31
- const chunks = []
32
- for await (const chunk of process.stdin) {
33
- chunks.push(chunk)
34
- }
35
- return Buffer.concat(chunks)
36
- }
37
-
38
- /**
39
- * @param {string} str
40
- * @returns {Uint8Array}
41
- */
42
- function fromHex (str) {
43
- str = str.replace(/\r?\n/g, '') // let's be charitable
44
- /* c8 ignore next 3 */
45
- if (!(/^([0-9a-f]{2})*$/i).test(str)) {
46
- throw new Error('Input string is not hexadecimal format')
47
- }
48
- return _fromHex(str)
49
- }
50
-
51
- function argvPretty () {
52
- const argv = process.argv.filter((s) => s !== '--pretty')
53
- const pretty = argv.length !== process.argv.length
54
- return { argv, pretty }
55
- }
56
-
57
- function argvWidth () {
58
- const widthIndex = process.argv.findIndex((s) => s === '--width')
59
- if (widthIndex <= 0 || widthIndex + 1 >= process.argv.length) {
60
- return { argv: process.argv.filter((s) => s !== '--width'), width: undefined }
61
- }
62
- const width = parseInt(process.argv[widthIndex + 1], 10)
63
- if (!width || width < 20) {
64
- return { argv: process.argv.filter((s) => s !== '--width'), width: undefined }
65
- }
66
- const argv = process.argv
67
- argv.splice(widthIndex, 2)
68
- return { argv, width }
69
- }
70
-
71
- async function run () {
72
- const cmd = process.argv[2]
73
-
74
- switch (cmd) {
75
- case 'help': {
76
- return usage(0)
77
- }
78
-
79
- case 'bin2diag': {
80
- /* c8 ignore next 1 */
81
- const { argv, width } = argvWidth()
82
- const bin = argv.length < 4 ? (await fromStdin()) : new TextEncoder().encode(argv[3])
83
- for (const line of tokensToDiagnostic(bin, width)) {
84
- console.log(line)
85
- }
86
- return
87
- }
88
-
89
- case 'bin2hex': {
90
- // this is really nothing to do with cbor.. just handy
91
- /* c8 ignore next 1 */
92
- const bin = process.argv.length < 4 ? (await fromStdin()) : new TextEncoder().encode(process.argv[3])
93
- return console.log(toHex(bin))
94
- }
95
-
96
- case 'bin2json': {
97
- const { argv, pretty } = argvPretty()
98
- /* c8 ignore next 1 */
99
- const bin = argv.length < 4 ? (await fromStdin()) : new TextEncoder().encode(argv[3])
100
- return console.log(JSON.stringify(decode(bin), undefined, pretty ? 2 : undefined))
101
- }
102
-
103
- case 'diag2bin': {
104
- // no coverage on windows for non-stdin input
105
- /* c8 ignore next 1 */
106
- const bin = fromDiag(process.argv.length < 4 ? (await fromStdin()).toString() : process.argv[3])
107
- return process.stdout.write(bin)
108
- }
109
-
110
- case 'diag2hex': {
111
- // no coverage on windows for non-stdin input
112
- /* c8 ignore next 1 */
113
- const bin = fromDiag(process.argv.length < 4 ? (await fromStdin()).toString() : process.argv[3])
114
- return console.log(toHex(bin))
115
- }
116
-
117
- case 'diag2json': {
118
- const { argv, pretty } = argvPretty()
119
- // no coverage on windows for non-stdin input
120
- /* c8 ignore next 1 */
121
- const bin = fromDiag(argv.length < 4 ? (await fromStdin()).toString() : argv[3])
122
- return console.log(JSON.stringify(decode(bin), undefined, pretty ? 2 : undefined))
123
- }
124
-
125
- case 'hex2bin': {
126
- // this is really nothing to do with cbor.. just handy
127
- const bin = fromHex(process.argv.length < 4 ? (await fromStdin()).toString() : process.argv[3])
128
- return process.stdout.write(bin)
129
- }
130
-
131
- case 'hex2diag': {
132
- const { argv, width } = argvWidth()
133
- const bin = fromHex(argv.length < 4 ? (await fromStdin()).toString() : argv[3])
134
- for (const line of tokensToDiagnostic(bin, width)) {
135
- console.log(line)
136
- }
137
- return
138
- }
139
-
140
- case 'hex2json': {
141
- const { argv, pretty } = argvPretty()
142
- const bin = fromHex(argv.length < 4 ? (await fromStdin()).toString() : argv[3])
143
- return console.log(JSON.stringify(decode(bin), undefined, pretty ? 2 : undefined))
144
- }
145
-
146
- case 'json2bin': {
147
- const inp = process.argv.length < 4 ? (await fromStdin()).toString() : process.argv[3]
148
- const obj = JSON.parse(inp)
149
- return process.stdout.write(encode(obj))
150
- }
151
-
152
- case 'json2diag': {
153
- const { argv, width } = argvWidth()
154
- const inp = argv.length < 4 ? (await fromStdin()).toString() : argv[3]
155
- const obj = JSON.parse(inp)
156
- for (const line of tokensToDiagnostic(encode(obj), width)) {
157
- console.log(line)
158
- }
159
- return
160
- }
161
-
162
- case 'json2hex': {
163
- const inp = process.argv.length < 4 ? (await fromStdin()).toString() : process.argv[3]
164
- const obj = JSON.parse(inp)
165
- return console.log(toHex(encode(obj)))
166
- }
167
-
168
- default: { // no, or unknown cmd
169
- // this is a dirty hack to allow import of this package by the tests
170
- // for inclusion in ipjs bundling, but to silently ignore it so we don't
171
- // print usage and exit(1).
172
- if (process.argv.findIndex((a) => a.endsWith('mocha')) === -1) {
173
- if (cmd) {
174
- console.error(`Unknown command: '${cmd}'`)
175
- }
176
- usage(1)
177
- }
178
- }
179
- }
180
- }
181
-
182
- run().catch((err) => {
183
- /* c8 ignore next 2 */
184
- console.error(err)
185
- process.exit(1)
186
- })
187
-
188
- // for ipjs, to get it to compile
189
- export default true
@@ -1,124 +0,0 @@
1
- /**
2
- * Bl is a list of byte chunks, similar to https://github.com/rvagg/bl but for
3
- * writing rather than reading.
4
- * A Bl object accepts set() operations for individual bytes and copyTo() for
5
- * inserting byte arrays. These write operations don't automatically increment
6
- * the internal cursor so its "length" won't be changed. Instead, increment()
7
- * must be called to extend its length to cover the inserted data.
8
- * The toBytes() call will convert all internal memory to a single Uint8Array of
9
- * the correct length, truncating any data that is stored but hasn't been
10
- * included by an increment().
11
- * get() can retrieve a single byte.
12
- * All operations (except toBytes()) take an "offset" argument that will perform
13
- * the write at the offset _from the current cursor_. For most operations this
14
- * will be `0` to write at the current cursor position but it can be ahead of
15
- * the current cursor. Negative offsets probably work but are untested.
16
- */
17
-
18
- // TODO: ipjs doesn't support this, only for test files: https://github.com/mikeal/ipjs/blob/master/src/package/testFile.js#L39
19
- import { alloc, concat, slice } from './byte-utils.js'
20
-
21
- // the ts-ignores in this file are almost all for the `Uint8Array|number[]` duality that exists
22
- // for perf reasons. Consider better approaches to this or removing it entirely, it is quite
23
- // risky because of some assumptions about small chunks === number[] and everything else === Uint8Array.
24
-
25
- const defaultChunkSize = 256
26
-
27
- export class Bl {
28
- /**
29
- * @param {number} [chunkSize]
30
- */
31
- constructor (chunkSize = defaultChunkSize) {
32
- this.chunkSize = chunkSize
33
- /** @type {number} */
34
- this.cursor = 0
35
- /** @type {number} */
36
- this.maxCursor = -1
37
- /** @type {(Uint8Array|number[])[]} */
38
- this.chunks = []
39
- // keep the first chunk around if we can to save allocations for future encodes
40
- /** @type {Uint8Array|number[]|null} */
41
- this._initReuseChunk = null
42
- }
43
-
44
- reset () {
45
- this.cursor = 0
46
- this.maxCursor = -1
47
- if (this.chunks.length) {
48
- this.chunks = []
49
- }
50
- if (this._initReuseChunk !== null) {
51
- this.chunks.push(this._initReuseChunk)
52
- this.maxCursor = this._initReuseChunk.length - 1
53
- }
54
- }
55
-
56
- /**
57
- * @param {Uint8Array|number[]} bytes
58
- */
59
- push (bytes) {
60
- let topChunk = this.chunks[this.chunks.length - 1]
61
- const newMax = this.cursor + bytes.length
62
- if (newMax <= this.maxCursor + 1) {
63
- // we have at least one chunk and we can fit these bytes into that chunk
64
- const chunkPos = topChunk.length - (this.maxCursor - this.cursor) - 1
65
- // @ts-ignore
66
- topChunk.set(bytes, chunkPos)
67
- } else {
68
- // can't fit it in
69
- if (topChunk) {
70
- // trip the last chunk to `cursor` if we need to
71
- const chunkPos = topChunk.length - (this.maxCursor - this.cursor) - 1
72
- if (chunkPos < topChunk.length) {
73
- // @ts-ignore
74
- this.chunks[this.chunks.length - 1] = topChunk.subarray(0, chunkPos)
75
- this.maxCursor = this.cursor - 1
76
- }
77
- }
78
- if (bytes.length < 64 && bytes.length < this.chunkSize) {
79
- // make a new chunk and copy the new one into it
80
- topChunk = alloc(this.chunkSize)
81
- this.chunks.push(topChunk)
82
- this.maxCursor += topChunk.length
83
- if (this._initReuseChunk === null) {
84
- this._initReuseChunk = topChunk
85
- }
86
- // @ts-ignore
87
- topChunk.set(bytes, 0)
88
- } else {
89
- // push the new bytes in as its own chunk
90
- this.chunks.push(bytes)
91
- this.maxCursor += bytes.length
92
- }
93
- }
94
- this.cursor += bytes.length
95
- }
96
-
97
- /**
98
- * @param {boolean} [reset]
99
- * @returns {Uint8Array}
100
- */
101
- toBytes (reset = false) {
102
- let byts
103
- if (this.chunks.length === 1) {
104
- const chunk = this.chunks[0]
105
- if (reset && this.cursor > chunk.length / 2) {
106
- /* c8 ignore next 2 */
107
- // @ts-ignore
108
- byts = this.cursor === chunk.length ? chunk : chunk.subarray(0, this.cursor)
109
- this._initReuseChunk = null
110
- this.chunks = []
111
- } else {
112
- // @ts-ignore
113
- byts = slice(chunk, 0, this.cursor)
114
- }
115
- } else {
116
- // @ts-ignore
117
- byts = concat(this.chunks, this.cursor)
118
- }
119
- if (reset) {
120
- this.reset()
121
- }
122
- return byts
123
- }
124
- }