@ipld/car 3.2.4 → 4.1.1

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 (82) hide show
  1. package/README.md +183 -2
  2. package/api.ts +22 -4
  3. package/buffer-writer +1 -0
  4. package/cjs/browser-test/common.js +78 -3
  5. package/cjs/browser-test/node-test-large.js +8 -8
  6. package/cjs/browser-test/test-buffer-writer.js +330 -0
  7. package/cjs/browser-test/test-errors.js +57 -34
  8. package/cjs/browser-test/test-indexer.js +12 -0
  9. package/cjs/browser-test/test-reader.js +83 -0
  10. package/cjs/browser-test/test-writer.js +3 -3
  11. package/cjs/lib/buffer-writer.js +161 -0
  12. package/cjs/lib/decoder.js +72 -15
  13. package/cjs/lib/encoder.js +2 -2
  14. package/cjs/lib/header-validator.js +29 -0
  15. package/cjs/lib/reader-browser.js +7 -7
  16. package/cjs/lib/writer-browser.js +1 -1
  17. package/cjs/node-test/common.js +78 -3
  18. package/cjs/node-test/node-test-large.js +8 -8
  19. package/cjs/node-test/test-buffer-writer.js +330 -0
  20. package/cjs/node-test/test-errors.js +57 -34
  21. package/cjs/node-test/test-indexer.js +12 -0
  22. package/cjs/node-test/test-reader.js +83 -0
  23. package/cjs/node-test/test-writer.js +3 -3
  24. package/esm/browser-test/common.js +76 -1
  25. package/esm/browser-test/test-buffer-writer.js +311 -0
  26. package/esm/browser-test/test-errors.js +57 -33
  27. package/esm/browser-test/test-indexer.js +15 -0
  28. package/esm/browser-test/test-reader.js +90 -1
  29. package/esm/browser-test/test-writer.js +3 -3
  30. package/esm/lib/buffer-writer.js +126 -0
  31. package/esm/lib/decoder.js +69 -13
  32. package/esm/lib/header-validator.js +23 -0
  33. package/esm/lib/reader-browser.js +7 -8
  34. package/esm/lib/writer-browser.js +1 -1
  35. package/esm/node-test/common.js +76 -1
  36. package/esm/node-test/test-buffer-writer.js +311 -0
  37. package/esm/node-test/test-errors.js +57 -33
  38. package/esm/node-test/test-indexer.js +15 -0
  39. package/esm/node-test/test-reader.js +90 -1
  40. package/esm/node-test/test-writer.js +3 -3
  41. package/examples/car-to-fixture.js +1 -4
  42. package/examples/dump-index.js +24 -0
  43. package/examples/test-examples.js +33 -0
  44. package/lib/buffer-writer.js +286 -0
  45. package/lib/coding.ts +17 -2
  46. package/lib/decoder.js +130 -14
  47. package/lib/header-validator.js +33 -0
  48. package/lib/header.ipldsch +6 -0
  49. package/lib/reader-browser.js +11 -11
  50. package/lib/writer-browser.js +1 -1
  51. package/package.json +16 -6
  52. package/test/_fixtures_to_js.mjs +24 -0
  53. package/test/common.js +49 -3
  54. package/test/go.carv2 +0 -0
  55. package/test/test-buffer-writer.js +256 -0
  56. package/test/test-errors.js +52 -30
  57. package/test/test-indexer.js +24 -1
  58. package/test/test-reader.js +94 -1
  59. package/test/test-writer.js +3 -3
  60. package/tsconfig.json +3 -1
  61. package/types/api.d.ts +16 -0
  62. package/types/api.d.ts.map +1 -1
  63. package/types/lib/buffer-writer.d.ts +86 -0
  64. package/types/lib/buffer-writer.d.ts.map +1 -0
  65. package/types/lib/coding.d.ts +14 -4
  66. package/types/lib/coding.d.ts.map +1 -1
  67. package/types/lib/decoder.d.ts +38 -2
  68. package/types/lib/decoder.d.ts.map +1 -1
  69. package/types/lib/header-validator.d.ts +2 -0
  70. package/types/lib/header-validator.d.ts.map +1 -0
  71. package/types/lib/reader-browser.d.ts +15 -7
  72. package/types/lib/reader-browser.d.ts.map +1 -1
  73. package/types/test/_fixtures_to_js.d.mts +3 -0
  74. package/types/test/_fixtures_to_js.d.mts.map +1 -0
  75. package/types/test/common.d.ts +13 -0
  76. package/types/test/common.d.ts.map +1 -1
  77. package/types/test/fixtures-expectations.d.ts +63 -0
  78. package/types/test/fixtures-expectations.d.ts.map +1 -0
  79. package/types/test/fixtures.d.ts +3 -0
  80. package/types/test/fixtures.d.ts.map +1 -0
  81. package/types/test/test-buffer-writer.d.ts +2 -0
  82. package/types/test/test-buffer-writer.d.ts.map +1 -0
package/README.md CHANGED
@@ -240,6 +240,21 @@ be directly fed to a
240
240
  * [`async CarWriter.createAppender()`](#CarWriter__createAppender)
241
241
  * [`async CarWriter.updateRootsInBytes(bytes, roots)`](#CarWriter__updateRootsInBytes)
242
242
  * [`async CarWriter.updateRootsInFile(fd, roots)`](#CarWriter__updateRootsInFile)
243
+ * [`class CarBufferWriter`](#CarBufferWriter)
244
+ * [`CarBufferWriter#addRoot(root, options)`](#CarBufferWriter_addRoot)
245
+ * [`CarBufferWriter#write(block)`](#CarBufferWriter_write)
246
+ * [`CarBufferWriter#close([options])`](#CarBufferWriter_close)
247
+ * [`CarBufferWriter.blockLength(Block)`](#CarBufferWriter__blockLength__Block__)
248
+ * [`CarBufferWriter.calculateHeaderLength(rootLengths)`](#CarBufferWriter__calculateHeaderLength__rootLengths__)
249
+ * [`CarBufferWriter.headerLength({ roots })`](#CarBufferWriter__headerLength______roots______)
250
+ * [`CarBufferWriter.estimateHeaderLength(rootCount[, rootByteLength])`](#CarBufferWriter__estimateHeaderLength__rootCount______rootByteLength____)
251
+ * [`CarBufferWriter.createWriter(buffer[, options])`](#CarBufferWriter__createWriter__buffer______options____)
252
+ * [`async decoder.readHeader(reader)`](#async__decoder__readHeader__reader__)
253
+ * [`async decoder.readBlockHead(reader)`](#async__decoder__readBlockHead__reader__)
254
+ * [`decoder.createDecoder(reader)`](#decoder__createDecoder__reader__)
255
+ * [`decoder.bytesReader(bytes)`](#decoder__bytesReader__bytes__)
256
+ * [`decoder.asyncIterableReader(asyncIterable)`](#decoder__asyncIterableReader__asyncIterable__)
257
+ * [`decoder.limitReader(reader, byteLimit)`](#decoder__limitReader__reader____byteLimit__)
243
258
 
244
259
  <a name="CarReader"></a>
245
260
  ### `class CarReader`
@@ -247,7 +262,7 @@ be directly fed to a
247
262
  Properties:
248
263
 
249
264
  * `version` `(number)`: The version number of the CAR referenced by this
250
- reader (should be `1`).
265
+ reader (should be `1` or `2`).
251
266
 
252
267
  Provides blockstore-like access to a CAR.
253
268
 
@@ -748,7 +763,8 @@ upon successful modification.
748
763
 
749
764
  Update the list of roots in the header of an existing CAR file. The first
750
765
  argument must be a file descriptor for CAR file that is open in read and
751
- write mode (not append).
766
+ write mode (not append), e.g. `fs.open` or `fs.promises.open` with `'r+'`
767
+ mode.
752
768
 
753
769
  This operation is an _overwrite_, the total length of the CAR will not be
754
770
  modified. A rejection will occur if the new header will not be the same
@@ -759,6 +775,171 @@ replaced encode as the same length as the new roots.
759
775
  This function is **only available in Node.js** and not a browser
760
776
  environment.
761
777
 
778
+ <a name="CarBufferWriter"></a>
779
+ ### `class CarBufferWriter`
780
+
781
+ A simple CAR writer that writes to a pre-allocated buffer.
782
+
783
+ <a name="CarBufferWriter_addRoot"></a>
784
+ ### `CarBufferWriter#addRoot(root, options)`
785
+
786
+ * `root` `(CID)`
787
+ * `options`
788
+
789
+ * Returns: `CarBufferWriter`
790
+
791
+ Add a root to this writer, to be used to create a header when the CAR is
792
+ finalized with [`close()`](#CarBufferWriter__close)
793
+
794
+ <a name="CarBufferWriter_write"></a>
795
+ ### `CarBufferWriter#write(block)`
796
+
797
+ * `block` `(Block)`: A `{ cid:CID, bytes:Uint8Array }` pair.
798
+
799
+ * Returns: `CarBufferWriter`
800
+
801
+ Write a `Block` (a `{ cid:CID, bytes:Uint8Array }` pair) to the archive.
802
+ Throws if there is not enough capacity.
803
+
804
+ <a name="CarBufferWriter_close"></a>
805
+ ### `CarBufferWriter#close([options])`
806
+
807
+ * `options` `(object, optional)`
808
+ * `options.resize` `(boolean, optional)`
809
+
810
+ * Returns: `Uint8Array`
811
+
812
+ Finalize the CAR and return it as a `Uint8Array`.
813
+
814
+ <a name="CarBufferWriter__blockLength__Block__"></a>
815
+ ### `CarBufferWriter.blockLength(Block)`
816
+
817
+ * `block` `(Block)`
818
+
819
+ * Returns: `number`
820
+
821
+ Calculates number of bytes required for storing given block in CAR. Useful in
822
+ estimating size of an `ArrayBuffer` for the `CarBufferWriter`.
823
+
824
+ <a name="CarBufferWriter__calculateHeaderLength__rootLengths__"></a>
825
+ ### `CarBufferWriter.calculateHeaderLength(rootLengths)`
826
+
827
+ * `rootLengths` `(number[])`
828
+
829
+ * Returns: `number`
830
+
831
+ Calculates header size given the array of byteLength for roots.
832
+
833
+ <a name="CarBufferWriter__headerLength______roots______"></a>
834
+ ### `CarBufferWriter.headerLength({ roots })`
835
+
836
+ * `options` `(object)`
837
+ * `options.roots` `(CID[])`
838
+
839
+ * Returns: `number`
840
+
841
+ Calculates header size given the array of roots.
842
+
843
+ <a name="CarBufferWriter__estimateHeaderLength__rootCount______rootByteLength____"></a>
844
+ ### `CarBufferWriter.estimateHeaderLength(rootCount[, rootByteLength])`
845
+
846
+ * `rootCount` `(number)`
847
+ * `rootByteLength` `(number, optional)`
848
+
849
+ * Returns: `number`
850
+
851
+ Estimates header size given a count of the roots and the expected byte length
852
+ of the root CIDs. The default length works for a standard CIDv1 with a
853
+ single-byte multihash code, such as SHA2-256 (i.e. the most common CIDv1).
854
+
855
+ <a name="CarBufferWriter__createWriter__buffer______options____"></a>
856
+ ### `CarBufferWriter.createWriter(buffer[, options])`
857
+
858
+ * `buffer` `(ArrayBuffer)`
859
+ * `options` `(object, optional)`
860
+ * `options.roots` `(CID[], optional)`
861
+ * `options.byteOffset` `(number, optional)`
862
+ * `options.byteLength` `(number, optional)`
863
+ * `options.headerSize` `(number, optional)`
864
+
865
+ * Returns: `CarBufferWriter`
866
+
867
+ Creates synchronous CAR writer that can be used to encode blocks into a given
868
+ buffer. Optionally you could pass `byteOffset` and `byteLength` to specify a
869
+ range inside buffer to write into. If car file is going to have `roots` you
870
+ need to either pass them under `options.roots` (from which header size will
871
+ be calculated) or provide `options.headerSize` to allocate required space
872
+ in the buffer. You may also provide known `roots` and `headerSize` to
873
+ allocate space for the roots that may not be known ahead of time.
874
+
875
+ Note: Incorrect `headerSize` may lead to copying bytes inside a buffer
876
+ which will have a negative impact on performance.
877
+
878
+ <a name="async__decoder__readHeader__reader__"></a>
879
+ ### `async decoder.readHeader(reader)`
880
+
881
+ * `reader` `(BytesReader)`
882
+ * `strictVersion` `(number, optional)`
883
+
884
+ * Returns: `Promise<(CarHeader|CarV2Header)>`
885
+
886
+ Reads header data from a `BytesReader`. The header may either be in the form
887
+ of a `CarHeader` or `CarV2Header` depending on the CAR being read.
888
+
889
+ <a name="async__decoder__readBlockHead__reader__"></a>
890
+ ### `async decoder.readBlockHead(reader)`
891
+
892
+ * `reader` `(BytesReader)`
893
+
894
+ * Returns: `Promise<BlockHeader>`
895
+
896
+ Reads the leading data of an individual block from CAR data from a
897
+ `BytesReader`. Returns a `BlockHeader` object which contains
898
+ `{ cid, length, blockLength }` which can be used to either index the block
899
+ or read the block binary data.
900
+
901
+ <a name="decoder__createDecoder__reader__"></a>
902
+ ### `decoder.createDecoder(reader)`
903
+
904
+ * `reader` `(BytesReader)`
905
+
906
+ * Returns: `CarDecoder`
907
+
908
+ Creates a `CarDecoder` from a `BytesReader`. The `CarDecoder` is as async
909
+ interface that will consume the bytes from the `BytesReader` to yield a
910
+ `header()` and either `blocks()` or `blocksIndex()` data.
911
+
912
+ <a name="decoder__bytesReader__bytes__"></a>
913
+ ### `decoder.bytesReader(bytes)`
914
+
915
+ * `bytes` `(Uint8Array)`
916
+
917
+ * Returns: `BytesReader`
918
+
919
+ Creates a `BytesReader` from a `Uint8Array`.
920
+
921
+ <a name="decoder__asyncIterableReader__asyncIterable__"></a>
922
+ ### `decoder.asyncIterableReader(asyncIterable)`
923
+
924
+ * `asyncIterable` `(AsyncIterable<Uint8Array>)`
925
+
926
+ * Returns: `BytesReader`
927
+
928
+ Creates a `BytesReader` from an `AsyncIterable<Uint8Array>`, which allows for
929
+ consumption of CAR data from a streaming source.
930
+
931
+ <a name="decoder__limitReader__reader____byteLimit__"></a>
932
+ ### `decoder.limitReader(reader, byteLimit)`
933
+
934
+ * `reader` `(BytesReader)`
935
+ * `byteLimit` `(number)`
936
+
937
+ * Returns: `BytesReader`
938
+
939
+ Wraps a `BytesReader` in a limiting `BytesReader` which limits maximum read
940
+ to `byteLimit` bytes. It _does not_ update `pos` of the original
941
+ `BytesReader`.
942
+
762
943
  ## License
763
944
 
764
945
  Licensed under either of
package/api.ts CHANGED
@@ -1,17 +1,21 @@
1
1
  import { CID } from 'multiformats/cid'
2
2
 
3
+ export type { CID }
3
4
  /* Generic types for interfacing with block storage */
4
5
 
5
- export type Block = { cid: CID, bytes: Uint8Array }
6
+ export type Block = {
7
+ cid: CID
8
+ bytes: Uint8Array
9
+ }
6
10
 
7
11
  export type BlockHeader = {
8
- cid: CID,
9
- length: number,
12
+ cid: CID
13
+ length: number
10
14
  blockLength: number
11
15
  }
12
16
 
13
17
  export type BlockIndex = BlockHeader & {
14
- offset: number,
18
+ offset: number
15
19
  blockOffset: number
16
20
  }
17
21
 
@@ -36,6 +40,20 @@ export interface BlockWriter {
36
40
  close(): Promise<void>
37
41
  }
38
42
 
43
+ export interface CarBufferWriter {
44
+ addRoot(root:CID, options?:{ resize?: boolean }):CarBufferWriter
45
+ write(block: Block): CarBufferWriter
46
+ close(options?:{ resize?: boolean }): Uint8Array
47
+ }
48
+
49
+ export interface CarBufferWriterOptions {
50
+ roots?: CID[] // defaults to []
51
+ byteOffset?: number // defaults to 0
52
+ byteLength?: number // defaults to buffer.byteLength
53
+
54
+ headerSize?: number // defaults to size needed for provided roots
55
+ }
56
+
39
57
  export interface WriterChannel {
40
58
  writer: BlockWriter
41
59
  out: AsyncIterable<Uint8Array>
package/buffer-writer ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./cjs/lib/buffer-writer.js')
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var multiformats = require('multiformats');
6
6
  var sha2 = require('multiformats/hashes/sha2');
7
7
  var raw = require('multiformats/codecs/raw');
8
- var dagCbor = require('@ipld/dag-cbor');
8
+ var CBOR = require('@ipld/dag-cbor');
9
9
  var dagPb = require('@ipld/dag-pb');
10
10
  var chai = require('chai');
11
11
  var chaiAsPromised = require('chai-as-promised');
@@ -31,7 +31,7 @@ function _interopNamespace(e) {
31
31
  }
32
32
 
33
33
  var raw__namespace = /*#__PURE__*/_interopNamespace(raw);
34
- var dagCbor__namespace = /*#__PURE__*/_interopNamespace(dagCbor);
34
+ var CBOR__namespace = /*#__PURE__*/_interopNamespace(CBOR);
35
35
  var dagPb__namespace = /*#__PURE__*/_interopNamespace(dagPb);
36
36
  var chai__default = /*#__PURE__*/_interopDefaultLegacy(chai);
37
37
  var chaiAsPromised__default = /*#__PURE__*/_interopDefaultLegacy(chaiAsPromised);
@@ -101,7 +101,7 @@ async function makeData() {
101
101
  cborBlocks.push(await toBlock({
102
102
  name: b[0],
103
103
  link: b[1]
104
- }, dagCbor__namespace));
104
+ }, CBOR__namespace));
105
105
  }
106
106
  allBlocks = [
107
107
  [
@@ -214,12 +214,87 @@ const goCarIndex = [
214
214
  blockLength: 18
215
215
  }
216
216
  ];
217
+ const goCarV2Bytes = multiformats.bytes.fromHex('0aa16776657273696f6e02000000000000000000000000000000003300000000000000c001000000000000f30100000000000038a265726f6f747381d82a5823001220fb16f5083412ef1371d031ed4aa239903d84efdadf1ba3cd678e6475b1a232f86776657273696f6e01511220fb16f5083412ef1371d031ed4aa239903d84efdadf1ba3cd678e6475b1a232f8122d0a221220d9c0d5376d26f1931f7ad52d7acc00fc1090d2edb0808bf61eeb0a152826f6261204f09f8da418a40185011220d9c0d5376d26f1931f7ad52d7acc00fc1090d2edb0808bf61eeb0a152826f62612310a221220d745b7757f5b4593eeab7820306c7bc64eb496a7410a0d07df7a34ffec4b97f1120962617272656c657965183a122e0a2401551220a2e1c40da1ae335d4dffe729eb4d5ca23b74b9e51fc535f4a804a261080c294d1204f09f90a11807581220d745b7757f5b4593eeab7820306c7bc64eb496a7410a0d07df7a34ffec4b97f112340a2401551220b474a99a2705e23cf905a484ec6d14ef58b56bbe62e9292783466ec363b5072d120a666973686d6f6e67657218042801551220b474a99a2705e23cf905a484ec6d14ef58b56bbe62e9292783466ec363b5072d666973682b01551220a2e1c40da1ae335d4dffe729eb4d5ca23b74b9e51fc535f4a804a261080c294d6c6f62737465720100000028000000c800000000000000a2e1c40da1ae335d4dffe729eb4d5ca23b74b9e51fc535f4a804a261080c294d9401000000000000b474a99a2705e23cf905a484ec6d14ef58b56bbe62e9292783466ec363b5072d6b01000000000000d745b7757f5b4593eeab7820306c7bc64eb496a7410a0d07df7a34ffec4b97f11201000000000000d9c0d5376d26f1931f7ad52d7acc00fc1090d2edb0808bf61eeb0a152826f6268b00000000000000fb16f5083412ef1371d031ed4aa239903d84efdadf1ba3cd678e6475b1a232f83900000000000000');
218
+ const goCarV2Roots = [multiformats.CID.parse('QmfEoLyB5NndqeKieExd1rtJzTduQUPEV8TwAYcUiy3H5Z')];
219
+ const goCarV2Index = [
220
+ {
221
+ blockLength: 47,
222
+ blockOffset: 143,
223
+ cid: multiformats.CID.parse('QmfEoLyB5NndqeKieExd1rtJzTduQUPEV8TwAYcUiy3H5Z'),
224
+ length: 82,
225
+ offset: 108
226
+ },
227
+ {
228
+ blockLength: 99,
229
+ blockOffset: 226,
230
+ cid: multiformats.CID.parse('QmczfirA7VEH7YVvKPTPoU69XM3qY4DC39nnTsWd4K3SkM'),
231
+ length: 135,
232
+ offset: 190
233
+ },
234
+ {
235
+ blockLength: 54,
236
+ blockOffset: 360,
237
+ cid: multiformats.CID.parse('Qmcpz2FHJD7VAhg1fxFXdYJKePtkx1BsHuCrAgWVnaHMTE'),
238
+ length: 89,
239
+ offset: 325
240
+ },
241
+ {
242
+ blockLength: 4,
243
+ blockOffset: 451,
244
+ cid: multiformats.CID.parse('bafkreifuosuzujyf4i6psbneqtwg2fhplc2wxptc5euspa2gn3bwhnihfu'),
245
+ length: 41,
246
+ offset: 414
247
+ },
248
+ {
249
+ blockLength: 7,
250
+ blockOffset: 492,
251
+ cid: multiformats.CID.parse('bafkreifc4hca3inognou377hfhvu2xfchn2ltzi7yu27jkaeujqqqdbjju'),
252
+ length: 44,
253
+ offset: 455
254
+ }
255
+ ];
256
+ const goCarV2Contents = {
257
+ QmfEoLyB5NndqeKieExd1rtJzTduQUPEV8TwAYcUiy3H5Z: {
258
+ Links: [{
259
+ Hash: multiformats.CID.parse('QmczfirA7VEH7YVvKPTPoU69XM3qY4DC39nnTsWd4K3SkM'),
260
+ Name: '\uD83C\uDF64',
261
+ Tsize: 164
262
+ }]
263
+ },
264
+ QmczfirA7VEH7YVvKPTPoU69XM3qY4DC39nnTsWd4K3SkM: {
265
+ Links: [
266
+ {
267
+ Hash: multiformats.CID.parse('Qmcpz2FHJD7VAhg1fxFXdYJKePtkx1BsHuCrAgWVnaHMTE'),
268
+ Name: 'barreleye',
269
+ Tsize: 58
270
+ },
271
+ {
272
+ Hash: multiformats.CID.parse('bafkreifc4hca3inognou377hfhvu2xfchn2ltzi7yu27jkaeujqqqdbjju'),
273
+ Name: '\uD83D\uDC21',
274
+ Tsize: 7
275
+ }
276
+ ]
277
+ },
278
+ Qmcpz2FHJD7VAhg1fxFXdYJKePtkx1BsHuCrAgWVnaHMTE: {
279
+ Links: [{
280
+ Hash: multiformats.CID.parse('bafkreifuosuzujyf4i6psbneqtwg2fhplc2wxptc5euspa2gn3bwhnihfu'),
281
+ Name: 'fishmonger',
282
+ Tsize: 4
283
+ }]
284
+ },
285
+ bafkreifuosuzujyf4i6psbneqtwg2fhplc2wxptc5euspa2gn3bwhnihfu: 'fish',
286
+ bafkreifc4hca3inognou377hfhvu2xfchn2ltzi7yu27jkaeujqqqdbjju: 'lobster'
287
+ };
217
288
 
218
289
  exports.assert = assert;
219
290
  exports.carBytes = carBytes;
220
291
  exports.goCarBytes = goCarBytes;
221
292
  exports.goCarIndex = goCarIndex;
222
293
  exports.goCarRoots = goCarRoots;
294
+ exports.goCarV2Bytes = goCarV2Bytes;
295
+ exports.goCarV2Contents = goCarV2Contents;
296
+ exports.goCarV2Index = goCarV2Index;
297
+ exports.goCarV2Roots = goCarV2Roots;
223
298
  exports.makeData = makeData;
224
299
  exports.makeIterable = makeIterable;
225
300
  exports.rndCid = rndCid;
@@ -4,7 +4,7 @@ var fs = require('fs');
4
4
  var stream = require('stream');
5
5
  var ipldGarbage = require('ipld-garbage');
6
6
  var varint = require('varint');
7
- var dagCbor = require('@ipld/dag-cbor');
7
+ var CBOR = require('@ipld/dag-cbor');
8
8
  var sha2 = require('multiformats/hashes/sha2');
9
9
  var cid = require('multiformats/cid');
10
10
  require('../car-browser.js');
@@ -36,7 +36,7 @@ function _interopNamespace(e) {
36
36
 
37
37
  var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
38
38
  var varint__default = /*#__PURE__*/_interopDefaultLegacy(varint);
39
- var dagCbor__namespace = /*#__PURE__*/_interopNamespace(dagCbor);
39
+ var CBOR__namespace = /*#__PURE__*/_interopNamespace(CBOR);
40
40
 
41
41
  describe('Large CAR', () => {
42
42
  const objects = [];
@@ -45,7 +45,7 @@ describe('Large CAR', () => {
45
45
  it('create, no roots', async () => {
46
46
  const {writer, out} = writerBrowser.CarWriter.create([]);
47
47
  stream.Readable.from(out).pipe(fs__default["default"].createWriteStream('./test.car'));
48
- let offset = dagCbor__namespace.encode({
48
+ let offset = CBOR__namespace.encode({
49
49
  version: 1,
50
50
  roots: []
51
51
  }).length;
@@ -53,9 +53,9 @@ describe('Large CAR', () => {
53
53
  for (let i = 0; i < 500; i++) {
54
54
  const obj = ipldGarbage.garbage(1000);
55
55
  objects.push(obj);
56
- const bytes = dagCbor__namespace.encode(obj);
56
+ const bytes = CBOR__namespace.encode(obj);
57
57
  const hash = await sha2.sha256.digest(bytes);
58
- const cid$1 = cid.CID.create(1, dagCbor__namespace.code, hash);
58
+ const cid$1 = cid.CID.create(1, CBOR__namespace.code, hash);
59
59
  cids.push(cid$1.toString());
60
60
  const blockLength = bytes.length;
61
61
  let length = cid$1.bytes.length + blockLength;
@@ -101,7 +101,7 @@ describe('Large CAR', () => {
101
101
  let i = 0;
102
102
  for await (const {cid, bytes} of reader.blocks()) {
103
103
  common.assert.strictEqual(cid.toString(), cids[i], `cid #${ i } ${ cid } <> ${ cids[i] }`);
104
- const obj = dagCbor__namespace.decode(bytes);
104
+ const obj = CBOR__namespace.decode(bytes);
105
105
  common.assert.deepStrictEqual(obj, objects[i], `object #${ i }`);
106
106
  i++;
107
107
  }
@@ -112,7 +112,7 @@ describe('Large CAR', () => {
112
112
  let i = 0;
113
113
  for await (const {cid, bytes} of reader.blocks()) {
114
114
  common.assert.strictEqual(cid.toString(), cids[i], `cid #${ i } ${ cid } <> ${ cids[i] }`);
115
- const obj = dagCbor__namespace.decode(bytes);
115
+ const obj = CBOR__namespace.decode(bytes);
116
116
  common.assert.deepStrictEqual(obj, objects[i], `object #${ i }`);
117
117
  i++;
118
118
  }
@@ -123,7 +123,7 @@ describe('Large CAR', () => {
123
123
  let i = 0;
124
124
  for await (const {cid, bytes} of reader.blocks()) {
125
125
  common.assert.strictEqual(cid.toString(), cids[i], `cid #${ i } ${ cid } <> ${ cids[i] }`);
126
- const obj = dagCbor__namespace.decode(bytes);
126
+ const obj = CBOR__namespace.decode(bytes);
127
127
  common.assert.deepStrictEqual(obj, objects[i], `object #${ i }`);
128
128
  i++;
129
129
  }