@atcute/car 5.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/reader.d.ts +1 -1
- package/dist/reader.d.ts.map +1 -1
- package/dist/reader.js +8 -11
- package/dist/reader.js.map +1 -1
- package/dist/streamed-reader.d.ts +2 -2
- package/dist/streamed-reader.d.ts.map +1 -1
- package/dist/streamed-reader.js +8 -13
- package/dist/streamed-reader.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.js.map +1 -1
- package/dist/writer.js.map +1 -1
- package/lib/index.ts +2 -0
- package/lib/reader.ts +8 -13
- package/lib/streamed-reader.ts +8 -15
- package/lib/types.ts +1 -1
- package/package.json +11 -8
package/README.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# @atcute/car
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
content-addressable archive (CAR) codec for AT Protocol.
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npm install @atcute/car
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
this library implements DASL's [CAR][dasl-car] format used by AT Protocol to store and transfer
|
|
10
|
+
repository data.
|
|
4
11
|
|
|
5
12
|
[dasl-car]: https://dasl.ing/car.html
|
|
6
13
|
|
|
@@ -57,3 +64,18 @@ for (const entry of car) {
|
|
|
57
64
|
// ^? CarEntry { cid: CidLink {}, bytes: Uint8Array {}, ... }
|
|
58
65
|
}
|
|
59
66
|
```
|
|
67
|
+
|
|
68
|
+
### writing
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
import { writeCarStream } from '@atcute/car';
|
|
72
|
+
|
|
73
|
+
const blocks = async function* () {
|
|
74
|
+
yield { cid: commitCid.bytes, data: commitBytes };
|
|
75
|
+
yield { cid: nodeCid.bytes, data: nodeBytes };
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
for await (const chunk of writeCarStream([rootCid], blocks())) {
|
|
79
|
+
stream.write(chunk);
|
|
80
|
+
}
|
|
81
|
+
```
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AAErC,cAAc,aAAa,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AAErC,cAAc,aAAa,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AAErC,cAAc,aAAa,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
package/dist/reader.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ export interface SyncCarReader {
|
|
|
7
7
|
iterate(): Generator<CarEntry>;
|
|
8
8
|
[Symbol.iterator](): Iterator<CarEntry>;
|
|
9
9
|
}
|
|
10
|
-
export declare const fromUint8Array: (buffer: Uint8Array) => SyncCarReader;
|
|
10
|
+
export declare const fromUint8Array: (buffer: Uint8Array<ArrayBufferLike>) => SyncCarReader;
|
|
11
11
|
//# sourceMappingURL=reader.d.ts.map
|
package/dist/reader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../lib/reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,EAAiB,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAS1E,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;IAE1B,oDAAoD;IACpD,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../lib/reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,OAAO,EAAiB,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAS1E,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;IAE1B,oDAAoD;IACpD,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,cAAc,wDA0C1B,CAAC"}
|
package/dist/reader.js
CHANGED
|
@@ -90,11 +90,11 @@ const readHeader = (reader) => {
|
|
|
90
90
|
return { data, headerStart, headerEnd, dataStart, dataEnd };
|
|
91
91
|
};
|
|
92
92
|
const readCid = (reader) => {
|
|
93
|
-
const
|
|
94
|
-
const version =
|
|
95
|
-
const codec =
|
|
96
|
-
const digestType =
|
|
97
|
-
const digestSize =
|
|
93
|
+
const bytes = reader.exactly(36, true);
|
|
94
|
+
const version = bytes[0];
|
|
95
|
+
const codec = bytes[1];
|
|
96
|
+
const digestType = bytes[2];
|
|
97
|
+
const digestSize = bytes[3];
|
|
98
98
|
if (version !== CID.CID_VERSION) {
|
|
99
99
|
throw new RangeError(`incorrect cid version (got v${version})`);
|
|
100
100
|
}
|
|
@@ -104,20 +104,17 @@ const readCid = (reader) => {
|
|
|
104
104
|
if (digestType !== CID.HASH_SHA256) {
|
|
105
105
|
throw new RangeError(`incorrect cid digest type (got 0x${digestType.toString(16)})`);
|
|
106
106
|
}
|
|
107
|
-
if (digestSize !== 32
|
|
107
|
+
if (digestSize !== 32) {
|
|
108
108
|
throw new RangeError(`incorrect cid digest size (got ${digestSize})`);
|
|
109
109
|
}
|
|
110
|
-
|
|
111
|
-
const digest = bytes.subarray(4, 4 + digestSize);
|
|
112
|
-
const cid = {
|
|
110
|
+
return {
|
|
113
111
|
version: version,
|
|
114
112
|
codec: codec,
|
|
115
113
|
digest: {
|
|
116
114
|
codec: digestType,
|
|
117
|
-
contents:
|
|
115
|
+
contents: bytes.subarray(4, 36),
|
|
118
116
|
},
|
|
119
117
|
bytes: bytes,
|
|
120
118
|
};
|
|
121
|
-
return cid;
|
|
122
119
|
};
|
|
123
120
|
//# sourceMappingURL=reader.js.map
|
package/dist/reader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../lib/reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAiC,MAAM,YAAY,CAAC;AAkB1E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAkB,EAAiB,EAAE;
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../lib/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,6 @@ export interface StreamedCarReader {
|
|
|
7
7
|
[Symbol.asyncDispose](): Promise<void>;
|
|
8
8
|
[Symbol.asyncIterator](): AsyncIterator<CarEntry>;
|
|
9
9
|
}
|
|
10
|
-
export declare const carEntryTransform: () => ReadableWritablePair<CarEntry, Uint8Array
|
|
11
|
-
export declare const fromStream: (stream: ReadableStream<Uint8Array
|
|
10
|
+
export declare const carEntryTransform: () => ReadableWritablePair<CarEntry, Uint8Array<ArrayBufferLike>>;
|
|
11
|
+
export declare const fromStream: (stream: ReadableStream<Uint8Array<ArrayBufferLike>>) => StreamedCarReader;
|
|
12
12
|
//# sourceMappingURL=streamed-reader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamed-reader.d.ts","sourceRoot":"","sources":["../lib/streamed-reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAO,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"streamed-reader.d.ts","sourceRoot":"","sources":["../lib/streamed-reader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAO,OAAO,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAiB,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IACjC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7B,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,iBAAiB,mEA6B7B,CAAC;AAEF,eAAO,MAAM,UAAU,4EA0LtB,CAAC"}
|
package/dist/streamed-reader.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as CBOR from '@atcute/cbor';
|
|
2
2
|
import * as CID from '@atcute/cid';
|
|
3
|
-
import { concat } from '@atcute/uint8array';
|
|
4
3
|
import { isCarV1Header } from './types.js';
|
|
5
4
|
export const carEntryTransform = () => {
|
|
6
5
|
const transform = new TransformStream();
|
|
@@ -77,11 +76,11 @@ export const fromStream = (stream) => {
|
|
|
77
76
|
return buffer;
|
|
78
77
|
};
|
|
79
78
|
const readCid = async () => {
|
|
80
|
-
const
|
|
81
|
-
const version =
|
|
82
|
-
const codec =
|
|
83
|
-
const digestType =
|
|
84
|
-
const digestSize =
|
|
79
|
+
const bytes = await readExact(36);
|
|
80
|
+
const version = bytes[0];
|
|
81
|
+
const codec = bytes[1];
|
|
82
|
+
const digestType = bytes[2];
|
|
83
|
+
const digestSize = bytes[3];
|
|
85
84
|
if (version !== CID.CID_VERSION) {
|
|
86
85
|
throw new RangeError(`incorrect cid version (got v${version})`);
|
|
87
86
|
}
|
|
@@ -91,22 +90,18 @@ export const fromStream = (stream) => {
|
|
|
91
90
|
if (digestType !== CID.HASH_SHA256) {
|
|
92
91
|
throw new RangeError(`incorrect cid digest type (got 0x${digestType.toString(16)})`);
|
|
93
92
|
}
|
|
94
|
-
if (digestSize !== 32
|
|
93
|
+
if (digestSize !== 32) {
|
|
95
94
|
throw new RangeError(`incorrect cid digest size (got ${digestSize})`);
|
|
96
95
|
}
|
|
97
|
-
|
|
98
|
-
const bytes = concat([head, await readExact(digestSize)]);
|
|
99
|
-
const digest = bytes.subarray(4, 4 + digestSize);
|
|
100
|
-
const cid = {
|
|
96
|
+
return {
|
|
101
97
|
version: version,
|
|
102
98
|
codec: codec,
|
|
103
99
|
digest: {
|
|
104
100
|
codec: digestType,
|
|
105
|
-
contents:
|
|
101
|
+
contents: bytes.subarray(4, 36),
|
|
106
102
|
},
|
|
107
103
|
bytes: bytes,
|
|
108
104
|
};
|
|
109
|
-
return cid;
|
|
110
105
|
};
|
|
111
106
|
return {
|
|
112
107
|
[Symbol.asyncDispose]() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamed-reader.js","sourceRoot":"","sources":["../lib/streamed-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAErC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"streamed-reader.js","sourceRoot":"","sources":["../lib/streamed-reader.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,GAAG,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAErE,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,0CAOzB,CAAC;AAEF,MAAM,WAAW,SAAS;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IAEjB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAEf,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,sCAAsC;IACtC,GAAG,EAAE,UAAU,CAAC;IAChB,qBAAqB;IACrB,IAAI,EAAE,UAAU,CAAC;CACjB"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,MAAM,aAAa,CAAC;AAOrE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA0B,MAAM,aAAa,CAAC;AAOrE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC;IACtE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAoB,CAAC;IAChD,OAAO,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,cAAc,CAAC,CAAC;AAAA,CACtG,CAAC"}
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAEf,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAEf,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;IAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AAAA,CACD,CAAC"}
|
package/dist/writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../lib/writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAIzC;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAC,CAAS,EAA2B,EAAE;
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../lib/writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAIzC;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAC,CAAS,EAA2B,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC;AAAA,CACX,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAyB,EAA2B,EAAE,CAAC;IACzF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,KAAK;KACZ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAElE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAAA,CACd,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAe,EAAE,IAAgB,EAA2B,EAAE,CAAC;IAChG,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAExE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAAA,CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACpC,KAAgB,EAChB,MAAoD,EACV;IAC1C,oBAAoB;IACpB,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAClC,MAAM,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;AAAA,CACD"}
|
package/lib/index.ts
CHANGED
package/lib/reader.ts
CHANGED
|
@@ -132,12 +132,12 @@ const readHeader = (reader: SyncByteReader): CarHeader => {
|
|
|
132
132
|
};
|
|
133
133
|
|
|
134
134
|
const readCid = (reader: SyncByteReader): CID.Cid => {
|
|
135
|
-
const
|
|
135
|
+
const bytes = reader.exactly(36, true);
|
|
136
136
|
|
|
137
|
-
const version =
|
|
138
|
-
const codec =
|
|
139
|
-
const digestType =
|
|
140
|
-
const digestSize =
|
|
137
|
+
const version = bytes[0];
|
|
138
|
+
const codec = bytes[1];
|
|
139
|
+
const digestType = bytes[2];
|
|
140
|
+
const digestSize = bytes[3];
|
|
141
141
|
|
|
142
142
|
if (version !== CID.CID_VERSION) {
|
|
143
143
|
throw new RangeError(`incorrect cid version (got v${version})`);
|
|
@@ -151,22 +151,17 @@ const readCid = (reader: SyncByteReader): CID.Cid => {
|
|
|
151
151
|
throw new RangeError(`incorrect cid digest type (got 0x${digestType.toString(16)})`);
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
if (digestSize !== 32
|
|
154
|
+
if (digestSize !== 32) {
|
|
155
155
|
throw new RangeError(`incorrect cid digest size (got ${digestSize})`);
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
|
|
159
|
-
const digest = bytes.subarray(4, 4 + digestSize);
|
|
160
|
-
|
|
161
|
-
const cid: CID.Cid = {
|
|
158
|
+
return {
|
|
162
159
|
version: version,
|
|
163
160
|
codec: codec,
|
|
164
161
|
digest: {
|
|
165
162
|
codec: digestType,
|
|
166
|
-
contents:
|
|
163
|
+
contents: bytes.subarray(4, 36),
|
|
167
164
|
},
|
|
168
165
|
bytes: bytes,
|
|
169
166
|
};
|
|
170
|
-
|
|
171
|
-
return cid;
|
|
172
167
|
};
|
package/lib/streamed-reader.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as CBOR from '@atcute/cbor';
|
|
2
2
|
import type { Cid, CidLink } from '@atcute/cid';
|
|
3
3
|
import * as CID from '@atcute/cid';
|
|
4
|
-
import { concat } from '@atcute/uint8array';
|
|
5
4
|
|
|
6
5
|
import { isCarV1Header, type CarEntry, type CarHeader } from './types.js';
|
|
7
6
|
|
|
@@ -112,12 +111,12 @@ export const fromStream = (stream: ReadableStream<Uint8Array>): StreamedCarReade
|
|
|
112
111
|
};
|
|
113
112
|
|
|
114
113
|
const readCid = async (): Promise<Cid> => {
|
|
115
|
-
const
|
|
114
|
+
const bytes = await readExact(36);
|
|
116
115
|
|
|
117
|
-
const version =
|
|
118
|
-
const codec =
|
|
119
|
-
const digestType =
|
|
120
|
-
const digestSize =
|
|
116
|
+
const version = bytes[0];
|
|
117
|
+
const codec = bytes[1];
|
|
118
|
+
const digestType = bytes[2];
|
|
119
|
+
const digestSize = bytes[3];
|
|
121
120
|
|
|
122
121
|
if (version !== CID.CID_VERSION) {
|
|
123
122
|
throw new RangeError(`incorrect cid version (got v${version})`);
|
|
@@ -131,25 +130,19 @@ export const fromStream = (stream: ReadableStream<Uint8Array>): StreamedCarReade
|
|
|
131
130
|
throw new RangeError(`incorrect cid digest type (got 0x${digestType.toString(16)})`);
|
|
132
131
|
}
|
|
133
132
|
|
|
134
|
-
if (digestSize !== 32
|
|
133
|
+
if (digestSize !== 32) {
|
|
135
134
|
throw new RangeError(`incorrect cid digest size (got ${digestSize})`);
|
|
136
135
|
}
|
|
137
136
|
|
|
138
|
-
|
|
139
|
-
const bytes = concat([head, await readExact(digestSize)]);
|
|
140
|
-
const digest = bytes.subarray(4, 4 + digestSize);
|
|
141
|
-
|
|
142
|
-
const cid: Cid = {
|
|
137
|
+
return {
|
|
143
138
|
version: version,
|
|
144
139
|
codec: codec,
|
|
145
140
|
digest: {
|
|
146
141
|
codec: digestType,
|
|
147
|
-
contents:
|
|
142
|
+
contents: bytes.subarray(4, 36),
|
|
148
143
|
},
|
|
149
144
|
bytes: bytes,
|
|
150
145
|
};
|
|
151
|
-
|
|
152
|
-
return cid;
|
|
153
146
|
};
|
|
154
147
|
|
|
155
148
|
return {
|
package/lib/types.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@atcute/car",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.1.0",
|
|
5
5
|
"description": "lightweight DASL CAR (content-addressable archives) codec for AT Protocol.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"atproto",
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
"url": "https://github.com/mary-ext/atcute",
|
|
14
14
|
"directory": "packages/utilities/car"
|
|
15
15
|
},
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
16
19
|
"files": [
|
|
17
20
|
"dist/",
|
|
18
21
|
"lib/",
|
|
@@ -24,18 +27,18 @@
|
|
|
24
27
|
},
|
|
25
28
|
"sideEffects": false,
|
|
26
29
|
"devDependencies": {
|
|
27
|
-
"@vitest/coverage-v8": "^
|
|
28
|
-
"vitest": "^
|
|
30
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
31
|
+
"vitest": "^4.0.16",
|
|
29
32
|
"@atcute/multibase": "^1.1.6"
|
|
30
33
|
},
|
|
31
34
|
"dependencies": {
|
|
32
|
-
"@atcute/
|
|
33
|
-
"@atcute/
|
|
34
|
-
"@atcute/
|
|
35
|
-
"@atcute/
|
|
35
|
+
"@atcute/cbor": "^2.3.0",
|
|
36
|
+
"@atcute/cid": "^2.4.0",
|
|
37
|
+
"@atcute/varint": "^1.0.3",
|
|
38
|
+
"@atcute/uint8array": "^1.0.6"
|
|
36
39
|
},
|
|
37
40
|
"scripts": {
|
|
38
|
-
"build": "
|
|
41
|
+
"build": "tsgo --project tsconfig.build.json",
|
|
39
42
|
"test": "vitest --coverage",
|
|
40
43
|
"prepublish": "rm -rf dist; pnpm run build"
|
|
41
44
|
}
|