@helia/unixfs 3.0.0 → 3.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 +15 -0
- package/dist/index.min.js +1 -1
- package/dist/src/commands/add.d.ts +6 -6
- package/dist/src/commands/add.d.ts.map +1 -1
- package/dist/src/commands/add.js.map +1 -1
- package/dist/src/commands/cat.d.ts +2 -2
- package/dist/src/commands/cat.d.ts.map +1 -1
- package/dist/src/commands/cat.js.map +1 -1
- package/dist/src/commands/chmod.d.ts +2 -2
- package/dist/src/commands/chmod.d.ts.map +1 -1
- package/dist/src/commands/chmod.js.map +1 -1
- package/dist/src/commands/cp.d.ts +2 -2
- package/dist/src/commands/cp.d.ts.map +1 -1
- package/dist/src/commands/cp.js.map +1 -1
- package/dist/src/commands/ls.d.ts +2 -2
- package/dist/src/commands/ls.d.ts.map +1 -1
- package/dist/src/commands/ls.js.map +1 -1
- package/dist/src/commands/mkdir.d.ts +2 -2
- package/dist/src/commands/mkdir.d.ts.map +1 -1
- package/dist/src/commands/mkdir.js.map +1 -1
- package/dist/src/commands/rm.d.ts +2 -2
- package/dist/src/commands/rm.d.ts.map +1 -1
- package/dist/src/commands/rm.js.map +1 -1
- package/dist/src/commands/stat.d.ts +2 -2
- package/dist/src/commands/stat.d.ts.map +1 -1
- package/dist/src/commands/stat.js.map +1 -1
- package/dist/src/commands/touch.d.ts +2 -2
- package/dist/src/commands/touch.d.ts.map +1 -1
- package/dist/src/commands/touch.js.map +1 -1
- package/dist/src/commands/utils/add-link.d.ts +2 -2
- package/dist/src/commands/utils/add-link.d.ts.map +1 -1
- package/dist/src/commands/utils/add-link.js.map +1 -1
- package/dist/src/commands/utils/cid-to-directory.d.ts +2 -2
- package/dist/src/commands/utils/cid-to-directory.d.ts.map +1 -1
- package/dist/src/commands/utils/cid-to-directory.js.map +1 -1
- package/dist/src/commands/utils/cid-to-pblink.d.ts +2 -2
- 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/dir-sharded.d.ts +3 -3
- package/dist/src/commands/utils/dir-sharded.d.ts.map +1 -1
- package/dist/src/commands/utils/dir-sharded.js.map +1 -1
- package/dist/src/commands/utils/hamt-utils.d.ts +4 -4
- package/dist/src/commands/utils/hamt-utils.d.ts.map +1 -1
- package/dist/src/commands/utils/hamt-utils.js.map +1 -1
- package/dist/src/commands/utils/is-over-shard-threshold.d.ts +2 -2
- package/dist/src/commands/utils/is-over-shard-threshold.d.ts.map +1 -1
- package/dist/src/commands/utils/is-over-shard-threshold.js.map +1 -1
- package/dist/src/commands/utils/remove-link.d.ts +2 -2
- package/dist/src/commands/utils/remove-link.d.ts.map +1 -1
- package/dist/src/commands/utils/remove-link.js.map +1 -1
- package/dist/src/commands/utils/resolve.d.ts +3 -3
- package/dist/src/commands/utils/resolve.d.ts.map +1 -1
- package/dist/src/commands/utils/resolve.js +8 -41
- package/dist/src/commands/utils/resolve.js.map +1 -1
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/package.json +19 -19
- package/src/commands/add.ts +6 -6
- package/src/commands/cat.ts +2 -2
- package/src/commands/chmod.ts +2 -2
- package/src/commands/cp.ts +2 -2
- package/src/commands/ls.ts +2 -2
- package/src/commands/mkdir.ts +2 -2
- package/src/commands/rm.ts +2 -2
- package/src/commands/stat.ts +3 -3
- package/src/commands/touch.ts +2 -2
- package/src/commands/utils/add-link.ts +5 -5
- package/src/commands/utils/cid-to-directory.ts +2 -2
- package/src/commands/utils/cid-to-pblink.ts +2 -2
- package/src/commands/utils/dir-sharded.ts +4 -4
- package/src/commands/utils/hamt-utils.ts +4 -4
- package/src/commands/utils/is-over-shard-threshold.ts +3 -3
- package/src/commands/utils/remove-link.ts +5 -5
- package/src/commands/utils/resolve.ts +12 -51
- package/src/index.ts +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-over-shard-threshold.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/is-over-shard-threshold.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"is-over-shard-threshold.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/is-over-shard-threshold.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAiB5I"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-over-shard-threshold.js","sourceRoot":"","sources":["../../../../src/commands/utils/is-over-shard-threshold.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAKjD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAE,IAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"is-over-shard-threshold.js","sourceRoot":"","sources":["../../../../src/commands/utils/is-over-shard-threshold.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Directory } from './cid-to-directory.js';
|
|
2
|
-
import type { Blocks } from '@helia/interface/blocks';
|
|
3
2
|
import type { PBNode } from '@ipld/dag-pb';
|
|
4
3
|
import type { AbortOptions } from '@libp2p/interface';
|
|
4
|
+
import type { Blockstore } from 'interface-blockstore';
|
|
5
5
|
import type { CID, Version } from 'multiformats/cid';
|
|
6
6
|
export interface RmLinkOptions extends AbortOptions {
|
|
7
7
|
shardSplitThresholdBytes: number;
|
|
@@ -11,5 +11,5 @@ export interface RemoveLinkResult {
|
|
|
11
11
|
node: PBNode;
|
|
12
12
|
cid: CID;
|
|
13
13
|
}
|
|
14
|
-
export declare function removeLink(parent: Directory, name: string, blockstore:
|
|
14
|
+
export declare function removeLink(parent: Directory, name: string, blockstore: Blockstore, options: RmLinkOptions): Promise<RemoveLinkResult>;
|
|
15
15
|
//# sourceMappingURL=remove-link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-link.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/remove-link.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"remove-link.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/remove-link.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAIpD,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,wBAAwB,EAAE,MAAM,CAAA;IAChC,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,GAAG,CAAA;CACT;AAED,wBAAsB,UAAU,CAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwB5I"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-link.js","sourceRoot":"","sources":["../../../../src/commands/utils/remove-link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EACL,wBAAwB,EAExB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAOtC,MAAM,GAAG,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAA;AAYpD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAE,MAAiB,EAAE,IAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"remove-link.js","sourceRoot":"","sources":["../../../../src/commands/utils/remove-link.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Blocks } from '@helia/interface/blocks';
|
|
2
1
|
import type { AbortOptions } from '@libp2p/interface';
|
|
2
|
+
import type { Blockstore } from 'interface-blockstore';
|
|
3
3
|
import type { CID } from 'multiformats/cid';
|
|
4
4
|
export interface Segment {
|
|
5
5
|
name: string;
|
|
@@ -19,7 +19,7 @@ export interface ResolveResult {
|
|
|
19
19
|
*/
|
|
20
20
|
segments?: Segment[];
|
|
21
21
|
}
|
|
22
|
-
export declare function resolve(cid: CID, path: string | undefined, blockstore:
|
|
22
|
+
export declare function resolve(cid: CID, path: string | undefined, blockstore: Blockstore, options: AbortOptions): Promise<ResolveResult>;
|
|
23
23
|
export interface UpdatePathCidsOptions extends AbortOptions {
|
|
24
24
|
shardSplitThresholdBytes: number;
|
|
25
25
|
}
|
|
@@ -27,5 +27,5 @@ export interface UpdatePathCidsOptions extends AbortOptions {
|
|
|
27
27
|
* Where we have descended into a DAG to update a child node, ascend up the DAG creating
|
|
28
28
|
* new hashes and blocks for the changed content
|
|
29
29
|
*/
|
|
30
|
-
export declare function updatePathCids(cid: CID, result: ResolveResult, blockstore:
|
|
30
|
+
export declare function updatePathCids(cid: CID, result: ResolveResult, blockstore: Blockstore, options: UpdatePathCidsOptions): Promise<CID>;
|
|
31
31
|
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/resolve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/resolve.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,GAAG,EAAE,GAAG,CAAA;IAER,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;CACrB;AAED,wBAAsB,OAAO,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBxI;AAED,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,wBAAwB,EAAE,MAAM,CAAA;CACjC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,CAoC3I"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { logger } from '@libp2p/logger';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import { walkPath } from 'ipfs-unixfs-exporter';
|
|
3
|
+
import all from 'it-all';
|
|
4
|
+
import { DoesNotExistError } from '../../errors.js';
|
|
4
5
|
import { addLink } from './add-link.js';
|
|
5
6
|
import { cidToDirectory } from './cid-to-directory.js';
|
|
6
7
|
import { cidToPBLink } from './cid-to-pblink.js';
|
|
@@ -9,48 +10,14 @@ export async function resolve(cid, path, blockstore, options) {
|
|
|
9
10
|
if (path == null || path === '') {
|
|
10
11
|
return { cid };
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
cid,
|
|
17
|
-
size: 0n
|
|
18
|
-
}];
|
|
19
|
-
for (let i = 0; i < parts.length; i++) {
|
|
20
|
-
const part = parts[i];
|
|
21
|
-
const result = await exporter(cid, blockstore, options);
|
|
22
|
-
log('resolving "%s"', part, result);
|
|
23
|
-
if (result.type === 'file') {
|
|
24
|
-
if (i < parts.length - 1) {
|
|
25
|
-
throw new InvalidParametersError('Path was invalid');
|
|
26
|
-
}
|
|
27
|
-
cid = result.cid;
|
|
28
|
-
}
|
|
29
|
-
else if (result.type === 'directory') {
|
|
30
|
-
let dirCid;
|
|
31
|
-
for await (const entry of result.content()) {
|
|
32
|
-
if (entry.name === part) {
|
|
33
|
-
dirCid = entry.cid;
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (dirCid == null) {
|
|
38
|
-
throw new DoesNotExistError('Could not find path in directory');
|
|
39
|
-
}
|
|
40
|
-
cid = dirCid;
|
|
41
|
-
segments.push({
|
|
42
|
-
name: part,
|
|
43
|
-
cid,
|
|
44
|
-
size: result.size
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
throw new InvalidParametersError('Could not resolve path');
|
|
49
|
-
}
|
|
13
|
+
const p = `/ipfs/${cid}${path == null ? '' : `/${path}`}`;
|
|
14
|
+
const segments = await all(walkPath(p, blockstore, options));
|
|
15
|
+
if (segments.length === 0) {
|
|
16
|
+
throw new DoesNotExistError('Could not find path in directory');
|
|
50
17
|
}
|
|
51
18
|
log('resolved %s to %c', path, cid);
|
|
52
19
|
return {
|
|
53
|
-
cid,
|
|
20
|
+
cid: segments[segments.length - 1].cid,
|
|
54
21
|
path,
|
|
55
22
|
segments
|
|
56
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/commands/utils/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/commands/utils/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKhD,MAAM,GAAG,GAAG,MAAM,CAAC,uCAAuC,CAAC,CAAA;AAwB3D,MAAM,CAAC,KAAK,UAAU,OAAO,CAAE,GAAQ,EAAE,IAAwB,EAAE,UAAsB,EAAE,OAAqB;IAC9G,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChC,OAAO,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,GAAG,SAAS,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IAE5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,iBAAiB,CAAC,kCAAkC,CAAC,CAAA;IACjE,CAAC;IAED,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;IAEnC,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG;QACtC,IAAI;QACJ,QAAQ;KACT,CAAA;AACH,CAAC;AAMD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,GAAQ,EAAE,MAAqB,EAAE,UAAsB,EAAE,OAA8B;IAC3H,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;IAEjC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,GAAG,GAAG,GAAG,CAAA;IAEf,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;IAEzB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,CACJ,SAAS,EACT,MAAM,CACP,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpB,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC;YAC/C,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;SACxD,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;YAC1D,GAAG,OAAO;YACV,gBAAgB,EAAE,IAAI;YACtB,UAAU,EAAE,GAAG,CAAC,OAAO;SACxB,CAAC,CAAA;QAEF,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QAChB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAA;QAChB,KAAK,GAAG,MAAM,CAAA;IAChB,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -42,15 +42,16 @@
|
|
|
42
42
|
* }
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
-
import type {
|
|
45
|
+
import type { GetBlockProgressEvents, PutBlockProgressEvents } from '@helia/interface/blocks';
|
|
46
46
|
import type { AbortOptions } from '@libp2p/interface';
|
|
47
|
+
import type { Blockstore } from 'interface-blockstore';
|
|
47
48
|
import type { Mtime, UnixFS as IPFSUnixFS } from 'ipfs-unixfs';
|
|
48
49
|
import type { ExporterProgressEvents, UnixFSEntry } from 'ipfs-unixfs-exporter';
|
|
49
50
|
import type { ByteStream, DirectoryCandidate, FileCandidate, ImportCandidateStream, ImporterOptions, ImporterProgressEvents, ImportResult } from 'ipfs-unixfs-importer';
|
|
50
51
|
import type { CID, Version } from 'multiformats/cid';
|
|
51
52
|
import type { ProgressOptions } from 'progress-events';
|
|
52
53
|
export interface UnixFSComponents {
|
|
53
|
-
blockstore:
|
|
54
|
+
blockstore: Blockstore;
|
|
54
55
|
}
|
|
55
56
|
export type AddEvents = PutBlockProgressEvents | ImporterProgressEvents;
|
|
56
57
|
export interface AddOptions extends AbortOptions, Omit<ImporterOptions, 'onProgress'>, ProgressOptions<AddEvents> {
|
|
@@ -486,7 +487,7 @@ export interface UnixFS {
|
|
|
486
487
|
* Create a {@link UnixFS} instance for use with {@link https://github.com/ipfs/helia Helia}
|
|
487
488
|
*/
|
|
488
489
|
export declare function unixfs(helia: {
|
|
489
|
-
blockstore:
|
|
490
|
+
blockstore: Blockstore;
|
|
490
491
|
}): UnixFS;
|
|
491
492
|
export { globSource } from './utils/glob-source.js';
|
|
492
493
|
export { urlSource } from './utils/url-source.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAWH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC1F,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/unixfs",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "A Helia-compatible wrapper for UnixFS",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/unixfs#readme",
|
|
@@ -159,34 +159,34 @@
|
|
|
159
159
|
"release": "aegir release"
|
|
160
160
|
},
|
|
161
161
|
"dependencies": {
|
|
162
|
-
"@helia/interface": "^4.0.
|
|
163
|
-
"@ipld/dag-pb": "^4.0
|
|
164
|
-
"@libp2p/interface": "^1.1.
|
|
165
|
-
"@libp2p/logger": "^4.0.
|
|
166
|
-
"@multiformats/murmur3": "^2.1.
|
|
167
|
-
"hamt-sharding": "^3.0.
|
|
168
|
-
"
|
|
169
|
-
"ipfs-unixfs
|
|
170
|
-
"ipfs-unixfs-
|
|
171
|
-
"
|
|
162
|
+
"@helia/interface": "^4.0.1",
|
|
163
|
+
"@ipld/dag-pb": "^4.1.0",
|
|
164
|
+
"@libp2p/interface": "^1.1.4",
|
|
165
|
+
"@libp2p/logger": "^4.0.7",
|
|
166
|
+
"@multiformats/murmur3": "^2.1.8",
|
|
167
|
+
"hamt-sharding": "^3.0.6",
|
|
168
|
+
"interface-blockstore": "^5.2.10",
|
|
169
|
+
"ipfs-unixfs": "^11.1.3",
|
|
170
|
+
"ipfs-unixfs-exporter": "^13.5.0",
|
|
171
|
+
"ipfs-unixfs-importer": "^15.2.4",
|
|
172
|
+
"it-all": "^3.0.4",
|
|
173
|
+
"it-glob": "^2.0.6",
|
|
172
174
|
"it-last": "^3.0.4",
|
|
173
175
|
"it-pipe": "^3.0.1",
|
|
174
176
|
"merge-options": "^3.0.4",
|
|
175
|
-
"multiformats": "^13.
|
|
177
|
+
"multiformats": "^13.1.0",
|
|
176
178
|
"progress-events": "^1.0.0",
|
|
177
179
|
"sparse-array": "^1.3.2",
|
|
178
|
-
"uint8arrays": "^5.0.
|
|
180
|
+
"uint8arrays": "^5.0.2"
|
|
179
181
|
},
|
|
180
182
|
"devDependencies": {
|
|
181
|
-
"aegir": "^42.
|
|
182
|
-
"blockstore-core": "^4.
|
|
183
|
+
"aegir": "^42.2.5",
|
|
184
|
+
"blockstore-core": "^4.4.0",
|
|
183
185
|
"delay": "^6.0.0",
|
|
184
|
-
"interface-blockstore": "^5.2.9",
|
|
185
186
|
"iso-url": "^1.2.1",
|
|
186
|
-
"it-all": "^3.0.4",
|
|
187
187
|
"it-drain": "^3.0.5",
|
|
188
|
-
"it-first": "^3.0.
|
|
189
|
-
"it-to-buffer": "^4.0.
|
|
188
|
+
"it-first": "^3.0.4",
|
|
189
|
+
"it-to-buffer": "^4.0.5",
|
|
190
190
|
"wherearewe": "^2.0.1"
|
|
191
191
|
},
|
|
192
192
|
"browser": {
|
package/src/commands/add.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ByteStream, type DirectoryCandidate, type FileCandidate, importBytes, importByteStream, type ImportCandidateStream, importDirectory, importer, type ImporterOptions, importFile, type ImportResult } from 'ipfs-unixfs-importer'
|
|
2
2
|
import { fixedSize } from 'ipfs-unixfs-importer/chunker'
|
|
3
3
|
import { balanced } from 'ipfs-unixfs-importer/layout'
|
|
4
|
-
import type {
|
|
4
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
5
5
|
import type { CID } from 'multiformats/cid'
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -18,14 +18,14 @@ const defaultImporterSettings: ImporterOptions = {
|
|
|
18
18
|
})
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export async function * addAll (source: ImportCandidateStream, blockstore:
|
|
21
|
+
export async function * addAll (source: ImportCandidateStream, blockstore: Blockstore, options: Partial<ImporterOptions> = {}): AsyncGenerator<ImportResult, void, unknown> {
|
|
22
22
|
yield * importer(source, blockstore, {
|
|
23
23
|
...defaultImporterSettings,
|
|
24
24
|
...options
|
|
25
25
|
})
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export async function addBytes (bytes: Uint8Array, blockstore:
|
|
28
|
+
export async function addBytes (bytes: Uint8Array, blockstore: Blockstore, options: Partial<ImporterOptions> = {}): Promise<CID> {
|
|
29
29
|
const { cid } = await importBytes(bytes, blockstore, {
|
|
30
30
|
...defaultImporterSettings,
|
|
31
31
|
...options
|
|
@@ -34,7 +34,7 @@ export async function addBytes (bytes: Uint8Array, blockstore: Blocks, options:
|
|
|
34
34
|
return cid
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
export async function addByteStream (bytes: ByteStream, blockstore:
|
|
37
|
+
export async function addByteStream (bytes: ByteStream, blockstore: Blockstore, options: Partial<ImporterOptions> = {}): Promise<CID> {
|
|
38
38
|
const { cid } = await importByteStream(bytes, blockstore, {
|
|
39
39
|
...defaultImporterSettings,
|
|
40
40
|
...options
|
|
@@ -43,7 +43,7 @@ export async function addByteStream (bytes: ByteStream, blockstore: Blocks, opti
|
|
|
43
43
|
return cid
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
export async function addFile (file: FileCandidate, blockstore:
|
|
46
|
+
export async function addFile (file: FileCandidate, blockstore: Blockstore, options: Partial<ImporterOptions> = {}): Promise<CID> {
|
|
47
47
|
const { cid } = await importFile(file, blockstore, {
|
|
48
48
|
...defaultImporterSettings,
|
|
49
49
|
...options
|
|
@@ -52,7 +52,7 @@ export async function addFile (file: FileCandidate, blockstore: Blocks, options:
|
|
|
52
52
|
return cid
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
export async function addDirectory (dir: Partial<DirectoryCandidate>, blockstore:
|
|
55
|
+
export async function addDirectory (dir: Partial<DirectoryCandidate>, blockstore: Blockstore, options: Partial<ImporterOptions> = {}): Promise<CID> {
|
|
56
56
|
const { cid } = await importDirectory({
|
|
57
57
|
...dir,
|
|
58
58
|
path: dir.path ?? '-'
|
package/src/commands/cat.ts
CHANGED
|
@@ -3,7 +3,7 @@ import mergeOpts from 'merge-options'
|
|
|
3
3
|
import { NoContentError, NotAFileError } from '../errors.js'
|
|
4
4
|
import { resolve } from './utils/resolve.js'
|
|
5
5
|
import type { CatOptions } from '../index.js'
|
|
6
|
-
import type {
|
|
6
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
7
7
|
import type { CID } from 'multiformats/cid'
|
|
8
8
|
|
|
9
9
|
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true })
|
|
@@ -12,7 +12,7 @@ const defaultOptions: CatOptions = {
|
|
|
12
12
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export async function * cat (cid: CID, blockstore:
|
|
15
|
+
export async function * cat (cid: CID, blockstore: Blockstore, options: Partial<CatOptions> = {}): AsyncIterable<Uint8Array> {
|
|
16
16
|
const opts: CatOptions = mergeOptions(defaultOptions, options)
|
|
17
17
|
const resolved = await resolve(cid, opts.path, blockstore, opts)
|
|
18
18
|
const result = await exporter(resolved.cid, blockstore, opts)
|
package/src/commands/chmod.ts
CHANGED
|
@@ -14,8 +14,8 @@ import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js'
|
|
|
14
14
|
import { persist } from './utils/persist.js'
|
|
15
15
|
import { resolve, updatePathCids } from './utils/resolve.js'
|
|
16
16
|
import type { ChmodOptions } from '../index.js'
|
|
17
|
-
import type { Blocks } from '@helia/interface/blocks'
|
|
18
17
|
import type { PBNode, PBLink } from '@ipld/dag-pb'
|
|
18
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
19
19
|
|
|
20
20
|
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true })
|
|
21
21
|
const log = logger('helia:unixfs:chmod')
|
|
@@ -25,7 +25,7 @@ const defaultOptions: ChmodOptions = {
|
|
|
25
25
|
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export async function chmod (cid: CID, mode: number, blockstore:
|
|
28
|
+
export async function chmod (cid: CID, mode: number, blockstore: Blockstore, options: Partial<ChmodOptions> = {}): Promise<CID> {
|
|
29
29
|
const opts: ChmodOptions = mergeOptions(defaultOptions, options)
|
|
30
30
|
const resolved = await resolve(cid, opts.path, blockstore, options)
|
|
31
31
|
|
package/src/commands/cp.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { cidToDirectory } from './utils/cid-to-directory.js'
|
|
|
6
6
|
import { cidToPBLink } from './utils/cid-to-pblink.js'
|
|
7
7
|
import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js'
|
|
8
8
|
import type { CpOptions } from '../index.js'
|
|
9
|
-
import type {
|
|
9
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
10
10
|
import type { CID } from 'multiformats/cid'
|
|
11
11
|
|
|
12
12
|
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true })
|
|
@@ -17,7 +17,7 @@ const defaultOptions: CpOptions = {
|
|
|
17
17
|
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export async function cp (source: CID, target: CID, name: string, blockstore:
|
|
20
|
+
export async function cp (source: CID, target: CID, name: string, blockstore: Blockstore, options: Partial<CpOptions> = {}): Promise<CID> {
|
|
21
21
|
const opts: CpOptions = mergeOptions(defaultOptions, options)
|
|
22
22
|
|
|
23
23
|
if (name.includes('/')) {
|
package/src/commands/ls.ts
CHANGED
|
@@ -3,7 +3,7 @@ import mergeOpts from 'merge-options'
|
|
|
3
3
|
import { NoContentError, NotADirectoryError } from '../errors.js'
|
|
4
4
|
import { resolve } from './utils/resolve.js'
|
|
5
5
|
import type { LsOptions } from '../index.js'
|
|
6
|
-
import type {
|
|
6
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
7
7
|
import type { CID } from 'multiformats/cid'
|
|
8
8
|
|
|
9
9
|
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true })
|
|
@@ -12,7 +12,7 @@ const defaultOptions: LsOptions = {
|
|
|
12
12
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export async function * ls (cid: CID, blockstore:
|
|
15
|
+
export async function * ls (cid: CID, blockstore: Blockstore, options: Partial<LsOptions> = {}): AsyncIterable<UnixFSEntry> {
|
|
16
16
|
const opts: LsOptions = mergeOptions(defaultOptions, options)
|
|
17
17
|
const resolved = await resolve(cid, opts.path, blockstore, opts)
|
|
18
18
|
const result = await exporter(resolved.cid, blockstore)
|
package/src/commands/mkdir.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { cidToDirectory } from './utils/cid-to-directory.js'
|
|
|
11
11
|
import { cidToPBLink } from './utils/cid-to-pblink.js'
|
|
12
12
|
import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js'
|
|
13
13
|
import type { MkdirOptions } from '../index.js'
|
|
14
|
-
import type {
|
|
14
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
15
15
|
|
|
16
16
|
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true })
|
|
17
17
|
const log = logger('helia:unixfs:mkdir')
|
|
@@ -22,7 +22,7 @@ const defaultOptions: MkdirOptions = {
|
|
|
22
22
|
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
export async function mkdir (parentCid: CID, dirname: string, blockstore:
|
|
25
|
+
export async function mkdir (parentCid: CID, dirname: string, blockstore: Blockstore, options: Partial<MkdirOptions> = {}): Promise<CID> {
|
|
26
26
|
const opts: MkdirOptions = mergeOptions(defaultOptions, options)
|
|
27
27
|
|
|
28
28
|
if (dirname.includes('/')) {
|
package/src/commands/rm.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { cidToDirectory } from './utils/cid-to-directory.js'
|
|
|
5
5
|
import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js'
|
|
6
6
|
import { removeLink } from './utils/remove-link.js'
|
|
7
7
|
import type { RmOptions } from '../index.js'
|
|
8
|
-
import type {
|
|
8
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
9
9
|
import type { CID } from 'multiformats/cid'
|
|
10
10
|
|
|
11
11
|
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true })
|
|
@@ -15,7 +15,7 @@ const defaultOptions: RmOptions = {
|
|
|
15
15
|
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export async function rm (target: CID, name: string, blockstore:
|
|
18
|
+
export async function rm (target: CID, name: string, blockstore: Blockstore, options: Partial<RmOptions> = {}): Promise<CID> {
|
|
19
19
|
const opts: RmOptions = mergeOptions(defaultOptions, options)
|
|
20
20
|
|
|
21
21
|
if (name.includes('/')) {
|
package/src/commands/stat.ts
CHANGED
|
@@ -7,8 +7,8 @@ import * as raw from 'multiformats/codecs/raw'
|
|
|
7
7
|
import { InvalidPBNodeError, NotUnixFSError, UnknownError } from '../errors.js'
|
|
8
8
|
import { resolve } from './utils/resolve.js'
|
|
9
9
|
import type { StatOptions, UnixFSStats } from '../index.js'
|
|
10
|
-
import type { Blocks } from '@helia/interface/blocks'
|
|
11
10
|
import type { AbortOptions } from '@libp2p/interface'
|
|
11
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
12
12
|
import type { Mtime } from 'ipfs-unixfs'
|
|
13
13
|
import type { CID } from 'multiformats/cid'
|
|
14
14
|
|
|
@@ -19,7 +19,7 @@ const defaultOptions: StatOptions = {
|
|
|
19
19
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export async function stat (cid: CID, blockstore:
|
|
22
|
+
export async function stat (cid: CID, blockstore: Blockstore, options: Partial<StatOptions> = {}): Promise<UnixFSStats> {
|
|
23
23
|
const opts: StatOptions = mergeOptions(defaultOptions, options)
|
|
24
24
|
const resolved = await resolve(cid, options.path, blockstore, opts)
|
|
25
25
|
|
|
@@ -93,7 +93,7 @@ interface InspectDagResults {
|
|
|
93
93
|
blocks: number
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
async function inspectDag (cid: CID, blockstore:
|
|
96
|
+
async function inspectDag (cid: CID, blockstore: Blockstore, options: AbortOptions): Promise<InspectDagResults> {
|
|
97
97
|
const results = {
|
|
98
98
|
localFileSize: 0,
|
|
99
99
|
localDagSize: 0,
|
package/src/commands/touch.ts
CHANGED
|
@@ -14,8 +14,8 @@ import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js'
|
|
|
14
14
|
import { persist } from './utils/persist.js'
|
|
15
15
|
import { resolve, updatePathCids } from './utils/resolve.js'
|
|
16
16
|
import type { TouchOptions } from '../index.js'
|
|
17
|
-
import type { Blocks } from '@helia/interface/blocks'
|
|
18
17
|
import type { PBNode, PBLink } from '@ipld/dag-pb'
|
|
18
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
19
19
|
|
|
20
20
|
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true })
|
|
21
21
|
const log = logger('helia:unixfs:touch')
|
|
@@ -25,7 +25,7 @@ const defaultOptions: TouchOptions = {
|
|
|
25
25
|
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export async function touch (cid: CID, blockstore:
|
|
28
|
+
export async function touch (cid: CID, blockstore: Blockstore, options: Partial<TouchOptions> = {}): Promise<CID> {
|
|
29
29
|
const opts: TouchOptions = mergeOptions(defaultOptions, options)
|
|
30
30
|
const resolved = await resolve(cid, opts.path, blockstore, opts)
|
|
31
31
|
const mtime = opts.mtime ?? {
|
|
@@ -17,9 +17,9 @@ import {
|
|
|
17
17
|
} from './hamt-utils.js'
|
|
18
18
|
import { isOverShardThreshold } from './is-over-shard-threshold.js'
|
|
19
19
|
import type { Directory } from './cid-to-directory.js'
|
|
20
|
-
import type { Blocks } from '@helia/interface/blocks'
|
|
21
20
|
import type { PBNode, PBLink } from '@ipld/dag-pb/interface'
|
|
22
21
|
import type { AbortOptions } from '@libp2p/interface'
|
|
22
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
23
23
|
import type { ImportResult } from 'ipfs-unixfs-importer'
|
|
24
24
|
|
|
25
25
|
const log = logger('helia:unixfs:components:utils:add-link')
|
|
@@ -35,7 +35,7 @@ export interface AddLinkOptions extends AbortOptions {
|
|
|
35
35
|
cidVersion: Version
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
export async function addLink (parent: Directory, child: Required<PBLink>, blockstore:
|
|
38
|
+
export async function addLink (parent: Directory, child: Required<PBLink>, blockstore: Blockstore, options: AddLinkOptions): Promise<AddLinkResult> {
|
|
39
39
|
if (parent.node.Data == null) {
|
|
40
40
|
throw new InvalidParametersError('Invalid parent passed to addLink')
|
|
41
41
|
}
|
|
@@ -63,7 +63,7 @@ export async function addLink (parent: Directory, child: Required<PBLink>, block
|
|
|
63
63
|
return result
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
const convertToShardedDirectory = async (parent: Directory, blockstore:
|
|
66
|
+
const convertToShardedDirectory = async (parent: Directory, blockstore: Blockstore): Promise<ImportResult> => {
|
|
67
67
|
if (parent.node.Data == null) {
|
|
68
68
|
throw new InvalidParametersError('Invalid parent passed to convertToShardedDirectory')
|
|
69
69
|
}
|
|
@@ -85,7 +85,7 @@ const convertToShardedDirectory = async (parent: Directory, blockstore: Blocks):
|
|
|
85
85
|
return result
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
const addToDirectory = async (parent: Directory, child: PBLink, blockstore:
|
|
88
|
+
const addToDirectory = async (parent: Directory, child: PBLink, blockstore: Blockstore, options: AddLinkOptions): Promise<AddLinkResult> => {
|
|
89
89
|
// Remove existing link if it exists
|
|
90
90
|
const parentLinks = parent.node.Links.filter((link) => {
|
|
91
91
|
const matches = link.Name === child.Name
|
|
@@ -137,7 +137,7 @@ const addToDirectory = async (parent: Directory, child: PBLink, blockstore: Bloc
|
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
const addToShardedDirectory = async (parent: Directory, child: Required<PBLink>, blockstore:
|
|
140
|
+
const addToShardedDirectory = async (parent: Directory, child: Required<PBLink>, blockstore: Blockstore, options: AddLinkOptions): Promise<AddLinkResult> => {
|
|
141
141
|
const { path, hash } = await recreateShardedDirectory(parent.cid, child.Name, blockstore, options)
|
|
142
142
|
const finalSegment = path[path.length - 1]
|
|
143
143
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { exporter, type ExporterOptions } from 'ipfs-unixfs-exporter'
|
|
2
2
|
import { NotADirectoryError } from '../../errors.js'
|
|
3
|
-
import type { Blocks } from '@helia/interface/blocks'
|
|
4
3
|
import type { PBNode } from '@ipld/dag-pb'
|
|
4
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
5
5
|
import type { CID } from 'multiformats/cid'
|
|
6
6
|
|
|
7
7
|
export interface Directory {
|
|
@@ -9,7 +9,7 @@ export interface Directory {
|
|
|
9
9
|
node: PBNode
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export async function cidToDirectory (cid: CID, blockstore:
|
|
12
|
+
export async function cidToDirectory (cid: CID, blockstore: Blockstore, options: ExporterOptions = {}): Promise<Directory> {
|
|
13
13
|
const entry = await exporter(cid, blockstore, options)
|
|
14
14
|
|
|
15
15
|
if (entry.type !== 'directory') {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as dagPb from '@ipld/dag-pb'
|
|
2
2
|
import { exporter, type ExporterOptions } from 'ipfs-unixfs-exporter'
|
|
3
3
|
import { NotUnixFSError } from '../../errors.js'
|
|
4
|
-
import type { Blocks } from '@helia/interface/blocks'
|
|
5
4
|
import type { PBNode, PBLink } from '@ipld/dag-pb'
|
|
5
|
+
import type { Blockstore } from 'interface-blockstore'
|
|
6
6
|
import type { CID } from 'multiformats/cid'
|
|
7
7
|
|
|
8
|
-
export async function cidToPBLink (cid: CID, name: string, blockstore:
|
|
8
|
+
export async function cidToPBLink (cid: CID, name: string, blockstore: Blockstore, options?: ExporterOptions): Promise<Required<PBLink>> {
|
|
9
9
|
const sourceEntry = await exporter(cid, blockstore, options)
|
|
10
10
|
|
|
11
11
|
if (sourceEntry.type !== 'directory' && sourceEntry.type !== 'file' && sourceEntry.type !== 'raw') {
|