@atcute/car 3.1.3 → 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 +35 -45
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/{v4/car-reader/sync-car-reader.d.ts → reader.d.ts} +4 -4
- package/dist/reader.d.ts.map +1 -0
- package/dist/{v4/car-reader/sync-car-reader.js → reader.js} +9 -14
- package/dist/reader.js.map +1 -0
- package/dist/{v4/car-reader/stream-car-reader.d.ts → streamed-reader.d.ts} +5 -5
- package/dist/streamed-reader.d.ts.map +1 -0
- package/dist/{v4/car-reader/stream-car-reader.js → streamed-reader.js} +9 -16
- package/dist/streamed-reader.js.map +1 -0
- package/dist/{v4/car-reader/types.d.ts → types.d.ts} +12 -3
- package/dist/types.d.ts.map +1 -0
- package/dist/{v4/car-reader/types.js → types.js} +2 -3
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js.map +1 -0
- package/dist/writer.d.ts +26 -0
- package/dist/writer.d.ts.map +1 -0
- package/dist/writer.js +77 -0
- package/dist/writer.js.map +1 -0
- package/lib/index.ts +8 -0
- package/lib/{v4/car-reader/sync-car-reader.ts → reader.ts} +10 -16
- package/lib/{v4/car-reader/stream-car-reader.ts → streamed-reader.ts} +12 -20
- package/lib/{v4/car-reader/types.ts → types.ts} +14 -5
- package/lib/writer.ts +92 -0
- package/package.json +14 -14
- package/dist/v3/atproto-repo.d.ts +0 -2
- package/dist/v3/atproto-repo.d.ts.map +0 -1
- package/dist/v3/atproto-repo.js +0 -2
- package/dist/v3/atproto-repo.js.map +0 -1
- package/dist/v3/index.d.ts +0 -3
- package/dist/v3/index.d.ts.map +0 -1
- package/dist/v3/index.js +0 -3
- package/dist/v3/index.js.map +0 -1
- package/dist/v3/reader.d.ts +0 -2
- package/dist/v3/reader.d.ts.map +0 -1
- package/dist/v3/reader.js +0 -2
- package/dist/v3/reader.js.map +0 -1
- package/dist/v4/car-reader/index.d.ts +0 -4
- package/dist/v4/car-reader/index.d.ts.map +0 -1
- package/dist/v4/car-reader/index.js +0 -4
- package/dist/v4/car-reader/index.js.map +0 -1
- package/dist/v4/car-reader/stream-car-reader.d.ts.map +0 -1
- package/dist/v4/car-reader/stream-car-reader.js.map +0 -1
- package/dist/v4/car-reader/sync-car-reader.d.ts.map +0 -1
- package/dist/v4/car-reader/sync-car-reader.js.map +0 -1
- package/dist/v4/car-reader/types.d.ts.map +0 -1
- package/dist/v4/car-reader/types.js.map +0 -1
- package/dist/v4/index.d.ts +0 -3
- package/dist/v4/index.d.ts.map +0 -1
- package/dist/v4/index.js +0 -3
- package/dist/v4/index.js.map +0 -1
- package/dist/v4/repo-reader/index.d.ts +0 -6
- package/dist/v4/repo-reader/index.d.ts.map +0 -1
- package/dist/v4/repo-reader/index.js +0 -6
- package/dist/v4/repo-reader/index.js.map +0 -1
- package/dist/v4/repo-reader/mst.d.ts +0 -48
- package/dist/v4/repo-reader/mst.d.ts.map +0 -1
- package/dist/v4/repo-reader/mst.js +0 -62
- package/dist/v4/repo-reader/mst.js.map +0 -1
- package/dist/v4/repo-reader/stream-repo-reader.d.ts +0 -25
- package/dist/v4/repo-reader/stream-repo-reader.d.ts.map +0 -1
- package/dist/v4/repo-reader/stream-repo-reader.js +0 -143
- package/dist/v4/repo-reader/stream-repo-reader.js.map +0 -1
- package/dist/v4/repo-reader/sync-blockmap.d.ts +0 -30
- package/dist/v4/repo-reader/sync-blockmap.d.ts.map +0 -1
- package/dist/v4/repo-reader/sync-blockmap.js +0 -58
- package/dist/v4/repo-reader/sync-blockmap.js.map +0 -1
- package/dist/v4/repo-reader/sync-repo-reader.d.ts +0 -3
- package/dist/v4/repo-reader/sync-repo-reader.d.ts.map +0 -1
- package/dist/v4/repo-reader/sync-repo-reader.js +0 -20
- package/dist/v4/repo-reader/sync-repo-reader.js.map +0 -1
- package/dist/v4/repo-reader/types.d.ts +0 -21
- package/dist/v4/repo-reader/types.d.ts.map +0 -1
- package/dist/v4/repo-reader/types.js +0 -37
- package/dist/v4/repo-reader/types.js.map +0 -1
- package/dist/v4/utils.d.ts.map +0 -1
- package/dist/v4/utils.js.map +0 -1
- package/lib/v3/atproto-repo.ts +0 -15
- package/lib/v3/index.ts +0 -2
- package/lib/v3/reader.ts +0 -9
- package/lib/v4/car-reader/index.ts +0 -4
- package/lib/v4/index.ts +0 -2
- package/lib/v4/repo-reader/index.ts +0 -6
- package/lib/v4/repo-reader/mst.ts +0 -110
- package/lib/v4/repo-reader/stream-repo-reader.ts +0 -209
- package/lib/v4/repo-reader/sync-blockmap.ts +0 -85
- package/lib/v4/repo-reader/sync-repo-reader.ts +0 -27
- package/lib/v4/repo-reader/types.ts +0 -32
- /package/dist/{v4/utils.d.ts → utils.d.ts} +0 -0
- /package/dist/{v4/utils.js → utils.js} +0 -0
- /package/lib/{v4/utils.ts → utils.ts} +0 -0
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as CID from '@atcute/cid';
|
|
1
|
+
import { CidLinkWrapper, type Cid, type CidLink } from '@atcute/cid';
|
|
3
2
|
|
|
4
3
|
export interface CarV1Header {
|
|
5
4
|
version: 1;
|
|
6
|
-
roots:
|
|
5
|
+
roots: CidLink[];
|
|
7
6
|
}
|
|
8
7
|
|
|
9
8
|
export const isCarV1Header = (value: unknown): value is CarV1Header => {
|
|
@@ -12,7 +11,7 @@ export const isCarV1Header = (value: unknown): value is CarV1Header => {
|
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
const { version, roots } = value as CarV1Header;
|
|
15
|
-
return version === 1 && Array.isArray(roots) && roots.every((root) => root instanceof
|
|
14
|
+
return version === 1 && Array.isArray(roots) && roots.every((root) => root instanceof CidLinkWrapper);
|
|
16
15
|
};
|
|
17
16
|
|
|
18
17
|
export interface CarHeader {
|
|
@@ -28,7 +27,7 @@ export interface CarEntry {
|
|
|
28
27
|
entryStart: number;
|
|
29
28
|
entryEnd: number;
|
|
30
29
|
|
|
31
|
-
cid:
|
|
30
|
+
cid: Cid;
|
|
32
31
|
cidStart: number;
|
|
33
32
|
cidEnd: number;
|
|
34
33
|
|
|
@@ -36,3 +35,13 @@ export interface CarEntry {
|
|
|
36
35
|
bytesStart: number;
|
|
37
36
|
bytesEnd: number;
|
|
38
37
|
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* represents a block to be written to a CAR file
|
|
41
|
+
*/
|
|
42
|
+
export interface CarBlock {
|
|
43
|
+
/** the CID of the block (as bytes) */
|
|
44
|
+
cid: Uint8Array;
|
|
45
|
+
/** the block data */
|
|
46
|
+
data: Uint8Array;
|
|
47
|
+
}
|
package/lib/writer.ts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import * as CBOR from '@atcute/cbor';
|
|
2
|
+
import type { CidLink } from '@atcute/cid';
|
|
3
|
+
import { allocUnsafe } from '@atcute/uint8array';
|
|
4
|
+
import * as varint from '@atcute/varint';
|
|
5
|
+
|
|
6
|
+
import type { CarBlock } from './types.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* encodes a number as an unsigned varint (variable-length integer)
|
|
10
|
+
* @param n the number to encode
|
|
11
|
+
* @returns the varint-encoded bytes
|
|
12
|
+
*/
|
|
13
|
+
const encodeVarint = (n: number): Uint8Array<ArrayBuffer> => {
|
|
14
|
+
const length = varint.encodingLength(n);
|
|
15
|
+
const buf = allocUnsafe(length);
|
|
16
|
+
varint.encode(n, buf, 0);
|
|
17
|
+
return buf;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* serializes a CAR v1 header
|
|
22
|
+
* @internal
|
|
23
|
+
* @param roots array of root CIDs (typically just one)
|
|
24
|
+
* @returns the serialized header bytes
|
|
25
|
+
*/
|
|
26
|
+
export const serializeCarHeader = (roots: readonly CidLink[]): Uint8Array<ArrayBuffer> => {
|
|
27
|
+
const headerData = CBOR.encode({
|
|
28
|
+
version: 1,
|
|
29
|
+
roots: roots,
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const headerSize = encodeVarint(headerData.length);
|
|
33
|
+
const result = allocUnsafe(headerSize.length + headerData.length);
|
|
34
|
+
|
|
35
|
+
result.set(headerSize, 0);
|
|
36
|
+
result.set(headerData, headerSize.length);
|
|
37
|
+
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* serializes a single CAR entry (block)
|
|
43
|
+
* @internal
|
|
44
|
+
* @param cid the CID of the block (as bytes)
|
|
45
|
+
* @param data the block data
|
|
46
|
+
* @returns the serialized entry bytes
|
|
47
|
+
*/
|
|
48
|
+
export const serializeCarEntry = (cid: Uint8Array, data: Uint8Array): Uint8Array<ArrayBuffer> => {
|
|
49
|
+
const entrySize = encodeVarint(cid.length + data.length);
|
|
50
|
+
const result = allocUnsafe(entrySize.length + cid.length + data.length);
|
|
51
|
+
|
|
52
|
+
result.set(entrySize, 0);
|
|
53
|
+
result.set(cid, entrySize.length);
|
|
54
|
+
result.set(data, entrySize.length + cid.length);
|
|
55
|
+
|
|
56
|
+
return result;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* creates an async generator that yields CAR file chunks
|
|
61
|
+
* @param root root CIDs for the CAR file
|
|
62
|
+
* @param blocks async iterable of blocks to write
|
|
63
|
+
* @yields Uint8Array chunks of the CAR file (header, then entries)
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const blocks = async function* () {
|
|
68
|
+
* yield { cid: commitCid.bytes, data: commitBytes };
|
|
69
|
+
* yield { cid: nodeCid.bytes, data: nodeBytes };
|
|
70
|
+
* };
|
|
71
|
+
*
|
|
72
|
+
* // Stream chunks
|
|
73
|
+
* for await (const chunk of writeCarStream([rootCid], blocks())) {
|
|
74
|
+
* stream.write(chunk);
|
|
75
|
+
* }
|
|
76
|
+
*
|
|
77
|
+
* // Or collect into array (requires Array.fromAsync or polyfill)
|
|
78
|
+
* const chunks = await Array.fromAsync(writeCarStream([rootCid], blocks()));
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export async function* writeCarStream(
|
|
82
|
+
roots: CidLink[],
|
|
83
|
+
blocks: AsyncIterable<CarBlock> | Iterable<CarBlock>,
|
|
84
|
+
): AsyncGenerator<Uint8Array<ArrayBuffer>> {
|
|
85
|
+
// Emit header first
|
|
86
|
+
yield serializeCarHeader(roots);
|
|
87
|
+
|
|
88
|
+
// Then emit each block entry
|
|
89
|
+
for await (const block of blocks) {
|
|
90
|
+
yield serializeCarEntry(block.cid, block.data);
|
|
91
|
+
}
|
|
92
|
+
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@atcute/car",
|
|
4
|
-
"version": "
|
|
5
|
-
"description": "lightweight DASL CAR
|
|
4
|
+
"version": "5.1.0",
|
|
5
|
+
"description": "lightweight DASL CAR (content-addressable archives) codec for AT Protocol.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"atproto",
|
|
8
8
|
"dasl",
|
|
@@ -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/",
|
|
@@ -20,26 +23,23 @@
|
|
|
20
23
|
"!lib/**/*.test.ts"
|
|
21
24
|
],
|
|
22
25
|
"exports": {
|
|
23
|
-
".": "./dist/
|
|
24
|
-
"./v4": "./dist/v4/index.js",
|
|
25
|
-
"./v4/car-reader": "./dist/v4/car-reader/index.js",
|
|
26
|
-
"./v4/repo-reader": "./dist/v4/repo-reader/index.js"
|
|
26
|
+
".": "./dist/index.js"
|
|
27
27
|
},
|
|
28
28
|
"sideEffects": false,
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@
|
|
30
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
31
|
+
"vitest": "^4.0.16",
|
|
31
32
|
"@atcute/multibase": "^1.1.6"
|
|
32
33
|
},
|
|
33
34
|
"dependencies": {
|
|
34
|
-
"
|
|
35
|
-
"@atcute/
|
|
36
|
-
"@atcute/
|
|
37
|
-
"@atcute/uint8array": "^1.0.
|
|
38
|
-
"@atcute/varint": "^1.0.3"
|
|
35
|
+
"@atcute/cbor": "^2.3.0",
|
|
36
|
+
"@atcute/cid": "^2.4.0",
|
|
37
|
+
"@atcute/varint": "^1.0.3",
|
|
38
|
+
"@atcute/uint8array": "^1.0.6"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
|
-
"build": "
|
|
42
|
-
"test": "
|
|
41
|
+
"build": "tsgo --project tsconfig.build.json",
|
|
42
|
+
"test": "vitest --coverage",
|
|
43
43
|
"prepublish": "rm -rf dist; pnpm run build"
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { collectBlock, isCommit, isMstNode, isTreeEntry, fromUint8Array as iterateAtpRepo, readBlock, RepoEntry, walkMstEntries, type BlockMap, type Commit, type MstNode, type NodeEntry, type TreeEntry, } from '../v4/repo-reader/index.js';
|
|
2
|
-
//# sourceMappingURL=atproto-repo.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"atproto-repo.d.ts","sourceRoot":"","sources":["../../lib/v3/atproto-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,cAAc,IAAI,cAAc,EAChC,SAAS,EACT,SAAS,EACT,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,SAAS,GACd,MAAM,4BAA4B,CAAC"}
|
package/dist/v3/atproto-repo.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"atproto-repo.js","sourceRoot":"","sources":["../../lib/v3/atproto-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,cAAc,IAAI,cAAc,EAChC,SAAS,EACT,SAAS,EACT,cAAc,GAMd,MAAM,4BAA4B,CAAC"}
|
package/dist/v3/index.d.ts
DELETED
package/dist/v3/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/v3/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
|
package/dist/v3/index.js
DELETED
package/dist/v3/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/v3/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC"}
|
package/dist/v3/reader.d.ts
DELETED
package/dist/v3/reader.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../lib/v3/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,cAAc,IAAI,OAAO,EACzB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GAClB,MAAM,2BAA2B,CAAC"}
|
package/dist/v3/reader.js
DELETED
package/dist/v3/reader.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../lib/v3/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EACb,cAAc,IAAI,OAAO,GAMzB,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/v4/car-reader/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/v4/car-reader/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-car-reader.d.ts","sourceRoot":"","sources":["../../../lib/v4/car-reader/stream-car-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAIrC,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,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAEjC,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,QAAO,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CA6B7E,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,cAAc,CAAC,UAAU,CAAC,KAAG,iBAkM/D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-car-reader.js","sourceRoot":"","sources":["../../../lib/v4/car-reader/stream-car-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-car-reader.d.ts","sourceRoot":"","sources":["../../../lib/v4/car-reader/sync-car-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAIrC,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,IAAI,CAAC,OAAO,EAAE,CAAC;IAE/B,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,GAAI,QAAQ,UAAU,KAAG,aA0CnD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-car-reader.js","sourceRoot":"","sources":["../../../lib/v4/car-reader/sync-car-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/v4/car-reader/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAOvD,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,GAAG,CAAC;IACb,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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/v4/car-reader/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAOnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE;IACrE,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,IAAI,CAAC,cAAc,CAAC,CAAC;AAC5G,CAAC,CAAC"}
|
package/dist/v4/index.d.ts
DELETED
package/dist/v4/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/v4/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC"}
|
package/dist/v4/index.js
DELETED
package/dist/v4/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/v4/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/v4/repo-reader/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/v4/repo-reader/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import * as CBOR from '@atcute/cbor';
|
|
2
|
-
import * as CID from '@atcute/cid';
|
|
3
|
-
/** commit object */
|
|
4
|
-
export interface Commit {
|
|
5
|
-
version: 3;
|
|
6
|
-
did: string;
|
|
7
|
-
data: CID.CidLink;
|
|
8
|
-
rev: string;
|
|
9
|
-
prev: CID.CidLink | null;
|
|
10
|
-
sig: CBOR.Bytes;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* checks if a value is a valid commit object
|
|
14
|
-
* @param value the value to check
|
|
15
|
-
* @returns true if the value is a valid commit object, false otherwise
|
|
16
|
-
*/
|
|
17
|
-
export declare const isCommit: (value: unknown) => value is Commit;
|
|
18
|
-
/** mst tree entry object */
|
|
19
|
-
export interface TreeEntry {
|
|
20
|
-
/** count of bytes shared with previous TreeEntry in this Node (if any) */
|
|
21
|
-
p: number;
|
|
22
|
-
/** remainder of key for this TreeEntry, after "prefixlen" have been removed */
|
|
23
|
-
k: CBOR.Bytes;
|
|
24
|
-
/** link to a sub-tree Node at a lower level which has keys sorting after this TreeEntry's key (to the "right"), but before the next TreeEntry's key in this Node (if any) */
|
|
25
|
-
v: CID.CidLink;
|
|
26
|
-
/** next subtree (to the right of leaf) */
|
|
27
|
-
t: CID.CidLink | null;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* checks if a value is a valid mst tree entry object
|
|
31
|
-
* @param value the value to check
|
|
32
|
-
* @returns true if the value is a valid mst tree entry object, false otherwise
|
|
33
|
-
*/
|
|
34
|
-
export declare const isTreeEntry: (value: unknown) => value is TreeEntry;
|
|
35
|
-
/** mst node object */
|
|
36
|
-
export interface MstNode {
|
|
37
|
-
/** link to sub-tree Node on a lower level and with all keys sorting before keys at this node */
|
|
38
|
-
l: CID.CidLink | null;
|
|
39
|
-
/** ordered list of TreeEntry objects */
|
|
40
|
-
e: TreeEntry[];
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* checks if a value is a valid mst node object
|
|
44
|
-
* @param value the value to check
|
|
45
|
-
* @returns true if the value is a valid mst node object, false otherwise
|
|
46
|
-
*/
|
|
47
|
-
export declare const isMstNode: (value: unknown) => value is MstNode;
|
|
48
|
-
//# sourceMappingURL=mst.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mst.d.ts","sourceRoot":"","sources":["../../../lib/v4/repo-reader/mst.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AA0BnC,oBAAoB;AACpB,MAAM,WAAW,MAAM;IACtB,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MAelD,CAAC;AAEF,4BAA4B;AAC5B,MAAM,WAAW,SAAS;IACzB,0EAA0E;IAC1E,CAAC,EAAE,MAAM,CAAC;IACV,+EAA+E;IAC/E,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACd,6KAA6K;IAC7K,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACf,0CAA0C;IAC1C,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAUrD,CAAC;AAEF,sBAAsB;AACtB,MAAM,WAAW,OAAO;IACvB,gGAAgG;IAChG,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,wCAAwC;IACxC,CAAC,EAAE,SAAS,EAAE,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,OAQnD,CAAC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import * as CBOR from '@atcute/cbor';
|
|
2
|
-
import * as CID from '@atcute/cid';
|
|
3
|
-
const isCidLink = (value) => {
|
|
4
|
-
if (value instanceof CID.CidLinkWrapper) {
|
|
5
|
-
return true;
|
|
6
|
-
}
|
|
7
|
-
if (value === null || typeof value !== 'object') {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
return '$link' in value && typeof value.$link === 'string';
|
|
11
|
-
};
|
|
12
|
-
const isBytes = (value) => {
|
|
13
|
-
if (value instanceof CBOR.BytesWrapper) {
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
if (value === null || typeof value !== 'object') {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
return '$bytes' in value && typeof value.$bytes === 'string';
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* checks if a value is a valid commit object
|
|
23
|
-
* @param value the value to check
|
|
24
|
-
* @returns true if the value is a valid commit object, false otherwise
|
|
25
|
-
*/
|
|
26
|
-
export const isCommit = (value) => {
|
|
27
|
-
if (value === null || typeof value !== 'object') {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
const obj = value;
|
|
31
|
-
return (obj.version === 3 &&
|
|
32
|
-
typeof obj.did === 'string' &&
|
|
33
|
-
isCidLink(obj.data) &&
|
|
34
|
-
typeof obj.rev === 'string' &&
|
|
35
|
-
(obj.prev === null || isCidLink(obj.prev)) &&
|
|
36
|
-
isBytes(obj.sig));
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* checks if a value is a valid mst tree entry object
|
|
40
|
-
* @param value the value to check
|
|
41
|
-
* @returns true if the value is a valid mst tree entry object, false otherwise
|
|
42
|
-
*/
|
|
43
|
-
export const isTreeEntry = (value) => {
|
|
44
|
-
if (value === null || typeof value !== 'object') {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
const obj = value;
|
|
48
|
-
return (typeof obj.p === 'number' && isBytes(obj.k) && isCidLink(obj.v) && (obj.t === null || isCidLink(obj.t)));
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* checks if a value is a valid mst node object
|
|
52
|
-
* @param value the value to check
|
|
53
|
-
* @returns true if the value is a valid mst node object, false otherwise
|
|
54
|
-
*/
|
|
55
|
-
export const isMstNode = (value) => {
|
|
56
|
-
if (value === null || typeof value !== 'object') {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
const obj = value;
|
|
60
|
-
return (obj.l === null || isCidLink(obj.l)) && Array.isArray(obj.e) && obj.e.every(isTreeEntry);
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=mst.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mst.js","sourceRoot":"","sources":["../../../lib/v4/repo-reader/mst.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAwB,EAAE;IAC1D,IAAI,KAAK,YAAY,GAAG,CAAC,cAAc,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,KAAc,EAAuB,EAAE;IACvD,IAAI,KAAK,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,OAAO,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC9D,CAAC,CAAC;AAYF;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE;IAC3D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,OAAO,CACN,GAAG,CAAC,OAAO,KAAK,CAAC;QACjB,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC3B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACnB,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC3B,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAChB,CAAC;AACH,CAAC,CAAC;AAcF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE;IACjE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,OAAO,CACN,OAAO,GAAG,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACvG,CAAC;AACH,CAAC,CAAC;AAUF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE;IAC7D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACjG,CAAC,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { RepoEntry } from './types.js';
|
|
2
|
-
export type MissingBlockEntry = {
|
|
3
|
-
cid: string;
|
|
4
|
-
type: 'record';
|
|
5
|
-
key: string;
|
|
6
|
-
} | {
|
|
7
|
-
cid: string;
|
|
8
|
-
type: 'mst-node';
|
|
9
|
-
} | {
|
|
10
|
-
cid: string;
|
|
11
|
-
type: 'commit';
|
|
12
|
-
};
|
|
13
|
-
export interface StreamedRepoReader {
|
|
14
|
-
/**
|
|
15
|
-
* list of blocks that were referenced but not found in the repository.
|
|
16
|
-
* blocks may be reported as missing if multiple records share the same CID.
|
|
17
|
-
*/
|
|
18
|
-
readonly missingBlocks: readonly MissingBlockEntry[];
|
|
19
|
-
dispose(): Promise<void>;
|
|
20
|
-
[Symbol.asyncDispose](): Promise<void>;
|
|
21
|
-
[Symbol.asyncIterator](): AsyncIterator<RepoEntry>;
|
|
22
|
-
}
|
|
23
|
-
export declare const repoEntryTransform: () => ReadableWritablePair<RepoEntry, Uint8Array>;
|
|
24
|
-
export declare const fromStream: (stream: ReadableStream<Uint8Array>) => StreamedRepoReader;
|
|
25
|
-
//# sourceMappingURL=stream-repo-reader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-repo-reader.d.ts","sourceRoot":"","sources":["../../../lib/v4/repo-reader/stream-repo-reader.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUvC,MAAM,MAAM,iBAAiB,GAC1B;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACX,GACD;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;CAChB,GACD;IACA,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;CACd,CAAC;AAEL,MAAM,WAAW,kBAAkB;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAErD,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,SAAS,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,kBAAkB,QAAO,oBAAoB,CAAC,SAAS,EAAE,UAAU,CA6B/E,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,cAAc,CAAC,UAAU,CAAC,KAAG,kBAiI/D,CAAC"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import Queue from 'yocto-queue';
|
|
2
|
-
import * as CBOR from '@atcute/cbor';
|
|
3
|
-
import * as CID from '@atcute/cid';
|
|
4
|
-
import { decodeUtf8From } from '@atcute/uint8array';
|
|
5
|
-
import * as CarReader from '../car-reader/index.js';
|
|
6
|
-
import { assert } from '../utils.js';
|
|
7
|
-
import { isCommit, isMstNode } from './mst.js';
|
|
8
|
-
import { RepoEntry } from './types.js';
|
|
9
|
-
export const repoEntryTransform = () => {
|
|
10
|
-
const transform = new TransformStream();
|
|
11
|
-
let repo;
|
|
12
|
-
return {
|
|
13
|
-
readable: new ReadableStream({
|
|
14
|
-
async start(controller) {
|
|
15
|
-
repo = fromStream(transform.readable);
|
|
16
|
-
try {
|
|
17
|
-
for await (const entry of repo) {
|
|
18
|
-
controller.enqueue(entry);
|
|
19
|
-
}
|
|
20
|
-
await repo.dispose();
|
|
21
|
-
controller.close();
|
|
22
|
-
}
|
|
23
|
-
catch (err) {
|
|
24
|
-
controller.error(err);
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
async cancel() {
|
|
28
|
-
if (repo !== undefined) {
|
|
29
|
-
await repo.dispose();
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
}),
|
|
33
|
-
writable: transform.writable,
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
export const fromStream = (stream) => {
|
|
37
|
-
let missingBlocks = [];
|
|
38
|
-
return {
|
|
39
|
-
get missingBlocks() {
|
|
40
|
-
return missingBlocks;
|
|
41
|
-
},
|
|
42
|
-
async dispose() {
|
|
43
|
-
// does nothing for now
|
|
44
|
-
},
|
|
45
|
-
[Symbol.asyncDispose]() {
|
|
46
|
-
return this.dispose();
|
|
47
|
-
},
|
|
48
|
-
async *[Symbol.asyncIterator]() {
|
|
49
|
-
// await using car = CarReader.fromStream(stream);
|
|
50
|
-
const car = CarReader.fromStream(stream);
|
|
51
|
-
try {
|
|
52
|
-
const pending = new Map();
|
|
53
|
-
const strays = new Map();
|
|
54
|
-
const queue = new Queue();
|
|
55
|
-
const request = (cid, meta) => {
|
|
56
|
-
const entry = strays.get(cid);
|
|
57
|
-
if (entry !== undefined) {
|
|
58
|
-
strays.delete(cid);
|
|
59
|
-
queue.enqueue({ c: cid, e: entry, m: meta });
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
pending.set(cid, meta);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
{
|
|
66
|
-
const roots = await car.roots();
|
|
67
|
-
assert(roots.length === 1, `expected only 1 root in the car archive; got=${roots.length}`);
|
|
68
|
-
const rootCid = roots[0].$link;
|
|
69
|
-
request(rootCid, { t: 0 });
|
|
70
|
-
}
|
|
71
|
-
for await (const entry of car) {
|
|
72
|
-
const cid = CID.toString(entry.cid);
|
|
73
|
-
{
|
|
74
|
-
const meta = pending.get(cid);
|
|
75
|
-
if (meta !== undefined) {
|
|
76
|
-
pending.delete(cid);
|
|
77
|
-
queue.enqueue({ c: cid, e: entry, m: meta });
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
strays.set(cid, entry);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
let task;
|
|
84
|
-
while ((task = queue.dequeue())) {
|
|
85
|
-
const { c: cid, e: entry, m: meta } = task;
|
|
86
|
-
switch (meta.t) {
|
|
87
|
-
case 0: {
|
|
88
|
-
const commit = CBOR.decode(entry.bytes);
|
|
89
|
-
assert(isCommit(commit), `expected commit block; cid=${cid}`);
|
|
90
|
-
request(commit.data.$link, { t: 1 });
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
case 1: {
|
|
94
|
-
const node = CBOR.decode(entry.bytes);
|
|
95
|
-
assert(isMstNode(node), `expected mst node block; cid=${cid}`);
|
|
96
|
-
const entries = node.e;
|
|
97
|
-
const left = node.l;
|
|
98
|
-
let lastKey = '';
|
|
99
|
-
if (left !== null) {
|
|
100
|
-
request(left.$link, meta);
|
|
101
|
-
}
|
|
102
|
-
for (let i = 0, il = entries.length; i < il; i++) {
|
|
103
|
-
const entry = entries[i];
|
|
104
|
-
const next = entry.t;
|
|
105
|
-
const key_str = decodeUtf8From(CBOR.fromBytes(entry.k));
|
|
106
|
-
const key = lastKey.slice(0, entry.p) + key_str;
|
|
107
|
-
lastKey = key;
|
|
108
|
-
request(entry.v.$link, { t: 2, k: key });
|
|
109
|
-
if (next !== null) {
|
|
110
|
-
request(next.$link, { t: 1 });
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
case 2: {
|
|
116
|
-
const [collection, rkey] = meta.k.split('/');
|
|
117
|
-
yield new RepoEntry(collection, rkey, CID.toCidLink(entry.cid), entry);
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
missingBlocks = Array.from(pending, ([cid, meta]) => {
|
|
124
|
-
switch (meta.t) {
|
|
125
|
-
case 0: {
|
|
126
|
-
return { cid, type: 'commit' };
|
|
127
|
-
}
|
|
128
|
-
case 1: {
|
|
129
|
-
return { cid, type: 'mst-node' };
|
|
130
|
-
}
|
|
131
|
-
case 2: {
|
|
132
|
-
return { cid, type: 'record', key: meta.k };
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
finally {
|
|
138
|
-
await car.dispose();
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
};
|
|
142
|
-
};
|
|
143
|
-
//# sourceMappingURL=stream-repo-reader.js.map
|