@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,27 +0,0 @@
|
|
|
1
|
-
import * as CarReader from '../car-reader/index.js';
|
|
2
|
-
import { assert } from '../utils.js';
|
|
3
|
-
|
|
4
|
-
import { isCommit } from './mst.js';
|
|
5
|
-
import { collectBlock, readBlock, walkMstEntries } from './sync-blockmap.js';
|
|
6
|
-
import { RepoEntry } from './types.js';
|
|
7
|
-
|
|
8
|
-
export function* fromUint8Array(buf: Uint8Array): Generator<RepoEntry> {
|
|
9
|
-
const car = CarReader.fromUint8Array(buf);
|
|
10
|
-
const roots = car.roots;
|
|
11
|
-
|
|
12
|
-
assert(roots.length === 1, `expected only 1 root in the car archive; got=${roots.length}`);
|
|
13
|
-
|
|
14
|
-
const blockmap = collectBlock(car);
|
|
15
|
-
assert(blockmap.size > 0, `expected at least 1 block in the archive; got=${blockmap.size}`);
|
|
16
|
-
|
|
17
|
-
const commit = readBlock(blockmap, roots[0], isCommit);
|
|
18
|
-
|
|
19
|
-
for (const { key, cid } of walkMstEntries(blockmap, commit.data)) {
|
|
20
|
-
const [collection, rkey] = key.split('/');
|
|
21
|
-
|
|
22
|
-
const carEntry = blockmap.get(cid.$link);
|
|
23
|
-
assert(carEntry != null, `cid not found in blockmap; cid=${cid}`);
|
|
24
|
-
|
|
25
|
-
yield new RepoEntry(collection, rkey, cid, carEntry);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import * as CBOR from '@atcute/cbor';
|
|
2
|
-
import * as CID from '@atcute/cid';
|
|
3
|
-
|
|
4
|
-
import { type CarEntry } from '../car-reader/index.js';
|
|
5
|
-
|
|
6
|
-
export class RepoEntry {
|
|
7
|
-
/** @internal */
|
|
8
|
-
constructor(
|
|
9
|
-
/** the collection this record belongs to */
|
|
10
|
-
public readonly collection: string,
|
|
11
|
-
/** record key */
|
|
12
|
-
public readonly rkey: string,
|
|
13
|
-
/** CID of this record */
|
|
14
|
-
public readonly cid: CID.CidLink,
|
|
15
|
-
/** the associated CarEntry for this record */
|
|
16
|
-
public readonly carEntry: CarEntry,
|
|
17
|
-
) {}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* raw contents of this record
|
|
21
|
-
*/
|
|
22
|
-
get bytes(): Uint8Array {
|
|
23
|
-
return this.carEntry.bytes;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* decoded contents of this record
|
|
28
|
-
*/
|
|
29
|
-
get record(): unknown {
|
|
30
|
-
return CBOR.decode(this.bytes);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|