@helia/unixfs 5.1.0 → 6.0.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/dist/index.min.js +2 -1
- package/dist/index.min.js.map +4 -4
- package/dist/src/commands/cat.d.ts.map +1 -1
- package/dist/src/commands/cat.js +3 -7
- 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 +8 -15
- package/dist/src/commands/chmod.js.map +1 -1
- package/dist/src/commands/cp.d.ts.map +1 -1
- package/dist/src/commands/cp.js +4 -12
- package/dist/src/commands/cp.js.map +1 -1
- package/dist/src/commands/ls.d.ts.map +1 -1
- package/dist/src/commands/ls.js +1 -5
- 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 +8 -16
- package/dist/src/commands/mkdir.js.map +1 -1
- package/dist/src/commands/rm.d.ts.map +1 -1
- package/dist/src/commands/rm.js +2 -9
- package/dist/src/commands/rm.js.map +1 -1
- package/dist/src/commands/stat.d.ts.map +1 -1
- package/dist/src/commands/stat.js +5 -8
- 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 +9 -16
- package/dist/src/commands/touch.js.map +1 -1
- package/dist/src/commands/utils/add-link.d.ts +3 -3
- package/dist/src/commands/utils/add-link.d.ts.map +1 -1
- package/dist/src/commands/utils/add-link.js +4 -2
- package/dist/src/commands/utils/add-link.js.map +1 -1
- package/dist/src/commands/utils/hamt-utils.d.ts +2 -2
- package/dist/src/commands/utils/hamt-utils.d.ts.map +1 -1
- package/dist/src/commands/utils/hamt-utils.js +2 -1
- package/dist/src/commands/utils/hamt-utils.js.map +1 -1
- package/dist/src/commands/utils/is-over-shard-threshold.d.ts.map +1 -1
- package/dist/src/commands/utils/is-over-shard-threshold.js +2 -1
- package/dist/src/commands/utils/is-over-shard-threshold.js.map +1 -1
- package/dist/src/commands/utils/persist.d.ts +1 -1
- package/dist/src/commands/utils/persist.d.ts.map +1 -1
- package/dist/src/commands/utils/persist.js +2 -1
- package/dist/src/commands/utils/persist.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 +2 -1
- package/dist/src/commands/utils/remove-link.js.map +1 -1
- package/dist/src/commands/utils/resolve.d.ts +1 -1
- package/dist/src/commands/utils/resolve.d.ts.map +1 -1
- package/dist/src/constants.d.ts +3 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +3 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +19 -26
- package/src/commands/cat.ts +3 -11
- package/src/commands/chmod.ts +8 -16
- package/src/commands/cp.ts +4 -14
- package/src/commands/ls.ts +1 -9
- package/src/commands/mkdir.ts +8 -18
- package/src/commands/rm.ts +2 -11
- package/src/commands/stat.ts +6 -12
- package/src/commands/touch.ts +9 -17
- package/src/commands/utils/add-link.ts +7 -5
- package/src/commands/utils/hamt-utils.ts +4 -3
- package/src/commands/utils/is-over-shard-threshold.ts +2 -1
- package/src/commands/utils/persist.ts +3 -2
- package/src/commands/utils/remove-link.ts +4 -3
- package/src/commands/utils/resolve.ts +1 -1
- package/src/constants.ts +2 -0
- package/src/index.ts +1 -1
- package/dist/src/commands/utils/constants.d.ts +0 -2
- package/dist/src/commands/utils/constants.d.ts.map +0 -1
- package/dist/src/commands/utils/constants.js +0 -2
- package/dist/src/commands/utils/constants.js.map +0 -1
- package/src/commands/utils/constants.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat.d.ts","sourceRoot":"","sources":["../../../src/commands/cat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cat.d.ts","sourceRoot":"","sources":["../../../src/commands/cat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,wBAAwB,GAAG,CAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAazH"}
|
package/dist/src/commands/cat.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import { mergeOptions as mergeOpts } from '@libp2p/utils/merge-options';
|
|
2
1
|
import { exporter } from 'ipfs-unixfs-exporter';
|
|
3
2
|
import { NoContentError, NotAFileError } from '../errors.js';
|
|
4
3
|
import { resolve } from './utils/resolve.js';
|
|
5
|
-
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true });
|
|
6
|
-
const defaultOptions = {};
|
|
7
4
|
export async function* cat(cid, blockstore, options = {}) {
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const result = await exporter(resolved.cid, blockstore, opts);
|
|
5
|
+
const resolved = await resolve(cid, options.path, blockstore, options);
|
|
6
|
+
const result = await exporter(resolved.cid, blockstore, options);
|
|
11
7
|
if (result.type !== 'file' && result.type !== 'raw') {
|
|
12
8
|
throw new NotAFileError();
|
|
13
9
|
}
|
|
14
10
|
if (result.content == null) {
|
|
15
11
|
throw new NoContentError();
|
|
16
12
|
}
|
|
17
|
-
yield* result.content(
|
|
13
|
+
yield* result.content(options);
|
|
18
14
|
}
|
|
19
15
|
//# sourceMappingURL=cat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat.js","sourceRoot":"","sources":["../../../src/commands/cat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cat.js","sourceRoot":"","sources":["../../../src/commands/cat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAK5C,MAAM,CAAC,KAAK,SAAU,CAAC,CAAC,GAAG,CAAE,GAAQ,EAAE,UAAoB,EAAE,UAA+B,EAAE;IAC5F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAEhE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACpD,MAAM,IAAI,aAAa,EAAE,CAAA;IAC3B,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,EAAE,CAAA;IAC5B,CAAC;IAED,KAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chmod.d.ts","sourceRoot":"","sources":["../../../src/commands/chmod.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"chmod.d.ts","sourceRoot":"","sources":["../../../src/commands/chmod.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAKtD,wBAAsB,KAAK,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CA4GvI"}
|
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
import * as dagPB from '@ipld/dag-pb';
|
|
2
2
|
import { logger } from '@libp2p/logger';
|
|
3
|
-
import { mergeOptions as mergeOpts } from '@libp2p/utils/merge-options';
|
|
4
3
|
import { UnixFS } from 'ipfs-unixfs';
|
|
5
4
|
import { recursive } from 'ipfs-unixfs-exporter';
|
|
6
5
|
import { importer } from 'ipfs-unixfs-importer';
|
|
7
6
|
import last from 'it-last';
|
|
8
7
|
import { pipe } from 'it-pipe';
|
|
8
|
+
import toBuffer from 'it-to-buffer';
|
|
9
9
|
import { CID } from 'multiformats/cid';
|
|
10
10
|
import * as raw from 'multiformats/codecs/raw';
|
|
11
11
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
12
12
|
import { InvalidPBNodeError, NotUnixFSError, UnknownError } from '../errors.js';
|
|
13
|
-
import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js';
|
|
14
13
|
import { persist } from './utils/persist.js';
|
|
15
14
|
import { resolve, updatePathCids } from './utils/resolve.js';
|
|
16
|
-
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true });
|
|
17
15
|
const log = logger('helia:unixfs:chmod');
|
|
18
|
-
const defaultOptions = {
|
|
19
|
-
recursive: false,
|
|
20
|
-
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
21
|
-
};
|
|
22
16
|
export async function chmod(cid, mode, blockstore, options = {}) {
|
|
23
|
-
const
|
|
24
|
-
const resolved = await resolve(cid, opts.path, blockstore, options);
|
|
17
|
+
const resolved = await resolve(cid, options.path, blockstore, options);
|
|
25
18
|
log('chmod %c %d', resolved.cid, mode);
|
|
26
|
-
if (
|
|
19
|
+
if (options.recursive === true) {
|
|
27
20
|
// recursively export from root CID, change perms of each entry then reimport
|
|
28
21
|
// but do not reimport files, only manipulate dag-pb nodes
|
|
29
22
|
const root = await pipe(async function* () {
|
|
@@ -54,7 +47,7 @@ export async function chmod(cid, mode, blockstore, options = {}) {
|
|
|
54
47
|
},
|
|
55
48
|
// @ts-expect-error cannot combine progress types
|
|
56
49
|
(source) => importer(source, blockstore, {
|
|
57
|
-
...
|
|
50
|
+
...options,
|
|
58
51
|
dagBuilder: async function* (source, block) {
|
|
59
52
|
for await (const entry of source) {
|
|
60
53
|
yield async function () {
|
|
@@ -62,7 +55,7 @@ export async function chmod(cid, mode, blockstore, options = {}) {
|
|
|
62
55
|
const node = entry.content;
|
|
63
56
|
const buf = dagPB.encode(node);
|
|
64
57
|
const updatedCid = await persist(buf, block, {
|
|
65
|
-
...
|
|
58
|
+
...options,
|
|
66
59
|
cidVersion: cid.version
|
|
67
60
|
});
|
|
68
61
|
if (node.Data == null) {
|
|
@@ -82,9 +75,9 @@ export async function chmod(cid, mode, blockstore, options = {}) {
|
|
|
82
75
|
if (root == null) {
|
|
83
76
|
throw new UnknownError(`Could not chmod ${resolved.cid.toString()}`);
|
|
84
77
|
}
|
|
85
|
-
return updatePathCids(root.cid, resolved, blockstore,
|
|
78
|
+
return updatePathCids(root.cid, resolved, blockstore, options);
|
|
86
79
|
}
|
|
87
|
-
const block = await blockstore.get(resolved.cid, options);
|
|
80
|
+
const block = await toBuffer(blockstore.get(resolved.cid, options));
|
|
88
81
|
let metadata;
|
|
89
82
|
let links = [];
|
|
90
83
|
if (resolved.cid.code === raw.code) {
|
|
@@ -107,6 +100,6 @@ export async function chmod(cid, mode, blockstore, options = {}) {
|
|
|
107
100
|
const hash = await sha256.digest(updatedBlock);
|
|
108
101
|
const updatedCid = CID.create(resolved.cid.version, dagPB.code, hash);
|
|
109
102
|
await blockstore.put(updatedCid, updatedBlock);
|
|
110
|
-
return updatePathCids(updatedCid, resolved, blockstore,
|
|
103
|
+
return updatePathCids(updatedCid, resolved, blockstore, options);
|
|
111
104
|
}
|
|
112
105
|
//# sourceMappingURL=chmod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chmod.js","sourceRoot":"","sources":["../../../src/commands/chmod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"chmod.js","sourceRoot":"","sources":["../../../src/commands/chmod.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,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAK5D,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAExC,MAAM,CAAC,KAAK,UAAU,KAAK,CAAE,GAAQ,EAAE,IAAY,EAAE,UAA+B,EAAE,UAAiC,EAAE;IACvH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAEtE,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEtC,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC/B,6EAA6E;QAC7E,0DAA0D;QAC1D,MAAM,IAAI,GAAG,MAAM,IAAI,CACrB,KAAK,SAAU,CAAC;YACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;gBACvE,IAAI,QAAgB,CAAA;gBACpB,IAAI,KAAK,GAAa,EAAE,CAAA;gBAExB,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBACzB,oBAAoB;oBACpB,QAAQ,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC3D,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC/D,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAA;oBACvB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,cAAc,EAAE,CAAA;gBAC5B,CAAC;gBAED,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;gBAEpB,MAAM,IAAI,GAAG;oBACX,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE;oBACxB,KAAK,EAAE,KAAK;iBACb,CAAA;gBAED,MAAM;oBACJ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,IAAI;iBACd,CAAA;YACH,CAAC;QACH,CAAC;QACD,iDAAiD;QACjD,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE;YACvC,GAAG,OAAO;YACV,UAAU,EAAE,KAAK,SAAU,CAAC,EAAE,MAAM,EAAE,KAAK;gBACzC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,MAAM,KAAK;wBACT,sCAAsC;wBACtC,MAAM,IAAI,GAAW,KAAK,CAAC,OAAO,CAAA;wBAElC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBAC9B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE;4BAC3C,GAAG,OAAO;4BACV,UAAU,EAAE,GAAG,CAAC,OAAO;yBACxB,CAAC,CAAA;wBAEF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;4BACtB,MAAM,IAAI,kBAAkB,CAAC,GAAG,UAAU,cAAc,CAAC,CAAA;wBAC3D,CAAC;wBAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAE1C,OAAO;4BACL,GAAG,EAAE,UAAU;4BACf,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;4BACxB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,MAAM;yBACP,CAAA;oBACH,CAAC,CAAA;gBACH,CAAC;YACH,CAAC;SACF,CAAC,EACF,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAC7B,CAAA;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,YAAY,CAAC,mBAAmB,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IACnE,IAAI,QAAgB,CAAA;IACpB,IAAI,KAAK,GAAa,EAAE,CAAA;IAExB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QACnC,oBAAoB;QACpB,QAAQ,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACtD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;QACxE,CAAC;QAED,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAClB,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE;QACxB,KAAK,EAAE,KAAK;KACb,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC9C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAErE,MAAM,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAE9C,OAAO,cAAc,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cp.d.ts","sourceRoot":"","sources":["../../../src/commands/cp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cp.d.ts","sourceRoot":"","sources":["../../../src/commands/cp.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,wBAAsB,EAAE,CAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAsBjJ"}
|
package/dist/src/commands/cp.js
CHANGED
|
@@ -1,30 +1,22 @@
|
|
|
1
1
|
import { logger } from '@libp2p/logger';
|
|
2
|
-
import { mergeOptions as mergeOpts } from '@libp2p/utils/merge-options';
|
|
3
2
|
import { InvalidParametersError } from '../errors.js';
|
|
4
3
|
import { addLink } from './utils/add-link.js';
|
|
5
4
|
import { cidToDirectory } from './utils/cid-to-directory.js';
|
|
6
5
|
import { cidToPBLink } from './utils/cid-to-pblink.js';
|
|
7
|
-
import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js';
|
|
8
|
-
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true });
|
|
9
6
|
const log = logger('helia:unixfs:cp');
|
|
10
|
-
const defaultOptions = {
|
|
11
|
-
force: false,
|
|
12
|
-
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
13
|
-
};
|
|
14
7
|
export async function cp(source, target, name, blockstore, options = {}) {
|
|
15
|
-
const opts = mergeOptions(defaultOptions, options);
|
|
16
8
|
if (name.includes('/')) {
|
|
17
9
|
throw new InvalidParametersError('Name must not have slashes');
|
|
18
10
|
}
|
|
19
11
|
const [directory, pblink] = await Promise.all([
|
|
20
|
-
cidToDirectory(target, blockstore,
|
|
21
|
-
cidToPBLink(source, name, blockstore,
|
|
12
|
+
cidToDirectory(target, blockstore, options),
|
|
13
|
+
cidToPBLink(source, name, blockstore, options)
|
|
22
14
|
]);
|
|
23
15
|
log('Adding %c as "%s" to %c', source, name, target);
|
|
24
16
|
const result = await addLink(directory, pblink, blockstore, {
|
|
25
|
-
allowOverwriting:
|
|
17
|
+
allowOverwriting: options.force,
|
|
26
18
|
cidVersion: target.version,
|
|
27
|
-
...
|
|
19
|
+
...options
|
|
28
20
|
});
|
|
29
21
|
return result.cid;
|
|
30
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cp.js","sourceRoot":"","sources":["../../../src/commands/cp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cp.js","sourceRoot":"","sources":["../../../src/commands/cp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAKtD,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAE,MAAW,EAAE,MAAW,EAAE,IAAY,EAAE,UAA+B,EAAE,UAA8B,EAAE;IACjI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CACJ,SAAS,EACT,MAAM,CACP,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;QAC3C,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;KAC/C,CAAC,CAAA;IAEF,GAAG,CAAC,yBAAyB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;QAC1D,gBAAgB,EAAE,OAAO,CAAC,KAAK;QAC/B,UAAU,EAAE,MAAM,CAAC,OAAO;QAC1B,GAAG,OAAO;KACX,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,GAAG,CAAA;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/commands/ls.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/commands/ls.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,wBAAgB,EAAE,CAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,CAAC,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA;AACvI,wBAAgB,EAAE,CAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA"}
|
package/dist/src/commands/ls.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { mergeOptions as mergeOpts } from '@libp2p/utils/merge-options';
|
|
2
1
|
import { exporter } from 'ipfs-unixfs-exporter';
|
|
3
2
|
import { NoContentError, NotADirectoryError } from '../errors.js';
|
|
4
3
|
import { resolve } from './utils/resolve.js';
|
|
5
|
-
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true });
|
|
6
|
-
const defaultOptions = {};
|
|
7
4
|
export async function* ls(cid, blockstore, options = {}) {
|
|
8
|
-
const
|
|
9
|
-
const resolved = await resolve(cid, opts.path, blockstore, opts);
|
|
5
|
+
const resolved = await resolve(cid, options.path, blockstore, options);
|
|
10
6
|
const result = await exporter(resolved.cid, blockstore, {
|
|
11
7
|
...options,
|
|
12
8
|
extended: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/ls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/ls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAQ5C,MAAM,CAAC,KAAK,SAAU,CAAC,CAAC,EAAE,CAAE,GAAQ,EAAE,UAAoB,EAAE,UAA8B,EAAE;IAC1F,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE;QACtD,GAAG,OAAO;QACV,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;IAEF,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACpD,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAqB;gBAC9B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAA;YAED,MAAM,KAAK,CAAA;QACb,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,CAAA;QACd,CAAC;QAED,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,kBAAkB,EAAE,CAAA;IAChC,CAAC;IAED,KAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mkdir.d.ts","sourceRoot":"","sources":["../../../src/commands/mkdir.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mkdir.d.ts","sourceRoot":"","sources":["../../../src/commands/mkdir.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAOtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAItD,wBAAsB,KAAK,CAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CA8ChJ"}
|
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
import * as dagPB from '@ipld/dag-pb';
|
|
2
2
|
import { logger } from '@libp2p/logger';
|
|
3
|
-
import { mergeOptions as mergeOpts } from '@libp2p/utils/merge-options';
|
|
4
3
|
import { UnixFS } from 'ipfs-unixfs';
|
|
5
4
|
import { exporter } from 'ipfs-unixfs-exporter';
|
|
6
5
|
import { CID } from 'multiformats/cid';
|
|
7
6
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
7
|
+
import { DEFAULT_CID_VERSION } from "../constants.js";
|
|
8
8
|
import { InvalidParametersError, NotADirectoryError } from '../errors.js';
|
|
9
9
|
import { addLink } from './utils/add-link.js';
|
|
10
10
|
import { cidToDirectory } from './utils/cid-to-directory.js';
|
|
11
11
|
import { cidToPBLink } from './utils/cid-to-pblink.js';
|
|
12
|
-
import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js';
|
|
13
|
-
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true });
|
|
14
12
|
const log = logger('helia:unixfs:mkdir');
|
|
15
|
-
const defaultOptions = {
|
|
16
|
-
cidVersion: 1,
|
|
17
|
-
force: false,
|
|
18
|
-
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
19
|
-
};
|
|
20
13
|
export async function mkdir(parentCid, dirname, blockstore, options = {}) {
|
|
21
|
-
const opts = mergeOptions(defaultOptions, options);
|
|
22
14
|
if (dirname.includes('/')) {
|
|
23
15
|
throw new InvalidParametersError('Path must not have slashes');
|
|
24
16
|
}
|
|
@@ -29,8 +21,8 @@ export async function mkdir(parentCid, dirname, blockstore, options = {}) {
|
|
|
29
21
|
log('creating %s', dirname);
|
|
30
22
|
const metadata = new UnixFS({
|
|
31
23
|
type: 'directory',
|
|
32
|
-
mode:
|
|
33
|
-
mtime:
|
|
24
|
+
mode: options.mode,
|
|
25
|
+
mtime: options.mtime
|
|
34
26
|
});
|
|
35
27
|
// Persist the new parent PBNode
|
|
36
28
|
const node = {
|
|
@@ -39,16 +31,16 @@ export async function mkdir(parentCid, dirname, blockstore, options = {}) {
|
|
|
39
31
|
};
|
|
40
32
|
const buf = dagPB.encode(node);
|
|
41
33
|
const hash = await sha256.digest(buf);
|
|
42
|
-
const emptyDirCid = CID.create(
|
|
34
|
+
const emptyDirCid = CID.create(options.cidVersion ?? DEFAULT_CID_VERSION, dagPB.code, hash);
|
|
43
35
|
await blockstore.put(emptyDirCid, buf);
|
|
44
36
|
const [directory, pblink] = await Promise.all([
|
|
45
|
-
cidToDirectory(parentCid, blockstore,
|
|
46
|
-
cidToPBLink(emptyDirCid, dirname, blockstore,
|
|
37
|
+
cidToDirectory(parentCid, blockstore, options),
|
|
38
|
+
cidToPBLink(emptyDirCid, dirname, blockstore, options)
|
|
47
39
|
]);
|
|
48
40
|
log('adding empty dir called %s to %c', dirname, parentCid);
|
|
49
41
|
const result = await addLink(directory, pblink, blockstore, {
|
|
50
|
-
...
|
|
51
|
-
allowOverwriting:
|
|
42
|
+
...options,
|
|
43
|
+
allowOverwriting: options.force
|
|
52
44
|
});
|
|
53
45
|
return result.cid;
|
|
54
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mkdir.js","sourceRoot":"","sources":["../../../src/commands/mkdir.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mkdir.js","sourceRoot":"","sources":["../../../src/commands/mkdir.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,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAItD,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAExC,MAAM,CAAC,KAAK,UAAU,KAAK,CAAE,SAAc,EAAE,OAAe,EAAE,UAA+B,EAAE,UAAiC,EAAE;IAChI,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAE5D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,kBAAkB,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAA;IACpF,CAAC;IAED,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IAE3B,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC;QAC1B,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAA;IAEF,gCAAgC;IAChC,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE;QACxB,KAAK,EAAE,EAAE;KACV,CAAA;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACrC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,mBAAmB,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE3F,MAAM,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IAEtC,MAAM,CACJ,SAAS,EACT,MAAM,CACP,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC;QAC9C,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;KACvD,CAAC,CAAA;IAEF,GAAG,CAAC,kCAAkC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAE3D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;QAC1D,GAAG,OAAO;QACV,gBAAgB,EAAE,OAAO,CAAC,KAAK;KAChC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,GAAG,CAAA;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rm.d.ts","sourceRoot":"","sources":["../../../src/commands/rm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rm.d.ts","sourceRoot":"","sources":["../../../src/commands/rm.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,wBAAsB,EAAE,CAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAepI"}
|
package/dist/src/commands/rm.js
CHANGED
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
import { logger } from '@libp2p/logger';
|
|
2
|
-
import { mergeOptions as mergeOpts } from '@libp2p/utils/merge-options';
|
|
3
2
|
import { InvalidParametersError } from '../errors.js';
|
|
4
3
|
import { cidToDirectory } from './utils/cid-to-directory.js';
|
|
5
|
-
import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js';
|
|
6
4
|
import { removeLink } from './utils/remove-link.js';
|
|
7
|
-
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true });
|
|
8
5
|
const log = logger('helia:unixfs:rm');
|
|
9
|
-
const defaultOptions = {
|
|
10
|
-
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
11
|
-
};
|
|
12
6
|
export async function rm(target, name, blockstore, options = {}) {
|
|
13
|
-
const opts = mergeOptions(defaultOptions, options);
|
|
14
7
|
if (name.includes('/')) {
|
|
15
8
|
throw new InvalidParametersError('Name must not have slashes');
|
|
16
9
|
}
|
|
17
|
-
const directory = await cidToDirectory(target, blockstore,
|
|
10
|
+
const directory = await cidToDirectory(target, blockstore, options);
|
|
18
11
|
log('Removing %s from %c', name, target);
|
|
19
12
|
const result = await removeLink(directory, name, blockstore, {
|
|
20
|
-
...
|
|
13
|
+
...options,
|
|
21
14
|
cidVersion: target.version
|
|
22
15
|
});
|
|
23
16
|
return result.cid;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/commands/rm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/commands/rm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAKnD,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAE,MAAW,EAAE,IAAY,EAAE,UAA+B,EAAE,UAA8B,EAAE;IACpH,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,sBAAsB,CAAC,4BAA4B,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAEnE,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAExC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE;QAC3D,GAAG,OAAO;QACV,UAAU,EAAE,MAAM,CAAC,OAAO;KAC3B,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,GAAG,CAAA;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../../src/commands/stat.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACrK,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAGtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"stat.d.ts","sourceRoot":"","sources":["../../../src/commands/stat.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACrK,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAGtD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAQ3C,wBAAsB,IAAI,CAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,cAAc,GAAG,QAAQ,CAAC,CAAA;AAC7I,wBAAsB,IAAI,CAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,GAAG,sBAAsB,GAAG,gBAAgB,CAAC,CAAA"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import * as dagPb from '@ipld/dag-pb';
|
|
2
2
|
import { logger } from '@libp2p/logger';
|
|
3
|
-
import { ScalableCuckooFilter } from '@libp2p/utils
|
|
4
|
-
import { mergeOptions as mergeOpts } from '@libp2p/utils/merge-options';
|
|
3
|
+
import { ScalableCuckooFilter } from '@libp2p/utils';
|
|
5
4
|
import { UnixFS } from 'ipfs-unixfs';
|
|
6
5
|
import { exporter } from 'ipfs-unixfs-exporter';
|
|
6
|
+
import toBuffer from 'it-to-buffer';
|
|
7
7
|
import * as raw from 'multiformats/codecs/raw';
|
|
8
8
|
import { InvalidPBNodeError, NotUnixFSError, UnknownError } from '../errors.js';
|
|
9
9
|
import { resolve } from './utils/resolve.js';
|
|
10
10
|
// https://github.com/ipfs/specs/blob/main/UNIXFS.md#metadata
|
|
11
11
|
const DEFAULT_DIR_MODE = 0x755;
|
|
12
12
|
const DEFAULT_FILE_MODE = 0x644;
|
|
13
|
-
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true });
|
|
14
13
|
const log = logger('helia:unixfs:stat');
|
|
15
|
-
const defaultOptions = {};
|
|
16
14
|
export async function stat(cid, blockstore, options = {}) {
|
|
17
|
-
const
|
|
18
|
-
const resolved = await resolve(cid, options.path, blockstore, opts);
|
|
15
|
+
const resolved = await resolve(cid, options.path, blockstore, options);
|
|
19
16
|
log('stat %c', resolved.cid);
|
|
20
|
-
const result = await exporter(resolved.cid, blockstore,
|
|
17
|
+
const result = await exporter(resolved.cid, blockstore, options);
|
|
21
18
|
if (result.type === 'raw') {
|
|
22
19
|
if (options.extended === true) {
|
|
23
20
|
return createExtendedRawStats(result);
|
|
@@ -95,7 +92,7 @@ async function inspectDag(cid, blockstore, isFile, filter, options) {
|
|
|
95
92
|
try {
|
|
96
93
|
const alreadyTraversed = filter.has(cid.bytes);
|
|
97
94
|
filter.add(cid.bytes);
|
|
98
|
-
const block = await blockstore.get(cid, options);
|
|
95
|
+
const block = await toBuffer(blockstore.get(cid, options));
|
|
99
96
|
results.blocks++;
|
|
100
97
|
results.dagSize += BigInt(block.byteLength);
|
|
101
98
|
if (!alreadyTraversed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stat.js","sourceRoot":"","sources":["../../../src/commands/stat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"stat.js","sourceRoot":"","sources":["../../../src/commands/stat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"touch.d.ts","sourceRoot":"","sources":["../../../src/commands/touch.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"touch.d.ts","sourceRoot":"","sources":["../../../src/commands/touch.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAKtD,wBAAsB,KAAK,CAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CA+GzH"}
|
|
@@ -1,33 +1,26 @@
|
|
|
1
1
|
import * as dagPB from '@ipld/dag-pb';
|
|
2
2
|
import { logger } from '@libp2p/logger';
|
|
3
|
-
import { mergeOptions as mergeOpts } from '@libp2p/utils/merge-options';
|
|
4
3
|
import { UnixFS } from 'ipfs-unixfs';
|
|
5
4
|
import { recursive } from 'ipfs-unixfs-exporter';
|
|
6
5
|
import { importer } from 'ipfs-unixfs-importer';
|
|
7
6
|
import last from 'it-last';
|
|
8
7
|
import { pipe } from 'it-pipe';
|
|
8
|
+
import toBuffer from 'it-to-buffer';
|
|
9
9
|
import { CID } from 'multiformats/cid';
|
|
10
10
|
import * as raw from 'multiformats/codecs/raw';
|
|
11
11
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
12
12
|
import { InvalidPBNodeError, NotUnixFSError, UnknownError } from '../errors.js';
|
|
13
|
-
import { SHARD_SPLIT_THRESHOLD_BYTES } from './utils/constants.js';
|
|
14
13
|
import { persist } from './utils/persist.js';
|
|
15
14
|
import { resolve, updatePathCids } from './utils/resolve.js';
|
|
16
|
-
const mergeOptions = mergeOpts.bind({ ignoreUndefined: true });
|
|
17
15
|
const log = logger('helia:unixfs:touch');
|
|
18
|
-
const defaultOptions = {
|
|
19
|
-
recursive: false,
|
|
20
|
-
shardSplitThresholdBytes: SHARD_SPLIT_THRESHOLD_BYTES
|
|
21
|
-
};
|
|
22
16
|
export async function touch(cid, blockstore, options = {}) {
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const mtime = opts.mtime ?? {
|
|
17
|
+
const resolved = await resolve(cid, options.path, blockstore, options);
|
|
18
|
+
const mtime = options.mtime ?? {
|
|
26
19
|
secs: BigInt(Math.round(Date.now() / 1000)),
|
|
27
20
|
nsecs: 0
|
|
28
21
|
};
|
|
29
22
|
log('touch %c %o', resolved.cid, mtime);
|
|
30
|
-
if (
|
|
23
|
+
if (options.recursive) {
|
|
31
24
|
// recursively export from root CID, change perms of each entry then reimport
|
|
32
25
|
// but do not reimport files, only manipulate dag-pb nodes
|
|
33
26
|
const root = await pipe(async function* () {
|
|
@@ -58,7 +51,7 @@ export async function touch(cid, blockstore, options = {}) {
|
|
|
58
51
|
},
|
|
59
52
|
// @ts-expect-error blockstore types are incompatible
|
|
60
53
|
(source) => importer(source, blockstore, {
|
|
61
|
-
...
|
|
54
|
+
...options,
|
|
62
55
|
dagBuilder: async function* (source, block) {
|
|
63
56
|
for await (const entry of source) {
|
|
64
57
|
yield async function () {
|
|
@@ -66,7 +59,7 @@ export async function touch(cid, blockstore, options = {}) {
|
|
|
66
59
|
const node = entry.content;
|
|
67
60
|
const buf = dagPB.encode(node);
|
|
68
61
|
const updatedCid = await persist(buf, block, {
|
|
69
|
-
...
|
|
62
|
+
...options,
|
|
70
63
|
cidVersion: cid.version
|
|
71
64
|
});
|
|
72
65
|
if (node.Data == null) {
|
|
@@ -86,9 +79,9 @@ export async function touch(cid, blockstore, options = {}) {
|
|
|
86
79
|
if (root == null) {
|
|
87
80
|
throw new UnknownError(`Could not chmod ${resolved.cid.toString()}`);
|
|
88
81
|
}
|
|
89
|
-
return updatePathCids(root.cid, resolved, blockstore,
|
|
82
|
+
return updatePathCids(root.cid, resolved, blockstore, options);
|
|
90
83
|
}
|
|
91
|
-
const block = await blockstore.get(resolved.cid, options);
|
|
84
|
+
const block = await toBuffer(blockstore.get(resolved.cid, options));
|
|
92
85
|
let metadata;
|
|
93
86
|
let links = [];
|
|
94
87
|
if (resolved.cid.code === raw.code) {
|
|
@@ -110,6 +103,6 @@ export async function touch(cid, blockstore, options = {}) {
|
|
|
110
103
|
const hash = await sha256.digest(updatedBlock);
|
|
111
104
|
const updatedCid = CID.create(resolved.cid.version, dagPB.code, hash);
|
|
112
105
|
await blockstore.put(updatedCid, updatedBlock);
|
|
113
|
-
return updatePathCids(updatedCid, resolved, blockstore,
|
|
106
|
+
return updatePathCids(updatedCid, resolved, blockstore, options);
|
|
114
107
|
}
|
|
115
108
|
//# sourceMappingURL=touch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"touch.js","sourceRoot":"","sources":["../../../src/commands/touch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"touch.js","sourceRoot":"","sources":["../../../src/commands/touch.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,9 @@ export interface AddLinkResult {
|
|
|
9
9
|
cid: CID;
|
|
10
10
|
}
|
|
11
11
|
export interface AddLinkOptions extends AbortOptions {
|
|
12
|
-
allowOverwriting
|
|
13
|
-
shardSplitThresholdBytes
|
|
14
|
-
cidVersion
|
|
12
|
+
allowOverwriting?: boolean;
|
|
13
|
+
shardSplitThresholdBytes?: number;
|
|
14
|
+
cidVersion?: Version;
|
|
15
15
|
}
|
|
16
16
|
export declare function addLink(parent: Directory, child: Required<PBLink>, blockstore: GetStore & PutStore, options: AddLinkOptions): Promise<AddLinkResult>;
|
|
17
17
|
//# sourceMappingURL=add-link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-link.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/add-link.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add-link.d.ts","sourceRoot":"","sources":["../../../../src/commands/utils/add-link.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAgBtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAI/C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,GAAG,CAAA;CACT;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,wBAAsB,OAAO,CAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA0B3J"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import * as dagPB from '@ipld/dag-pb';
|
|
2
2
|
import { logger } from '@libp2p/logger';
|
|
3
3
|
import { UnixFS } from 'ipfs-unixfs';
|
|
4
|
+
import toBuffer from 'it-to-buffer';
|
|
4
5
|
import { CID } from 'multiformats/cid';
|
|
5
6
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
6
7
|
// @ts-expect-error no types
|
|
7
8
|
import SparseArray from 'sparse-array';
|
|
8
9
|
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
10
|
+
import { DEFAULT_SHARD_SPLIT_THRESHOLD_BYTES } from "../../constants.js";
|
|
9
11
|
import { AlreadyExistsError, InvalidParametersError, InvalidPBNodeError } from '../../errors.js';
|
|
10
12
|
import { wrapHash } from './consumable-hash.js';
|
|
11
13
|
import { hamtBucketBits, hamtHashFn } from './hamt-constants.js';
|
|
@@ -23,11 +25,11 @@ export async function addLink(parent, child, blockstore, options) {
|
|
|
23
25
|
}
|
|
24
26
|
log(`adding ${child.Name} (${child.Hash}) to regular directory`);
|
|
25
27
|
const result = await addToDirectory(parent, child, blockstore, options);
|
|
26
|
-
if (await isOverShardThreshold(result.node, blockstore, options.shardSplitThresholdBytes, options)) {
|
|
28
|
+
if (await isOverShardThreshold(result.node, blockstore, options.shardSplitThresholdBytes ?? DEFAULT_SHARD_SPLIT_THRESHOLD_BYTES, options)) {
|
|
27
29
|
log('converting directory to sharded directory');
|
|
28
30
|
const converted = await convertToShardedDirectory(result, blockstore);
|
|
29
31
|
result.cid = converted.cid;
|
|
30
|
-
result.node = dagPB.decode(await blockstore.get(converted.cid, options));
|
|
32
|
+
result.node = dagPB.decode(await toBuffer(blockstore.get(converted.cid, options)));
|
|
31
33
|
}
|
|
32
34
|
return result;
|
|
33
35
|
}
|