@helia/unixfs 0.0.0 → 1.0.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.
- package/README.md +10 -4
- package/dist/index.min.js +1 -1
- package/dist/src/commands/cat.d.ts +1 -1
- package/dist/src/commands/cat.d.ts.map +1 -1
- package/dist/src/commands/cat.js +1 -1
- package/dist/src/commands/cat.js.map +1 -1
- package/dist/src/commands/chmod.d.ts.map +1 -1
- package/dist/src/commands/chmod.js +14 -12
- package/dist/src/commands/chmod.js.map +1 -1
- package/dist/src/commands/cp.d.ts +1 -1
- package/dist/src/commands/cp.d.ts.map +1 -1
- package/dist/src/commands/cp.js +5 -2
- package/dist/src/commands/cp.js.map +1 -1
- package/dist/src/commands/ls.d.ts +2 -1
- package/dist/src/commands/ls.d.ts.map +1 -1
- package/dist/src/commands/ls.js +1 -1
- package/dist/src/commands/ls.js.map +1 -1
- package/dist/src/commands/mkdir.d.ts.map +1 -1
- package/dist/src/commands/mkdir.js +4 -2
- package/dist/src/commands/mkdir.js.map +1 -1
- package/dist/src/commands/rm.d.ts +1 -1
- package/dist/src/commands/rm.d.ts.map +1 -1
- package/dist/src/commands/rm.js +9 -3
- package/dist/src/commands/rm.js.map +1 -1
- package/dist/src/commands/stat.d.ts +1 -1
- package/dist/src/commands/stat.d.ts.map +1 -1
- package/dist/src/commands/stat.js +19 -15
- package/dist/src/commands/stat.js.map +1 -1
- package/dist/src/commands/touch.d.ts.map +1 -1
- package/dist/src/commands/touch.js +15 -13
- package/dist/src/commands/touch.js.map +1 -1
- package/dist/src/commands/utils/add-link.d.ts +4 -2
- package/dist/src/commands/utils/add-link.d.ts.map +1 -1
- package/dist/src/commands/utils/add-link.js +24 -24
- package/dist/src/commands/utils/add-link.js.map +1 -1
- package/dist/src/commands/utils/cid-to-directory.d.ts +3 -3
- package/dist/src/commands/utils/cid-to-directory.d.ts.map +1 -1
- package/dist/src/commands/utils/cid-to-directory.js +1 -1
- package/dist/src/commands/utils/cid-to-directory.js.map +1 -1
- package/dist/src/commands/utils/cid-to-pblink.d.ts +3 -3
- package/dist/src/commands/utils/cid-to-pblink.d.ts.map +1 -1
- package/dist/src/commands/utils/cid-to-pblink.js.map +1 -1
- package/dist/src/commands/utils/constants.d.ts +2 -0
- package/dist/src/commands/utils/constants.d.ts.map +1 -0
- package/dist/src/commands/utils/constants.js +2 -0
- package/dist/src/commands/utils/constants.js.map +1 -0
- package/dist/src/commands/utils/dir-sharded.d.ts +47 -41
- package/dist/src/commands/utils/dir-sharded.d.ts.map +1 -1
- package/dist/src/commands/utils/dir-sharded.js +99 -15
- package/dist/src/commands/utils/dir-sharded.js.map +1 -1
- package/dist/src/commands/utils/errors.d.ts +22 -6
- package/dist/src/commands/utils/errors.d.ts.map +1 -1
- package/dist/src/commands/utils/errors.js +34 -8
- package/dist/src/commands/utils/errors.js.map +1 -1
- package/dist/src/commands/utils/hamt-constants.d.ts +1 -1
- package/dist/src/commands/utils/hamt-constants.d.ts.map +1 -1
- package/dist/src/commands/utils/hamt-constants.js +1 -1
- package/dist/src/commands/utils/hamt-constants.js.map +1 -1
- package/dist/src/commands/utils/hamt-utils.d.ts +15 -12
- package/dist/src/commands/utils/hamt-utils.d.ts.map +1 -1
- package/dist/src/commands/utils/hamt-utils.js +40 -39
- package/dist/src/commands/utils/hamt-utils.js.map +1 -1
- package/dist/src/commands/utils/is-over-shard-threshold.d.ts +10 -0
- package/dist/src/commands/utils/is-over-shard-threshold.d.ts.map +1 -0
- package/dist/src/commands/utils/is-over-shard-threshold.js +62 -0
- package/dist/src/commands/utils/is-over-shard-threshold.js.map +1 -0
- package/dist/src/commands/utils/persist.d.ts +7 -6
- package/dist/src/commands/utils/persist.d.ts.map +1 -1
- package/dist/src/commands/utils/persist.js +6 -3
- package/dist/src/commands/utils/persist.js.map +1 -1
- package/dist/src/commands/utils/remove-link.d.ts +6 -2
- package/dist/src/commands/utils/remove-link.d.ts.map +1 -1
- package/dist/src/commands/utils/remove-link.js +143 -55
- package/dist/src/commands/utils/remove-link.js.map +1 -1
- package/dist/src/commands/utils/resolve.d.ts +6 -3
- package/dist/src/commands/utils/resolve.d.ts.map +1 -1
- package/dist/src/commands/utils/resolve.js +4 -4
- package/dist/src/commands/utils/resolve.js.map +1 -1
- package/dist/src/index.d.ts +14 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +0 -7
- package/dist/src/index.js.map +1 -1
- package/dist/typedoc-urls.json +14 -0
- package/package.json +8 -7
- package/src/commands/cat.ts +3 -2
- package/src/commands/chmod.ts +13 -10
- package/src/commands/cp.ts +7 -4
- package/src/commands/ls.ts +4 -3
- package/src/commands/mkdir.ts +5 -3
- package/src/commands/rm.ts +9 -5
- package/src/commands/stat.ts +22 -17
- package/src/commands/touch.ts +15 -12
- package/src/commands/utils/add-link.ts +32 -31
- package/src/commands/utils/cid-to-directory.ts +4 -4
- package/src/commands/utils/cid-to-pblink.ts +3 -3
- package/src/commands/utils/constants.ts +2 -0
- package/src/commands/utils/dir-sharded.ts +162 -63
- package/src/commands/utils/errors.ts +42 -8
- package/src/commands/utils/hamt-constants.ts +1 -1
- package/src/commands/utils/hamt-utils.ts +59 -50
- package/src/commands/utils/is-over-shard-threshold.ts +78 -0
- package/src/commands/utils/persist.ts +13 -8
- package/src/commands/utils/remove-link.ts +178 -77
- package/src/commands/utils/resolve.ts +12 -7
- package/src/index.ts +15 -17
- package/dist/src/commands/add.d.ts +0 -6
- package/dist/src/commands/add.d.ts.map +0 -1
- package/dist/src/commands/add.js +0 -38
- package/dist/src/commands/add.js.map +0 -1
- package/src/commands/add.ts +0 -46
|
@@ -6,20 +6,10 @@ import { DirSharded } from './dir-sharded.js';
|
|
|
6
6
|
import { updateHamtDirectory, recreateHamtLevel, recreateInitialHamtLevel, createShard, toPrefix, addLinksToHamtBucket } from './hamt-utils.js';
|
|
7
7
|
import last from 'it-last';
|
|
8
8
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
9
|
-
import { AlreadyExistsError, InvalidPBNodeError } from './errors.js';
|
|
10
|
-
import {
|
|
9
|
+
import { AlreadyExistsError, InvalidParametersError, InvalidPBNodeError } from './errors.js';
|
|
10
|
+
import { isOverShardThreshold } from './is-over-shard-threshold.js';
|
|
11
11
|
const log = logger('helia:unixfs:components:utils:add-link');
|
|
12
12
|
export async function addLink(parent, child, blockstore, options) {
|
|
13
|
-
if (parent.node.Data == null) {
|
|
14
|
-
throw new InvalidParametersError('Invalid parent passed to addLink');
|
|
15
|
-
}
|
|
16
|
-
// FIXME: this should work on block size not number of links
|
|
17
|
-
if (parent.node.Links.length >= 1000) {
|
|
18
|
-
log('converting directory to sharded directory');
|
|
19
|
-
const result = await convertToShardedDirectory(parent, blockstore);
|
|
20
|
-
parent.cid = result.cid;
|
|
21
|
-
parent.node = dagPB.decode(await blockstore.get(result.cid));
|
|
22
|
-
}
|
|
23
13
|
if (parent.node.Data == null) {
|
|
24
14
|
throw new InvalidParametersError('Invalid parent passed to addLink');
|
|
25
15
|
}
|
|
@@ -29,7 +19,14 @@ export async function addLink(parent, child, blockstore, options) {
|
|
|
29
19
|
return await addToShardedDirectory(parent, child, blockstore, options);
|
|
30
20
|
}
|
|
31
21
|
log(`adding ${child.Name} (${child.Hash}) to regular directory`);
|
|
32
|
-
|
|
22
|
+
const result = await addToDirectory(parent, child, blockstore, options);
|
|
23
|
+
if (await isOverShardThreshold(result.node, blockstore, options.shardSplitThresholdBytes)) {
|
|
24
|
+
log('converting directory to sharded directory');
|
|
25
|
+
const converted = await convertToShardedDirectory(result, blockstore);
|
|
26
|
+
result.cid = converted.cid;
|
|
27
|
+
result.node = dagPB.decode(await blockstore.get(converted.cid));
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
33
30
|
}
|
|
34
31
|
const convertToShardedDirectory = async (parent, blockstore) => {
|
|
35
32
|
if (parent.node.Data == null) {
|
|
@@ -38,11 +35,12 @@ const convertToShardedDirectory = async (parent, blockstore) => {
|
|
|
38
35
|
const unixfs = UnixFS.unmarshal(parent.node.Data);
|
|
39
36
|
const result = await createShard(blockstore, parent.node.Links.map(link => ({
|
|
40
37
|
name: (link.Name ?? ''),
|
|
41
|
-
size: link.Tsize ?? 0,
|
|
38
|
+
size: BigInt(link.Tsize ?? 0),
|
|
42
39
|
cid: link.Hash
|
|
43
40
|
})), {
|
|
44
41
|
mode: unixfs.mode,
|
|
45
|
-
mtime: unixfs.mtime
|
|
42
|
+
mtime: unixfs.mtime,
|
|
43
|
+
cidVersion: parent.cid.version
|
|
46
44
|
});
|
|
47
45
|
log(`Converted directory to sharded directory ${result.cid}`);
|
|
48
46
|
return result;
|
|
@@ -67,7 +65,7 @@ const addToDirectory = async (parent, child, blockstore, options) => {
|
|
|
67
65
|
const ms = Date.now();
|
|
68
66
|
const secs = Math.floor(ms / 1000);
|
|
69
67
|
node.mtime = {
|
|
70
|
-
secs,
|
|
68
|
+
secs: BigInt(secs),
|
|
71
69
|
nsecs: (ms - (secs * 1000)) * 1000
|
|
72
70
|
};
|
|
73
71
|
data = node.marshal();
|
|
@@ -100,11 +98,7 @@ const addToShardedDirectory = async (parent, child, blockstore, options) => {
|
|
|
100
98
|
const node = dagPB.decode(block);
|
|
101
99
|
// we have written out the shard, but only one sub-shard will have been written so replace it in the original shard
|
|
102
100
|
const parentLinks = parent.node.Links.filter((link) => {
|
|
103
|
-
|
|
104
|
-
if (matches && !options.allowOverwriting) {
|
|
105
|
-
throw new AlreadyExistsError();
|
|
106
|
-
}
|
|
107
|
-
return !matches;
|
|
101
|
+
return (link.Name ?? '').substring(0, 2) !== path[0].prefix;
|
|
108
102
|
});
|
|
109
103
|
const newLink = node.Links
|
|
110
104
|
.find(link => (link.Name ?? '').substring(0, 2) === path[0].prefix);
|
|
@@ -112,7 +106,10 @@ const addToShardedDirectory = async (parent, child, blockstore, options) => {
|
|
|
112
106
|
throw new Error(`No link found with prefix ${path[0].prefix}`);
|
|
113
107
|
}
|
|
114
108
|
parentLinks.push(newLink);
|
|
115
|
-
return await updateHamtDirectory(
|
|
109
|
+
return await updateHamtDirectory({
|
|
110
|
+
Data: parent.node.Data,
|
|
111
|
+
Links: parentLinks
|
|
112
|
+
}, blockstore, path[0].bucket, options);
|
|
116
113
|
};
|
|
117
114
|
const addFileToShardedDirectory = async (parent, child, blockstore, options) => {
|
|
118
115
|
if (parent.node.Data == null) {
|
|
@@ -138,7 +135,7 @@ const addFileToShardedDirectory = async (parent, child, blockstore, options) =>
|
|
|
138
135
|
if (node.mtime != null) {
|
|
139
136
|
// update mtime if previously set
|
|
140
137
|
shard.mtime = {
|
|
141
|
-
secs: Math.round(Date.now() / 1000)
|
|
138
|
+
secs: BigInt(Math.round(Date.now() / 1000))
|
|
142
139
|
};
|
|
143
140
|
}
|
|
144
141
|
// load subshards until the bucket & position no longer changes
|
|
@@ -162,6 +159,9 @@ const addFileToShardedDirectory = async (parent, child, blockstore, options) =>
|
|
|
162
159
|
break;
|
|
163
160
|
}
|
|
164
161
|
if (link.Name === `${segment.prefix}${child.Name}`) {
|
|
162
|
+
if (!options.allowOverwriting) {
|
|
163
|
+
throw new AlreadyExistsError();
|
|
164
|
+
}
|
|
165
165
|
// file already existed, file will be added to the current bucket
|
|
166
166
|
log(`Link ${segment.prefix}${child.Name} will be replaced`);
|
|
167
167
|
index = path.length;
|
|
@@ -196,7 +196,7 @@ const addFileToShardedDirectory = async (parent, child, blockstore, options) =>
|
|
|
196
196
|
}
|
|
197
197
|
// finally add the new file into the shard
|
|
198
198
|
await shard._bucket.put(child.Name, {
|
|
199
|
-
size: child.Tsize,
|
|
199
|
+
size: BigInt(child.Tsize),
|
|
200
200
|
cid: child.Hash
|
|
201
201
|
});
|
|
202
202
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-link.js","sourceRoot":"","sources":["../../../../src/commands/utils/add-link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"add-link.js","sourceRoot":"","sources":["../../../../src/commands/utils/add-link.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExporterOptions } from 'ipfs-unixfs-exporter';
|
|
2
2
|
import type { CID } from 'multiformats/cid';
|
|
3
3
|
import type { PBNode } from '@ipld/dag-pb';
|
|
4
|
-
import type {
|
|
4
|
+
import type { Blockstore } from 'interface-blockstore';
|
|
5
5
|
export interface Directory {
|
|
6
6
|
cid: CID;
|
|
7
7
|
node: PBNode;
|
|
8
8
|
}
|
|
9
|
-
export declare function cidToDirectory(cid: CID, blockstore: Blockstore, options?:
|
|
9
|
+
export declare function cidToDirectory(cid: CID, blockstore: Blockstore, options?: ExporterOptions): Promise<Directory>;
|
|
10
10
|
//# sourceMappingURL=cid-to-directory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cid-to-directory.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/cid-to-directory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cid-to-directory.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/cid-to-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGtD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,cAAc,CAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CAWzH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { NotADirectoryError } from '@helia/interface/errors';
|
|
2
1
|
import { exporter } from 'ipfs-unixfs-exporter';
|
|
2
|
+
import { NotADirectoryError } from './errors.js';
|
|
3
3
|
export async function cidToDirectory(cid, blockstore, options = {}) {
|
|
4
4
|
const entry = await exporter(cid, blockstore, options);
|
|
5
5
|
if (entry.type !== 'directory') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cid-to-directory.js","sourceRoot":"","sources":["../../../../src/commands/utils/cid-to-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cid-to-directory.js","sourceRoot":"","sources":["../../../../src/commands/utils/cid-to-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAA;AAIhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAOhD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,GAAQ,EAAE,UAAsB,EAAE,UAA2B,EAAE;IACnG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAEtD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;QAC9B,MAAM,IAAI,kBAAkB,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAA;KAC7E;IAED,OAAO;QACL,GAAG;QACH,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExporterOptions } from 'ipfs-unixfs-exporter';
|
|
2
2
|
import type { CID } from 'multiformats/cid';
|
|
3
3
|
import type { PBLink } from '@ipld/dag-pb';
|
|
4
|
-
import type {
|
|
5
|
-
export declare function cidToPBLink(cid: CID, name: string, blockstore: Blockstore, options?:
|
|
4
|
+
import type { Blockstore } from 'interface-blockstore';
|
|
5
|
+
export declare function cidToPBLink(cid: CID, name: string, blockstore: Blockstore, options?: ExporterOptions): Promise<Required<PBLink>>;
|
|
6
6
|
//# sourceMappingURL=cid-to-pblink.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cid-to-pblink.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/cid-to-pblink.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"cid-to-pblink.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/cid-to-pblink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAG3C,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,wBAAsB,WAAW,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAYvI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cid-to-pblink.js","sourceRoot":"","sources":["../../../../src/commands/utils/cid-to-pblink.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"cid-to-pblink.js","sourceRoot":"","sources":["../../../../src/commands/utils/cid-to-pblink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAA;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,GAAQ,EAAE,IAAY,EAAE,UAAsB,EAAE,OAAyB;IAC1G,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAE5D,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,KAAK,EAAE;QACjG,MAAM,IAAI,cAAc,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAA;KACpE;IAED,OAAO;QACL,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,WAAW,CAAC,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;QAC5G,IAAI,EAAE,GAAG;KACV,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAE,IAAY;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE9E,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,SAAS,CAAA;AAClD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,2BAA2B,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/commands/utils/constants.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAA"}
|
|
@@ -1,28 +1,20 @@
|
|
|
1
1
|
import { UnixFS } from 'ipfs-unixfs';
|
|
2
|
+
import { PersistOptions } from './persist.js';
|
|
2
3
|
import { Bucket, BucketChild } from 'hamt-sharding';
|
|
3
|
-
import
|
|
4
|
-
import type { PBNode } from '@ipld/dag-pb/interface';
|
|
4
|
+
import { CID } from 'multiformats/cid';
|
|
5
5
|
import type { Mtime } from 'ipfs-unixfs';
|
|
6
|
-
import type {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
node: PBNode;
|
|
11
|
-
size: number;
|
|
12
|
-
}
|
|
13
|
-
export interface DirContents {
|
|
14
|
-
cid?: CID;
|
|
15
|
-
size?: number;
|
|
6
|
+
import type { Blockstore } from 'interface-blockstore';
|
|
7
|
+
interface InProgressImportResult extends ImportResult {
|
|
8
|
+
single?: boolean;
|
|
9
|
+
originalPath?: string;
|
|
16
10
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
onlyHash?: boolean;
|
|
23
|
-
signal?: AbortSignal;
|
|
11
|
+
interface ImportResult {
|
|
12
|
+
cid: CID;
|
|
13
|
+
size: bigint;
|
|
14
|
+
path?: string;
|
|
15
|
+
unixfs?: UnixFS;
|
|
24
16
|
}
|
|
25
|
-
|
|
17
|
+
interface DirProps {
|
|
26
18
|
root: boolean;
|
|
27
19
|
dir: boolean;
|
|
28
20
|
path: string;
|
|
@@ -34,34 +26,48 @@ export interface DirProps {
|
|
|
34
26
|
mode?: number;
|
|
35
27
|
mtime?: Mtime;
|
|
36
28
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
29
|
+
declare abstract class Dir {
|
|
30
|
+
options: PersistOptions;
|
|
31
|
+
root: boolean;
|
|
32
|
+
dir: boolean;
|
|
33
|
+
path: string;
|
|
34
|
+
dirty: boolean;
|
|
35
|
+
flat: boolean;
|
|
36
|
+
parent?: Dir;
|
|
37
|
+
parentKey?: string;
|
|
38
|
+
unixfs?: UnixFS;
|
|
39
|
+
mode?: number;
|
|
48
40
|
mtime?: Mtime;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
41
|
+
cid?: CID;
|
|
42
|
+
size?: number;
|
|
43
|
+
nodeSize?: number;
|
|
44
|
+
constructor(props: DirProps, options: PersistOptions);
|
|
45
|
+
abstract put(name: string, value: InProgressImportResult | Dir): Promise<void>;
|
|
46
|
+
abstract get(name: string): Promise<InProgressImportResult | Dir | undefined>;
|
|
47
|
+
abstract eachChildSeries(): AsyncIterable<{
|
|
48
|
+
key: string;
|
|
49
|
+
child: InProgressImportResult | Dir;
|
|
50
|
+
}>;
|
|
51
|
+
abstract flush(blockstore: Blockstore): AsyncGenerator<ImportResult>;
|
|
52
|
+
abstract estimateNodeSize(): number;
|
|
53
|
+
abstract childCount(): number;
|
|
52
54
|
}
|
|
53
55
|
export declare class DirSharded extends Dir {
|
|
54
|
-
_bucket: Bucket<
|
|
55
|
-
constructor(props: DirProps, options:
|
|
56
|
-
put(name: string, value:
|
|
57
|
-
get(name: string): Promise<
|
|
56
|
+
_bucket: Bucket<InProgressImportResult | Dir>;
|
|
57
|
+
constructor(props: DirProps, options: PersistOptions);
|
|
58
|
+
put(name: string, value: InProgressImportResult | Dir): Promise<void>;
|
|
59
|
+
get(name: string): Promise<InProgressImportResult | Dir | undefined>;
|
|
58
60
|
childCount(): number;
|
|
59
61
|
directChildrenCount(): number;
|
|
60
|
-
onlyChild(): Bucket<
|
|
62
|
+
onlyChild(): Bucket<InProgressImportResult | Dir> | BucketChild<InProgressImportResult | Dir>;
|
|
61
63
|
eachChildSeries(): AsyncGenerator<{
|
|
62
64
|
key: string;
|
|
63
|
-
child:
|
|
65
|
+
child: InProgressImportResult | Dir;
|
|
64
66
|
}>;
|
|
65
|
-
|
|
67
|
+
estimateNodeSize(): number;
|
|
68
|
+
flush(blockstore: Blockstore): AsyncGenerator<ImportResult>;
|
|
66
69
|
}
|
|
70
|
+
export declare const CID_V0: CID<unknown, number, number, import("multiformats/cid").Version>;
|
|
71
|
+
export declare const CID_V1: CID<unknown, number, number, import("multiformats/cid").Version>;
|
|
72
|
+
export {};
|
|
67
73
|
//# sourceMappingURL=dir-sharded.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dir-sharded.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/dir-sharded.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"dir-sharded.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/dir-sharded.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import { encode, prepare } from '@ipld/dag-pb';
|
|
|
2
2
|
import { UnixFS } from 'ipfs-unixfs';
|
|
3
3
|
import { persist } from './persist.js';
|
|
4
4
|
import { createHAMT, Bucket } from 'hamt-sharding';
|
|
5
|
-
import { hamtHashCode, hamtHashFn
|
|
6
|
-
|
|
5
|
+
import { hamtHashCode, hamtHashFn } from './hamt-constants.js';
|
|
6
|
+
import { CID } from 'multiformats/cid';
|
|
7
|
+
class Dir {
|
|
7
8
|
constructor(props, options) {
|
|
8
9
|
this.options = options ?? {};
|
|
9
10
|
this.root = props.root;
|
|
@@ -21,13 +22,15 @@ export class Dir {
|
|
|
21
22
|
export class DirSharded extends Dir {
|
|
22
23
|
constructor(props, options) {
|
|
23
24
|
super(props, options);
|
|
24
|
-
/** @type {Bucket<DirContents>} */
|
|
25
25
|
this._bucket = createHAMT({
|
|
26
26
|
hashFn: hamtHashFn,
|
|
27
|
-
bits:
|
|
27
|
+
bits: 8
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
async put(name, value) {
|
|
31
|
+
this.cid = undefined;
|
|
32
|
+
this.size = undefined;
|
|
33
|
+
this.nodeSize = undefined;
|
|
31
34
|
await this._bucket.put(name, value);
|
|
32
35
|
}
|
|
33
36
|
async get(name) {
|
|
@@ -50,14 +53,26 @@ export class DirSharded extends Dir {
|
|
|
50
53
|
};
|
|
51
54
|
}
|
|
52
55
|
}
|
|
56
|
+
estimateNodeSize() {
|
|
57
|
+
if (this.nodeSize !== undefined) {
|
|
58
|
+
return this.nodeSize;
|
|
59
|
+
}
|
|
60
|
+
this.nodeSize = calculateSize(this._bucket, this, this.options);
|
|
61
|
+
return this.nodeSize;
|
|
62
|
+
}
|
|
53
63
|
async *flush(blockstore) {
|
|
54
|
-
|
|
64
|
+
for await (const entry of flush(this._bucket, blockstore, this, this.options)) {
|
|
65
|
+
yield {
|
|
66
|
+
...entry,
|
|
67
|
+
path: this.path
|
|
68
|
+
};
|
|
69
|
+
}
|
|
55
70
|
}
|
|
56
71
|
}
|
|
57
72
|
async function* flush(bucket, blockstore, shardRoot, options) {
|
|
58
73
|
const children = bucket._children;
|
|
59
74
|
const links = [];
|
|
60
|
-
let childrenSize =
|
|
75
|
+
let childrenSize = 0n;
|
|
61
76
|
for (let i = 0; i < children.length; i++) {
|
|
62
77
|
const child = children.get(i);
|
|
63
78
|
if (child == null) {
|
|
@@ -74,25 +89,28 @@ async function* flush(bucket, blockstore, shardRoot, options) {
|
|
|
74
89
|
}
|
|
75
90
|
links.push({
|
|
76
91
|
Name: labelPrefix,
|
|
77
|
-
Tsize: shard.size,
|
|
92
|
+
Tsize: Number(shard.size),
|
|
78
93
|
Hash: shard.cid
|
|
79
94
|
});
|
|
80
95
|
childrenSize += shard.size;
|
|
81
96
|
}
|
|
82
|
-
else if (
|
|
97
|
+
else if (isDir(child.value)) {
|
|
83
98
|
const dir = child.value;
|
|
84
99
|
let flushedDir;
|
|
85
100
|
for await (const entry of dir.flush(blockstore)) {
|
|
86
101
|
flushedDir = entry;
|
|
87
102
|
yield flushedDir;
|
|
88
103
|
}
|
|
104
|
+
if (flushedDir == null) {
|
|
105
|
+
throw new Error('Did not flush dir');
|
|
106
|
+
}
|
|
89
107
|
const label = labelPrefix + child.key;
|
|
90
108
|
links.push({
|
|
91
109
|
Name: label,
|
|
92
|
-
Tsize: flushedDir.size,
|
|
110
|
+
Tsize: Number(flushedDir.size),
|
|
93
111
|
Hash: flushedDir.cid
|
|
94
112
|
});
|
|
95
|
-
childrenSize += flushedDir.size;
|
|
113
|
+
childrenSize += flushedDir.size;
|
|
96
114
|
}
|
|
97
115
|
else {
|
|
98
116
|
const value = child.value;
|
|
@@ -103,10 +121,10 @@ async function* flush(bucket, blockstore, shardRoot, options) {
|
|
|
103
121
|
const size = value.size;
|
|
104
122
|
links.push({
|
|
105
123
|
Name: label,
|
|
106
|
-
Tsize: size,
|
|
124
|
+
Tsize: Number(size),
|
|
107
125
|
Hash: value.cid
|
|
108
126
|
});
|
|
109
|
-
childrenSize += size ?? 0;
|
|
127
|
+
childrenSize += BigInt(size ?? 0);
|
|
110
128
|
}
|
|
111
129
|
}
|
|
112
130
|
// go-ipfs uses little endian, that's why we have to
|
|
@@ -115,7 +133,7 @@ async function* flush(bucket, blockstore, shardRoot, options) {
|
|
|
115
133
|
const dir = new UnixFS({
|
|
116
134
|
type: 'hamt-sharded-directory',
|
|
117
135
|
data,
|
|
118
|
-
fanout: bucket.tableSize(),
|
|
136
|
+
fanout: BigInt(bucket.tableSize()),
|
|
119
137
|
hashType: hamtHashCode,
|
|
120
138
|
mtime: shardRoot?.mtime,
|
|
121
139
|
mode: shardRoot?.mode
|
|
@@ -126,11 +144,77 @@ async function* flush(bucket, blockstore, shardRoot, options) {
|
|
|
126
144
|
};
|
|
127
145
|
const buffer = encode(prepare(node));
|
|
128
146
|
const cid = await persist(buffer, blockstore, options);
|
|
129
|
-
const size = buffer.
|
|
147
|
+
const size = BigInt(buffer.byteLength) + childrenSize;
|
|
130
148
|
yield {
|
|
131
149
|
cid,
|
|
132
|
-
|
|
150
|
+
unixfs: dir,
|
|
133
151
|
size
|
|
134
152
|
};
|
|
135
153
|
}
|
|
154
|
+
function isDir(obj) {
|
|
155
|
+
return typeof obj.flush === 'function';
|
|
156
|
+
}
|
|
157
|
+
function calculateSize(bucket, shardRoot, options) {
|
|
158
|
+
const children = bucket._children;
|
|
159
|
+
const links = [];
|
|
160
|
+
for (let i = 0; i < children.length; i++) {
|
|
161
|
+
const child = children.get(i);
|
|
162
|
+
if (child == null) {
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
const labelPrefix = i.toString(16).toUpperCase().padStart(2, '0');
|
|
166
|
+
if (child instanceof Bucket) {
|
|
167
|
+
const size = calculateSize(child, null, options);
|
|
168
|
+
links.push({
|
|
169
|
+
Name: labelPrefix,
|
|
170
|
+
Tsize: Number(size),
|
|
171
|
+
Hash: options.cidVersion === 0 ? CID_V0 : CID_V1
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
else if (typeof child.value.flush === 'function') {
|
|
175
|
+
const dir = child.value;
|
|
176
|
+
const size = dir.nodeSize();
|
|
177
|
+
links.push({
|
|
178
|
+
Name: labelPrefix + child.key,
|
|
179
|
+
Tsize: Number(size),
|
|
180
|
+
Hash: options.cidVersion === 0 ? CID_V0 : CID_V1
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
const value = child.value;
|
|
185
|
+
if (value.cid == null) {
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
const label = labelPrefix + child.key;
|
|
189
|
+
const size = value.size;
|
|
190
|
+
links.push({
|
|
191
|
+
Name: label,
|
|
192
|
+
Tsize: Number(size),
|
|
193
|
+
Hash: value.cid
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// go-ipfs uses little endian, that's why we have to
|
|
198
|
+
// reverse the bit field before storing it
|
|
199
|
+
const data = Uint8Array.from(children.bitField().reverse());
|
|
200
|
+
const dir = new UnixFS({
|
|
201
|
+
type: 'hamt-sharded-directory',
|
|
202
|
+
data,
|
|
203
|
+
fanout: BigInt(bucket.tableSize()),
|
|
204
|
+
hashType: hamtHashCode,
|
|
205
|
+
mtime: shardRoot?.mtime,
|
|
206
|
+
mode: shardRoot?.mode
|
|
207
|
+
});
|
|
208
|
+
const buffer = encode(prepare({
|
|
209
|
+
Data: dir.marshal(),
|
|
210
|
+
Links: links
|
|
211
|
+
}));
|
|
212
|
+
return buffer.length;
|
|
213
|
+
}
|
|
214
|
+
// we use these to calculate the node size to use as a check for whether a directory
|
|
215
|
+
// should be sharded or not. Since CIDs have a constant length and We're only
|
|
216
|
+
// interested in the data length and not the actual content identifier we can use
|
|
217
|
+
// any old CID instead of having to hash the data which is expensive.
|
|
218
|
+
export const CID_V0 = CID.parse('QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn');
|
|
219
|
+
export const CID_V1 = CID.parse('zdj7WbTaiJT1fgatdet9Ei9iDB5hdCxkbVyhyh8YTUnXMiwYi');
|
|
136
220
|
//# sourceMappingURL=dir-sharded.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dir-sharded.js","sourceRoot":"","sources":["../../../../src/commands/utils/dir-sharded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dir-sharded.js","sourceRoot":"","sources":["../../../../src/commands/utils/dir-sharded.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare abstract class UnixFSError extends Error {
|
|
2
|
+
readonly name: string;
|
|
3
|
+
readonly code: string;
|
|
4
|
+
constructor(message: string, name: string, code: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class NotUnixFSError extends UnixFSError {
|
|
7
|
+
constructor(message?: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class InvalidPBNodeError extends UnixFSError {
|
|
10
|
+
constructor(message?: string);
|
|
11
|
+
}
|
|
12
|
+
export declare class UnknownError extends UnixFSError {
|
|
13
|
+
constructor(message?: string);
|
|
14
|
+
}
|
|
15
|
+
export declare class AlreadyExistsError extends UnixFSError {
|
|
16
|
+
constructor(message?: string);
|
|
17
|
+
}
|
|
18
|
+
export declare class DoesNotExistError extends UnixFSError {
|
|
3
19
|
constructor(message?: string);
|
|
4
20
|
}
|
|
5
|
-
export declare class
|
|
21
|
+
export declare class NoContentError extends UnixFSError {
|
|
6
22
|
constructor(message?: string);
|
|
7
23
|
}
|
|
8
|
-
export declare class
|
|
24
|
+
export declare class NotAFileError extends UnixFSError {
|
|
9
25
|
constructor(message?: string);
|
|
10
26
|
}
|
|
11
|
-
export declare class
|
|
27
|
+
export declare class NotADirectoryError extends UnixFSError {
|
|
12
28
|
constructor(message?: string);
|
|
13
29
|
}
|
|
14
|
-
export declare class
|
|
30
|
+
export declare class InvalidParametersError extends UnixFSError {
|
|
15
31
|
constructor(message?: string);
|
|
16
32
|
}
|
|
17
33
|
//# sourceMappingURL=errors.d.ts.map
|