@autonomys/auto-drive 0.7.3 → 0.7.4
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/ipld/blockstore/base.d.ts +9 -0
- package/dist/ipld/blockstore/base.d.ts.map +1 -0
- package/dist/ipld/blockstore/base.js +1 -0
- package/dist/ipld/blockstore/index.d.ts +3 -0
- package/dist/ipld/blockstore/index.d.ts.map +1 -0
- package/dist/ipld/blockstore/index.js +2 -0
- package/dist/ipld/blockstore/memory.d.ts +13 -0
- package/dist/ipld/blockstore/memory.d.ts.map +1 -0
- package/dist/ipld/blockstore/memory.js +57 -0
- package/dist/ipld/builders.d.ts +3 -2
- package/dist/ipld/builders.d.ts.map +1 -1
- package/dist/ipld/chunker.d.ts +10 -12
- package/dist/ipld/chunker.d.ts.map +1 -1
- package/dist/ipld/chunker.js +33 -9
- package/dist/ipld/nodes.d.ts +4 -4
- package/dist/ipld/nodes.d.ts.map +1 -1
- package/dist/ipld/nodes.js +6 -3
- package/dist/metadata/offchain/file.d.ts +3 -1
- package/dist/metadata/offchain/file.d.ts.map +1 -1
- package/dist/metadata/offchain/file.js +5 -1
- package/dist/metadata/offchain/folder.d.ts +3 -1
- package/dist/metadata/offchain/folder.d.ts.map +1 -1
- package/dist/metadata/offchain/folder.js +2 -1
- package/dist/metadata/onchain/protobuf/OnchainMetadata.d.ts +41 -0
- package/dist/metadata/onchain/protobuf/OnchainMetadata.d.ts.map +1 -1
- package/dist/metadata/onchain/protobuf/OnchainMetadata.js +210 -0
- package/dist/src/cid/index.d.ts +9 -0
- package/dist/src/cid/index.d.ts.map +1 -0
- package/dist/src/cid/index.js +20 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +3 -0
- package/dist/src/ipld/builders.d.ts +11 -0
- package/dist/src/ipld/builders.d.ts.map +1 -0
- package/dist/src/ipld/builders.js +13 -0
- package/dist/src/ipld/chunker.d.ts +22 -0
- package/dist/src/ipld/chunker.d.ts.map +1 -0
- package/dist/src/ipld/chunker.js +144 -0
- package/dist/src/ipld/index.d.ts +4 -0
- package/dist/src/ipld/index.d.ts.map +1 -0
- package/dist/src/ipld/index.js +3 -0
- package/dist/src/ipld/nodes.d.ts +15 -0
- package/dist/src/ipld/nodes.d.ts.map +1 -0
- package/dist/src/ipld/nodes.js +89 -0
- package/dist/src/ipld/utils.d.ts +5 -0
- package/dist/src/ipld/utils.d.ts.map +1 -0
- package/dist/src/ipld/utils.js +51 -0
- package/dist/src/metadata/index.d.ts +3 -0
- package/dist/src/metadata/index.d.ts.map +1 -0
- package/dist/src/metadata/index.js +2 -0
- package/dist/src/metadata/offchain/base.d.ts +4 -0
- package/dist/src/metadata/offchain/base.d.ts.map +1 -0
- package/dist/src/metadata/offchain/base.js +1 -0
- package/dist/src/metadata/offchain/file.d.ts +16 -0
- package/dist/src/metadata/offchain/file.d.ts.map +1 -0
- package/dist/src/metadata/offchain/file.js +19 -0
- package/dist/src/metadata/offchain/folder.d.ts +17 -0
- package/dist/src/metadata/offchain/folder.d.ts.map +1 -0
- package/dist/src/metadata/offchain/folder.js +10 -0
- package/dist/src/metadata/offchain/index.d.ts +4 -0
- package/dist/src/metadata/offchain/index.d.ts.map +1 -0
- package/dist/src/metadata/offchain/index.js +3 -0
- package/dist/src/metadata/onchain/index.d.ts +3 -0
- package/dist/src/metadata/onchain/index.d.ts.map +1 -0
- package/dist/src/metadata/onchain/index.js +2 -0
- package/dist/src/metadata/onchain/protobuf/OnchainMetadata.d.ts +28 -0
- package/dist/src/metadata/onchain/protobuf/OnchainMetadata.d.ts.map +1 -0
- package/dist/src/metadata/onchain/protobuf/OnchainMetadata.js +112 -0
- package/dist/src/metadata/onchain/utils.d.ts +4 -0
- package/dist/src/metadata/onchain/utils.d.ts.map +1 -0
- package/dist/src/metadata/onchain/utils.js +12 -0
- package/package.json +2 -2
- package/src/ipld/builders.ts +3 -1
- package/src/ipld/chunker.ts +61 -10
- package/src/ipld/nodes.ts +11 -2
- package/src/metadata/offchain/file.ts +7 -1
- package/src/metadata/offchain/folder.ts +4 -1
- package/src/metadata/onchain/protobuf/OnchainMetadata.proto +25 -0
- package/src/metadata/onchain/protobuf/OnchainMetadata.ts +260 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseBlockstore } from 'blockstore-core';
|
|
2
|
+
import type { Pair } from 'interface-blockstore';
|
|
3
|
+
import { AbortOptions, AwaitIterable } from 'interface-store';
|
|
4
|
+
import { MetadataType } from '../../metadata/index.js';
|
|
5
|
+
export interface IPLDBlockstore extends BaseBlockstore {
|
|
6
|
+
getFilteredMany(nodeType: MetadataType, options?: AbortOptions): AwaitIterable<Pair['cid']>;
|
|
7
|
+
getSize(cid: Pair['cid']): Promise<number>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/ipld/blockstore/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAEtD,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3F,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ipld/blockstore/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MemoryBlockstore } from 'blockstore-core';
|
|
2
|
+
import { Pair } from 'interface-blockstore';
|
|
3
|
+
import { AbortOptions, AwaitIterable } from 'interface-store';
|
|
4
|
+
import { CID, Version } from 'multiformats';
|
|
5
|
+
import { MetadataType } from '../../metadata/index.js';
|
|
6
|
+
import { IPLDBlockstore } from './base.js';
|
|
7
|
+
export declare class MemoryIPLDBlockstore extends MemoryBlockstore implements IPLDBlockstore {
|
|
8
|
+
private readonly nodeByType;
|
|
9
|
+
getFilteredMany(nodeType: MetadataType, options?: AbortOptions): AwaitIterable<Pair['cid']>;
|
|
10
|
+
put(key: CID<unknown, number, number, Version>, val: Uint8Array): Promise<CID<unknown, number, number, Version>>;
|
|
11
|
+
getSize(cid: CID): Promise<number>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/ipld/blockstore/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAoC,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE1C,qBAAa,oBAAqB,SAAQ,gBAAiB,YAAW,cAAc;IAClF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IACrD,eAAe,CACpB,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,YAAY,GACrB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAMvB,GAAG,CACP,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAC1C,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAM3C,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CAKzC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
11
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
14
|
+
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
15
|
+
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
|
|
16
|
+
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
|
|
17
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
18
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
19
|
+
function fulfill(value) { resume("next", value); }
|
|
20
|
+
function reject(value) { resume("throw", value); }
|
|
21
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
22
|
+
};
|
|
23
|
+
import { MemoryBlockstore } from 'blockstore-core';
|
|
24
|
+
import { decodeIPLDNodeData } from '../../metadata/index.js';
|
|
25
|
+
export class MemoryIPLDBlockstore extends MemoryBlockstore {
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
28
|
+
this.nodeByType = new Map();
|
|
29
|
+
}
|
|
30
|
+
getFilteredMany(nodeType, options) {
|
|
31
|
+
return __asyncGenerator(this, arguments, function* getFilteredMany_1() {
|
|
32
|
+
var _a;
|
|
33
|
+
for (const cid of (_a = this.nodeByType.get(nodeType)) !== null && _a !== void 0 ? _a : []) {
|
|
34
|
+
yield yield __await(cid);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
put(key, val) {
|
|
39
|
+
const _super = Object.create(null, {
|
|
40
|
+
put: { get: () => super.put }
|
|
41
|
+
});
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
var _a;
|
|
44
|
+
const data = decodeIPLDNodeData(val);
|
|
45
|
+
this.nodeByType.set(data.type, [...((_a = this.nodeByType.get(data.type)) !== null && _a !== void 0 ? _a : []), key]);
|
|
46
|
+
return _super.put.call(this, key, val);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
getSize(cid) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
var _a;
|
|
52
|
+
const bytes = yield this.get(cid);
|
|
53
|
+
const data = decodeIPLDNodeData(bytes);
|
|
54
|
+
return (_a = data.size) !== null && _a !== void 0 ? _a : 0;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
package/dist/ipld/builders.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
2
|
import { PBNode } from '../ipld/index.js';
|
|
3
|
+
import { FileUploadOptions } from '../metadata/index.js';
|
|
3
4
|
export interface Builders {
|
|
4
5
|
inlink: (links: CID[], size: number, linkDepth: number, chunkSize: number) => PBNode;
|
|
5
6
|
chunk: (data: Buffer) => PBNode;
|
|
6
|
-
root: (links: CID[], size: number, linkDepth: number, name?: string, maxNodeSize?: number) => PBNode;
|
|
7
|
-
single: (data: Buffer, filename?: string) => PBNode;
|
|
7
|
+
root: (links: CID[], size: number, linkDepth: number, name?: string, maxNodeSize?: number, fileUploadOptions?: FileUploadOptions) => PBNode;
|
|
8
|
+
single: (data: Buffer, filename?: string, fileUploadOptions?: FileUploadOptions) => PBNode;
|
|
8
9
|
}
|
|
9
10
|
export declare const metadataBuilders: Builders;
|
|
10
11
|
export declare const fileBuilders: Builders;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/ipld/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/ipld/builders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAYxD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;IACpF,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC/B,IAAI,EAAE,CACJ,KAAK,EAAE,GAAG,EAAE,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,iBAAiB,KAClC,MAAM,CAAA;IACX,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,KAAK,MAAM,CAAA;CAC3F;AACD,eAAO,MAAM,gBAAgB,EAAE,QAK9B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAK1B,CAAA"}
|
package/dist/ipld/chunker.d.ts
CHANGED
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
import type { BaseBlockstore } from 'blockstore-core';
|
|
2
2
|
import type { AwaitIterable } from 'interface-store';
|
|
3
3
|
import { CID } from 'multiformats';
|
|
4
|
-
import { OffchainMetadata } from '../metadata/index.js';
|
|
4
|
+
import { FileUploadOptions, OffchainMetadata } from '../metadata/index.js';
|
|
5
5
|
import { Builders } from './builders.js';
|
|
6
6
|
import { PBNode } from './utils.js';
|
|
7
|
-
|
|
8
|
-
export declare const DEFAULT_MAX_LINK_PER_NODE: number;
|
|
9
|
-
export declare const processFileToIPLDFormat: (blockstore: BaseBlockstore, file: AwaitIterable<Buffer>, totalSize: number, filename?: string, { maxChunkSize, maxLinkPerNode }?: {
|
|
7
|
+
type ChunkerLimits = {
|
|
10
8
|
maxChunkSize: number;
|
|
11
9
|
maxLinkPerNode: number;
|
|
12
|
-
}
|
|
10
|
+
};
|
|
11
|
+
type ChunkerOptions = ChunkerLimits & FileUploadOptions;
|
|
12
|
+
export declare const DEFAULT_MAX_CHUNK_SIZE: number;
|
|
13
|
+
export declare const DEFAULT_MAX_LINK_PER_NODE: number;
|
|
14
|
+
export declare const processFileToIPLDFormat: (blockstore: BaseBlockstore, file: AwaitIterable<Buffer>, totalSize: number, filename?: string, { maxChunkSize, maxLinkPerNode, encryption, compression, }?: Partial<ChunkerOptions>) => Promise<CID>;
|
|
13
15
|
export declare const processMetadataToIPLDFormat: (blockstore: BaseBlockstore, metadata: OffchainMetadata, limits?: {
|
|
14
16
|
maxChunkSize: number;
|
|
15
17
|
maxLinkPerNode: number;
|
|
16
18
|
}) => Promise<CID>;
|
|
17
|
-
export declare const processBufferToIPLDFormatFromChunks: (blockstore: BaseBlockstore, chunks: AwaitIterable<CID>, filename: string | undefined, totalSize: number, builders: Builders, { maxLinkPerNode,
|
|
18
|
-
|
|
19
|
-
maxChunkSize: number;
|
|
20
|
-
}) => Promise<CID>;
|
|
21
|
-
export declare const processFolderToIPLDFormat: (blockstore: BaseBlockstore, children: CID[], name: string, size: number, { maxLinkPerNode }?: {
|
|
22
|
-
maxLinkPerNode: number;
|
|
23
|
-
}) => Promise<CID>;
|
|
19
|
+
export declare const processBufferToIPLDFormatFromChunks: (blockstore: BaseBlockstore, chunks: AwaitIterable<CID>, filename: string | undefined, totalSize: number, builders: Builders, { maxChunkSize, maxLinkPerNode, encryption, compression, }?: Partial<ChunkerOptions>) => Promise<CID>;
|
|
20
|
+
export declare const processFolderToIPLDFormat: (blockstore: BaseBlockstore, children: CID[], name: string, size: number, { maxLinkPerNode, maxChunkSize, compression, encryption, }?: Partial<ChunkerOptions>) => Promise<CID>;
|
|
24
21
|
/**
|
|
25
22
|
* Process chunks to IPLD format, return the last chunk if it's not full
|
|
26
23
|
* @returns the last chunk if it's not full, otherwise an empty buffer
|
|
@@ -29,4 +26,5 @@ export declare const processChunksToIPLDFormat: (blockstore: BaseBlockstore, chu
|
|
|
29
26
|
maxChunkSize?: number;
|
|
30
27
|
}) => Promise<Buffer>;
|
|
31
28
|
export declare const ensureNodeMaxSize: (node: PBNode, maxSize?: number) => PBNode;
|
|
29
|
+
export {};
|
|
32
30
|
//# sourceMappingURL=chunker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/ipld/chunker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,EAAsB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/ipld/chunker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,EAAsB,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC9F,OAAO,EAAE,QAAQ,EAAkC,MAAM,eAAe,CAAA;AAExE,OAAO,EAA2B,MAAM,EAAE,MAAM,YAAY,CAAA;AAE5D,KAAK,aAAa,GAAG;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,cAAc,GAAG,aAAa,GAAG,iBAAiB,CAAA;AAEvD,eAAO,MAAM,sBAAsB,QAAY,CAAA;AAG/C,eAAO,MAAM,yBAAyB,QAAwD,CAAA;AAE9F,eAAO,MAAM,uBAAuB,eACtB,cAAc,QACpB,aAAa,CAAC,MAAM,CAAC,aAChB,MAAM,aACN,MAAM,+DAMd,OAAO,CAAC,cAAc,CAAC,KAMzB,OAAO,CAAC,GAAG,CAOb,CAAA;AAED,eAAO,MAAM,2BAA2B,eAC1B,cAAc,YAChB,gBAAgB,WAClB;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,KAIvD,OAAO,CAAC,GAAG,CAab,CAAA;AAsCD,eAAO,MAAM,mCAAmC,eAClC,cAAc,UAClB,aAAa,CAAC,GAAG,CAAC,YAChB,MAAM,GAAG,SAAS,aACjB,MAAM,YACP,QAAQ,+DAMf,OAAO,CAAC,cAAc,CAAC,KAMzB,OAAO,CAAC,GAAG,CA4Cb,CAAA;AAED,eAAO,MAAM,yBAAyB,eACxB,cAAc,YAChB,GAAG,EAAE,QACT,MAAM,QACN,MAAM,+DAMT,OAAO,CAAC,cAAc,CAAC,KAMzB,OAAO,CAAC,GAAG,CAwBb,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eACxB,cAAc,UAClB,aAAa,CAAC,MAAM,CAAC,YACnB,QAAQ,oBACyB;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,KACnE,OAAO,CAAC,MAAM,CAchB,CAAA;AAED,eAAO,MAAM,iBAAiB,SACtB,MAAM,YACH,MAAM,KACd,MAOF,CAAA"}
|
package/dist/ipld/chunker.js
CHANGED
|
@@ -35,13 +35,17 @@ import { chunkBuffer, encodeNode } from './utils.js';
|
|
|
35
35
|
export const DEFAULT_MAX_CHUNK_SIZE = 64 * 1024;
|
|
36
36
|
const ESTIMATED_LINK_SIZE_IN_BYTES = 64;
|
|
37
37
|
export const DEFAULT_MAX_LINK_PER_NODE = DEFAULT_MAX_CHUNK_SIZE / ESTIMATED_LINK_SIZE_IN_BYTES;
|
|
38
|
-
export const processFileToIPLDFormat = (blockstore, file, totalSize, filename, { maxChunkSize, maxLinkPerNode } = {
|
|
38
|
+
export const processFileToIPLDFormat = (blockstore, file, totalSize, filename, { maxChunkSize = DEFAULT_MAX_CHUNK_SIZE, maxLinkPerNode = DEFAULT_MAX_LINK_PER_NODE, encryption = undefined, compression = undefined, } = {
|
|
39
39
|
maxChunkSize: DEFAULT_MAX_CHUNK_SIZE,
|
|
40
40
|
maxLinkPerNode: DEFAULT_MAX_LINK_PER_NODE,
|
|
41
|
+
encryption: undefined,
|
|
42
|
+
compression: undefined,
|
|
41
43
|
}) => {
|
|
42
44
|
return processBufferToIPLDFormat(blockstore, file, filename, totalSize, fileBuilders, {
|
|
43
45
|
maxChunkSize,
|
|
44
46
|
maxLinkPerNode,
|
|
47
|
+
encryption,
|
|
48
|
+
compression,
|
|
45
49
|
});
|
|
46
50
|
};
|
|
47
51
|
export const processMetadataToIPLDFormat = (blockstore_1, metadata_1, ...args_1) => __awaiter(void 0, [blockstore_1, metadata_1, ...args_1], void 0, function* (blockstore, metadata, limits = {
|
|
@@ -56,12 +60,14 @@ export const processMetadataToIPLDFormat = (blockstore_1, metadata_1, ...args_1)
|
|
|
56
60
|
});
|
|
57
61
|
})(), name, buffer.byteLength, metadataBuilders, limits);
|
|
58
62
|
});
|
|
59
|
-
const processBufferToIPLDFormat = (blockstore_1, buffer_1, filename_1, totalSize_1, builders_1, ...args_1) => __awaiter(void 0, [blockstore_1, buffer_1, filename_1, totalSize_1, builders_1, ...args_1], void 0, function* (blockstore, buffer, filename, totalSize, builders, { maxChunkSize, maxLinkPerNode } = {
|
|
63
|
+
const processBufferToIPLDFormat = (blockstore_1, buffer_1, filename_1, totalSize_1, builders_1, ...args_1) => __awaiter(void 0, [blockstore_1, buffer_1, filename_1, totalSize_1, builders_1, ...args_1], void 0, function* (blockstore, buffer, filename, totalSize, builders, { maxChunkSize = DEFAULT_MAX_CHUNK_SIZE, maxLinkPerNode = DEFAULT_MAX_LINK_PER_NODE, encryption = undefined, compression = undefined, } = {
|
|
60
64
|
maxChunkSize: DEFAULT_MAX_CHUNK_SIZE,
|
|
61
65
|
maxLinkPerNode: DEFAULT_MAX_LINK_PER_NODE,
|
|
66
|
+
encryption: undefined,
|
|
67
|
+
compression: undefined,
|
|
62
68
|
}) {
|
|
63
69
|
var _a, e_1, _b, _c;
|
|
64
|
-
const bufferChunks = chunkBuffer(buffer, { maxChunkSize });
|
|
70
|
+
const bufferChunks = chunkBuffer(buffer, { maxChunkSize: maxChunkSize });
|
|
65
71
|
let CIDs = [];
|
|
66
72
|
try {
|
|
67
73
|
for (var _d = true, bufferChunks_1 = __asyncValues(bufferChunks), bufferChunks_1_1; bufferChunks_1_1 = yield bufferChunks_1.next(), _a = bufferChunks_1_1.done, !_a; _d = true) {
|
|
@@ -84,11 +90,15 @@ const processBufferToIPLDFormat = (blockstore_1, buffer_1, filename_1, totalSize
|
|
|
84
90
|
return processBufferToIPLDFormatFromChunks(blockstore, CIDs, filename, totalSize, builders, {
|
|
85
91
|
maxLinkPerNode,
|
|
86
92
|
maxChunkSize,
|
|
93
|
+
encryption,
|
|
94
|
+
compression,
|
|
87
95
|
});
|
|
88
96
|
});
|
|
89
|
-
export const processBufferToIPLDFormatFromChunks = (blockstore_1, chunks_1, filename_1, totalSize_1, builders_1, ...args_1) => __awaiter(void 0, [blockstore_1, chunks_1, filename_1, totalSize_1, builders_1, ...args_1], void 0, function* (blockstore, chunks, filename, totalSize, builders, { maxLinkPerNode,
|
|
90
|
-
maxLinkPerNode: DEFAULT_MAX_LINK_PER_NODE,
|
|
97
|
+
export const processBufferToIPLDFormatFromChunks = (blockstore_1, chunks_1, filename_1, totalSize_1, builders_1, ...args_1) => __awaiter(void 0, [blockstore_1, chunks_1, filename_1, totalSize_1, builders_1, ...args_1], void 0, function* (blockstore, chunks, filename, totalSize, builders, { maxChunkSize = DEFAULT_MAX_CHUNK_SIZE, maxLinkPerNode = DEFAULT_MAX_LINK_PER_NODE, encryption = undefined, compression = undefined, } = {
|
|
91
98
|
maxChunkSize: DEFAULT_MAX_CHUNK_SIZE,
|
|
99
|
+
maxLinkPerNode: DEFAULT_MAX_LINK_PER_NODE,
|
|
100
|
+
encryption: undefined,
|
|
101
|
+
compression: undefined,
|
|
92
102
|
}) {
|
|
93
103
|
var _a, chunks_2, chunks_2_1;
|
|
94
104
|
var _b, e_2, _c, _d;
|
|
@@ -114,7 +124,10 @@ export const processBufferToIPLDFormatFromChunks = (blockstore_1, chunks_1, file
|
|
|
114
124
|
const nodeBytes = yield blockstore.get(CIDs[0]);
|
|
115
125
|
yield blockstore.delete(CIDs[0]);
|
|
116
126
|
const data = decodeIPLDNodeData(nodeBytes);
|
|
117
|
-
const singleNode = builders.single(Buffer.from(data.data), filename
|
|
127
|
+
const singleNode = builders.single(Buffer.from(data.data), filename, {
|
|
128
|
+
compression,
|
|
129
|
+
encryption,
|
|
130
|
+
});
|
|
118
131
|
yield blockstore.put(cidOfNode(singleNode), encodeNode(singleNode));
|
|
119
132
|
const headCID = cidOfNode(singleNode);
|
|
120
133
|
return headCID;
|
|
@@ -132,12 +145,20 @@ export const processBufferToIPLDFormatFromChunks = (blockstore_1, chunks_1, file
|
|
|
132
145
|
depth++;
|
|
133
146
|
CIDs = newCIDs;
|
|
134
147
|
}
|
|
135
|
-
const head = builders.root(CIDs, totalSize, depth, filename, maxChunkSize
|
|
148
|
+
const head = builders.root(CIDs, totalSize, depth, filename, maxChunkSize, {
|
|
149
|
+
compression,
|
|
150
|
+
encryption,
|
|
151
|
+
});
|
|
136
152
|
const headCID = cidOfNode(head);
|
|
137
153
|
yield blockstore.put(headCID, encodeNode(head));
|
|
138
154
|
return headCID;
|
|
139
155
|
});
|
|
140
|
-
export const processFolderToIPLDFormat = (blockstore_1, children_1, name_1, size_1, ...args_1) => __awaiter(void 0, [blockstore_1, children_1, name_1, size_1, ...args_1], void 0, function* (blockstore, children, name, size, { maxLinkPerNode
|
|
156
|
+
export const processFolderToIPLDFormat = (blockstore_1, children_1, name_1, size_1, ...args_1) => __awaiter(void 0, [blockstore_1, children_1, name_1, size_1, ...args_1], void 0, function* (blockstore, children, name, size, { maxLinkPerNode = DEFAULT_MAX_LINK_PER_NODE, maxChunkSize = DEFAULT_MAX_CHUNK_SIZE, compression = undefined, encryption = undefined, } = {
|
|
157
|
+
maxLinkPerNode: DEFAULT_MAX_LINK_PER_NODE,
|
|
158
|
+
maxChunkSize: DEFAULT_MAX_CHUNK_SIZE,
|
|
159
|
+
compression: undefined,
|
|
160
|
+
encryption: undefined,
|
|
161
|
+
}) {
|
|
141
162
|
let cids = children;
|
|
142
163
|
let depth = 0;
|
|
143
164
|
while (cids.length > maxLinkPerNode) {
|
|
@@ -152,7 +173,10 @@ export const processFolderToIPLDFormat = (blockstore_1, children_1, name_1, size
|
|
|
152
173
|
cids = newCIDs;
|
|
153
174
|
depth++;
|
|
154
175
|
}
|
|
155
|
-
const node = createFolderIpldNode(cids, name, depth, size
|
|
176
|
+
const node = createFolderIpldNode(cids, name, depth, size, maxChunkSize, {
|
|
177
|
+
compression,
|
|
178
|
+
encryption,
|
|
179
|
+
});
|
|
156
180
|
const cid = cidOfNode(node);
|
|
157
181
|
yield blockstore.put(cid, encodeNode(node));
|
|
158
182
|
return cid;
|
package/dist/ipld/nodes.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
2
|
import { PBNode } from '../ipld/index.js';
|
|
3
|
-
import { OffchainMetadata } from '../metadata/index.js';
|
|
3
|
+
import { FileUploadOptions, OffchainMetadata } from '../metadata/index.js';
|
|
4
4
|
export declare const createFileChunkIpldNode: (data: Buffer) => PBNode;
|
|
5
|
-
export declare const createChunkedFileIpldNode: (links: CID[], size: number, linkDepth: number, name?: string, maxNodeSize?: number) => PBNode;
|
|
5
|
+
export declare const createChunkedFileIpldNode: (links: CID[], size: number, linkDepth: number, name?: string, maxNodeSize?: number, uploadOptions?: FileUploadOptions) => PBNode;
|
|
6
6
|
export declare const createFileInlinkIpldNode: (links: CID[], size: number, linkDepth: number, maxNodeSize?: number) => PBNode;
|
|
7
|
-
export declare const createSingleFileIpldNode: (data: Buffer, name?: string) => PBNode;
|
|
7
|
+
export declare const createSingleFileIpldNode: (data: Buffer, name?: string, uploadOptions?: FileUploadOptions) => PBNode;
|
|
8
8
|
export declare const createMetadataInlinkIpldNode: (links: CID[], size: number, linkDepth: number, maxNodeSize?: number) => PBNode;
|
|
9
9
|
export declare const createSingleMetadataIpldNode: (data: Buffer, name?: string) => PBNode;
|
|
10
10
|
export declare const createMetadataChunkIpldNode: (data: Buffer) => PBNode;
|
|
11
11
|
export declare const createChunkedMetadataIpldNode: (links: CID[], size: number, linkDepth: number, name?: string, maxNodeSize?: number) => PBNode;
|
|
12
|
-
export declare const createFolderIpldNode: (links: CID[], name: string, linkDepth: number, size: number, maxNodeSize?: number) => PBNode;
|
|
12
|
+
export declare const createFolderIpldNode: (links: CID[], name: string, linkDepth: number, size: number, maxNodeSize?: number, uploadOptions?: FileUploadOptions) => PBNode;
|
|
13
13
|
export declare const createFolderInlinkIpldNode: (links: CID[], linkDepth: number, maxNodeSize?: number) => PBNode;
|
|
14
14
|
export declare const createMetadataNode: (metadata: OffchainMetadata, maxNodeSize?: number) => PBNode;
|
|
15
15
|
//# sourceMappingURL=nodes.d.ts.map
|
package/dist/ipld/nodes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ipld/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAc,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ipld/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAc,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAK1E,eAAO,MAAM,uBAAuB,SAAU,MAAM,KAAG,MASpD,CAAA;AAKH,eAAO,MAAM,yBAAyB,UAC7B,GAAG,EAAE,QACN,MAAM,aACD,MAAM,SACV,MAAM,gBACA,MAAM,kBACH,iBAAiB,KAChC,MAaA,CAAA;AAGH,eAAO,MAAM,wBAAwB,UAC5B,GAAG,EAAE,QACN,MAAM,aACD,MAAM,gBACJ,MAAM,KAClB,MAWA,CAAA;AAKH,eAAO,MAAM,wBAAwB,SAC7B,MAAM,SACL,MAAM,kBACG,iBAAiB,KAChC,MAWA,CAAA;AAKH,eAAO,MAAM,4BAA4B,UAChC,GAAG,EAAE,QACN,MAAM,aACD,MAAM,gBACJ,MAAM,KAClB,MAWA,CAAA;AAKH,eAAO,MAAM,4BAA4B,SAAU,MAAM,SAAS,MAAM,KAAG,MAUxE,CAAA;AAEH,eAAO,MAAM,2BAA2B,SAAU,MAAM,KAAG,MAQxD,CAAA;AAEH,eAAO,MAAM,6BAA6B,UACjC,GAAG,EAAE,QACN,MAAM,aACD,MAAM,SACV,MAAM,gBACA,MAAM,KAClB,MAYA,CAAA;AAKH,eAAO,MAAM,oBAAoB,UACxB,GAAG,EAAE,QACN,MAAM,aACD,MAAM,QACX,MAAM,gBACC,MAAM,kBACH,iBAAiB,KAChC,MAaA,CAAA;AAEH,eAAO,MAAM,0BAA0B,UAC9B,GAAG,EAAE,aACD,MAAM,gBACJ,MAAM,KAClB,MAUA,CAAA;AAGH,eAAO,MAAM,kBAAkB,aACnB,gBAAgB,gBACb,MAAM,KAClB,MAcF,CAAA"}
|
package/dist/ipld/nodes.js
CHANGED
|
@@ -11,11 +11,12 @@ export const createFileChunkIpldNode = (data) => createNode(encodeIPLDNodeData({
|
|
|
11
11
|
// Creates a file ipld node
|
|
12
12
|
// links: the CIDs of the file's contents
|
|
13
13
|
// @todo: add the file's metadata
|
|
14
|
-
export const createChunkedFileIpldNode = (links, size, linkDepth, name, maxNodeSize = DEFAULT_MAX_CHUNK_SIZE) => ensureNodeMaxSize(createNode(encodeIPLDNodeData({
|
|
14
|
+
export const createChunkedFileIpldNode = (links, size, linkDepth, name, maxNodeSize = DEFAULT_MAX_CHUNK_SIZE, uploadOptions) => ensureNodeMaxSize(createNode(encodeIPLDNodeData({
|
|
15
15
|
type: MetadataType.File,
|
|
16
16
|
name,
|
|
17
17
|
size,
|
|
18
18
|
linkDepth,
|
|
19
|
+
uploadOptions,
|
|
19
20
|
}), links.map((cid) => ({ Hash: cid }))), maxNodeSize);
|
|
20
21
|
// Creates a file ipld node
|
|
21
22
|
// links: the CIDs of the file's contents
|
|
@@ -27,12 +28,13 @@ export const createFileInlinkIpldNode = (links, size, linkDepth, maxNodeSize = D
|
|
|
27
28
|
// Creates a file ipld node
|
|
28
29
|
// links: the CIDs of the file's contents
|
|
29
30
|
// @todo: add the file's metadata
|
|
30
|
-
export const createSingleFileIpldNode = (data, name) => createNode(encodeIPLDNodeData({
|
|
31
|
+
export const createSingleFileIpldNode = (data, name, uploadOptions) => createNode(encodeIPLDNodeData({
|
|
31
32
|
type: MetadataType.File,
|
|
32
33
|
name,
|
|
33
34
|
size: data.length,
|
|
34
35
|
linkDepth: 0,
|
|
35
36
|
data,
|
|
37
|
+
uploadOptions,
|
|
36
38
|
}), []);
|
|
37
39
|
// Creates a file ipld node
|
|
38
40
|
// links: the CIDs of the file's contents
|
|
@@ -67,11 +69,12 @@ export const createChunkedMetadataIpldNode = (links, size, linkDepth, name, maxN
|
|
|
67
69
|
// Creates a folder ipld node
|
|
68
70
|
// links: the CIDs of the folder's contents
|
|
69
71
|
// @todo: add the folder's metadata
|
|
70
|
-
export const createFolderIpldNode = (links, name, linkDepth, size, maxNodeSize = DEFAULT_MAX_CHUNK_SIZE) => ensureNodeMaxSize(createNode(encodeIPLDNodeData({
|
|
72
|
+
export const createFolderIpldNode = (links, name, linkDepth, size, maxNodeSize = DEFAULT_MAX_CHUNK_SIZE, uploadOptions) => ensureNodeMaxSize(createNode(encodeIPLDNodeData({
|
|
71
73
|
type: MetadataType.Folder,
|
|
72
74
|
name,
|
|
73
75
|
size,
|
|
74
76
|
linkDepth,
|
|
77
|
+
uploadOptions,
|
|
75
78
|
}), links.map((cid) => ({ Hash: cid }))), maxNodeSize);
|
|
76
79
|
export const createFolderInlinkIpldNode = (links, linkDepth, maxNodeSize = DEFAULT_MAX_CHUNK_SIZE) => ensureNodeMaxSize(createNode(encodeIPLDNodeData({
|
|
77
80
|
type: MetadataType.FolderInlink,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CID } from 'multiformats';
|
|
2
|
+
import { FileUploadOptions } from '../../index.js';
|
|
2
3
|
export type OffchainFileMetadata = {
|
|
3
4
|
type: 'file';
|
|
4
5
|
dataCid: string;
|
|
@@ -7,10 +8,11 @@ export type OffchainFileMetadata = {
|
|
|
7
8
|
totalSize: number;
|
|
8
9
|
totalChunks: number;
|
|
9
10
|
chunks: ChunkInfo[];
|
|
11
|
+
uploadOptions?: FileUploadOptions;
|
|
10
12
|
};
|
|
11
13
|
export interface ChunkInfo {
|
|
12
14
|
size: number;
|
|
13
15
|
cid: string;
|
|
14
16
|
}
|
|
15
|
-
export declare const fileMetadata: (headCID: CID, chunks: ChunkInfo[], totalSize: number, name?: string | null, mimeType?: string | null) => OffchainFileMetadata;
|
|
17
|
+
export declare const fileMetadata: (headCID: CID, chunks: ChunkInfo[], totalSize: number, name?: string | null, mimeType?: string | null, uploadOptions?: FileUploadOptions) => OffchainFileMetadata;
|
|
16
18
|
//# sourceMappingURL=file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/metadata/offchain/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/metadata/offchain/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAe,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAE/D,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAClC,CAAA;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,YAAY,YACd,GAAG,UACJ,SAAS,EAAE,aACR,MAAM,SACV,MAAM,GAAG,IAAI,aACT,MAAM,GAAG,IAAI,kBACT,iBAAiB,KAI/B,oBAWF,CAAA"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { cidToString } from '../../index.js';
|
|
2
|
-
export const fileMetadata = (headCID, chunks, totalSize, name, mimeType
|
|
2
|
+
export const fileMetadata = (headCID, chunks, totalSize, name, mimeType, uploadOptions = {
|
|
3
|
+
compression: undefined,
|
|
4
|
+
encryption: undefined,
|
|
5
|
+
}) => {
|
|
3
6
|
return {
|
|
4
7
|
type: 'file',
|
|
5
8
|
dataCid: cidToString(headCID),
|
|
@@ -8,5 +11,6 @@ export const fileMetadata = (headCID, chunks, totalSize, name, mimeType) => {
|
|
|
8
11
|
totalSize,
|
|
9
12
|
totalChunks: chunks.length,
|
|
10
13
|
chunks,
|
|
14
|
+
uploadOptions,
|
|
11
15
|
};
|
|
12
16
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CID } from 'multiformats';
|
|
2
2
|
import { PBNode } from '../../ipld/index.js';
|
|
3
|
+
import { FileUploadOptions } from '../onchain/index.js';
|
|
3
4
|
interface ChildrenMetadata {
|
|
4
5
|
type: 'folder' | 'file';
|
|
5
6
|
name?: string;
|
|
@@ -13,8 +14,9 @@ export type OffchainFolderMetadata = {
|
|
|
13
14
|
totalSize: number;
|
|
14
15
|
totalFiles: number;
|
|
15
16
|
children: ChildrenMetadata[];
|
|
17
|
+
uploadOptions: FileUploadOptions;
|
|
16
18
|
};
|
|
17
19
|
export declare const childrenMetadataFromNode: (node: PBNode) => ChildrenMetadata;
|
|
18
|
-
export declare const folderMetadata: (cid: CID | string, children: ChildrenMetadata[], name?: string | null) => OffchainFolderMetadata;
|
|
20
|
+
export declare const folderMetadata: (cid: CID | string, children: ChildrenMetadata[], name?: string | null, uploadOptions?: FileUploadOptions) => OffchainFolderMetadata;
|
|
19
21
|
export {};
|
|
20
22
|
//# sourceMappingURL=folder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder.d.ts","sourceRoot":"","sources":["../../../src/metadata/offchain/folder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"folder.d.ts","sourceRoot":"","sources":["../../../src/metadata/offchain/folder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAA8B,MAAM,qBAAqB,CAAA;AAEnF,UAAU,gBAAgB;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAA;IAC5B,aAAa,EAAE,iBAAiB,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,wBAAwB,SAAU,MAAM,KAAG,gBAYvD,CAAA;AAED,eAAO,MAAM,cAAc,QACpB,GAAG,GAAG,MAAM,YACP,gBAAgB,EAAE,SACrB,MAAM,GAAG,IAAI,kBACL,iBAAiB,KAC/B,sBAYF,CAAA"}
|
|
@@ -13,7 +13,7 @@ export const childrenMetadataFromNode = (node) => {
|
|
|
13
13
|
name: ipldData.name,
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
|
-
export const folderMetadata = (cid, children, name) => {
|
|
16
|
+
export const folderMetadata = (cid, children, name, uploadOptions = {}) => {
|
|
17
17
|
cid = typeof cid === 'string' ? cid : cidToString(cid);
|
|
18
18
|
return {
|
|
19
19
|
dataCid: cid,
|
|
@@ -22,5 +22,6 @@ export const folderMetadata = (cid, children, name) => {
|
|
|
22
22
|
children,
|
|
23
23
|
type: 'folder',
|
|
24
24
|
name: name !== null && name !== void 0 ? name : undefined,
|
|
25
|
+
uploadOptions,
|
|
25
26
|
};
|
|
26
27
|
};
|
|
@@ -6,6 +6,7 @@ export interface IPLDNodeData {
|
|
|
6
6
|
size?: number;
|
|
7
7
|
name?: string;
|
|
8
8
|
data?: Uint8Array;
|
|
9
|
+
uploadOptions?: FileUploadOptions;
|
|
9
10
|
}
|
|
10
11
|
export declare namespace IPLDNodeData {
|
|
11
12
|
const codec: () => Codec<IPLDNodeData>;
|
|
@@ -25,4 +26,44 @@ export declare enum MetadataType {
|
|
|
25
26
|
export declare namespace MetadataType {
|
|
26
27
|
const codec: () => Codec<MetadataType>;
|
|
27
28
|
}
|
|
29
|
+
export interface FileUploadOptions {
|
|
30
|
+
compression?: CompressionOptions;
|
|
31
|
+
encryption?: EncryptionOptions;
|
|
32
|
+
}
|
|
33
|
+
export declare namespace FileUploadOptions {
|
|
34
|
+
const codec: () => Codec<FileUploadOptions>;
|
|
35
|
+
const encode: (obj: Partial<FileUploadOptions>) => Uint8Array;
|
|
36
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<FileUploadOptions>) => FileUploadOptions;
|
|
37
|
+
}
|
|
38
|
+
export interface CompressionOptions {
|
|
39
|
+
algorithm: CompressionAlgorithm;
|
|
40
|
+
level?: number;
|
|
41
|
+
chunkSize?: number;
|
|
42
|
+
}
|
|
43
|
+
export declare namespace CompressionOptions {
|
|
44
|
+
const codec: () => Codec<CompressionOptions>;
|
|
45
|
+
const encode: (obj: Partial<CompressionOptions>) => Uint8Array;
|
|
46
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<CompressionOptions>) => CompressionOptions;
|
|
47
|
+
}
|
|
48
|
+
export interface EncryptionOptions {
|
|
49
|
+
algorithm: EncryptionAlgorithm;
|
|
50
|
+
chunkSize?: number;
|
|
51
|
+
}
|
|
52
|
+
export declare namespace EncryptionOptions {
|
|
53
|
+
const codec: () => Codec<EncryptionOptions>;
|
|
54
|
+
const encode: (obj: Partial<EncryptionOptions>) => Uint8Array;
|
|
55
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<EncryptionOptions>) => EncryptionOptions;
|
|
56
|
+
}
|
|
57
|
+
export declare enum CompressionAlgorithm {
|
|
58
|
+
ZLIB = "ZLIB"
|
|
59
|
+
}
|
|
60
|
+
export declare namespace CompressionAlgorithm {
|
|
61
|
+
const codec: () => Codec<CompressionAlgorithm>;
|
|
62
|
+
}
|
|
63
|
+
export declare enum EncryptionAlgorithm {
|
|
64
|
+
AES_256_GCM = "AES_256_GCM"
|
|
65
|
+
}
|
|
66
|
+
export declare namespace EncryptionAlgorithm {
|
|
67
|
+
const codec: () => Codec<EncryptionAlgorithm>;
|
|
68
|
+
}
|
|
28
69
|
//# sourceMappingURL=OnchainMetadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnchainMetadata.d.ts","sourceRoot":"","sources":["../../../../src/metadata/onchain/protobuf/OnchainMetadata.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,aAAa,EAAuC,MAAM,iBAAiB,CAAA;AACpH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"OnchainMetadata.d.ts","sourceRoot":"","sources":["../../../../src/metadata/onchain/protobuf/OnchainMetadata.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,aAAa,EAAuC,MAAM,iBAAiB,CAAA;AACpH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAClC;AAED,yBAAiB,YAAY,CAAC;IAGrB,MAAM,KAAK,QAAO,KAAK,CAAC,YAAY,CA0F1C,CAAA;IAEM,MAAM,MAAM,QAAS,OAAO,CAAC,YAAY,CAAC,KAAG,UAEnD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,aAAa,CAAC,YAAY,CAAC,KAAG,YAE7F,CAAA;CACF;AAED,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAChC;AAaD,yBAAiB,YAAY,CAAC;IACrB,MAAM,KAAK,QAAO,KAAK,CAAC,YAAY,CAE1C,CAAA;CACF;AACD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B;AAED,yBAAiB,iBAAiB,CAAC;IAG1B,MAAM,KAAK,QAAO,KAAK,CAAC,iBAAiB,CAqD/C,CAAA;IAEM,MAAM,MAAM,QAAS,OAAO,CAAC,iBAAiB,CAAC,KAAG,UAExD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,aAAa,CAAC,iBAAiB,CAAC,KAAG,iBAElG,CAAA;CACF;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,oBAAoB,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,yBAAiB,kBAAkB,CAAC;IAG3B,MAAM,KAAK,QAAO,KAAK,CAAC,kBAAkB,CA4DhD,CAAA;IAEM,MAAM,MAAM,QAAS,OAAO,CAAC,kBAAkB,CAAC,KAAG,UAEzD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,aAAa,CAAC,kBAAkB,CAAC,KAAG,kBAEnG,CAAA;CACF;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,mBAAmB,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,yBAAiB,iBAAiB,CAAC;IAG1B,MAAM,KAAK,QAAO,KAAK,CAAC,iBAAiB,CAmD/C,CAAA;IAEM,MAAM,MAAM,QAAS,OAAO,CAAC,iBAAiB,CAAC,KAAG,UAExD,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,aAAa,CAAC,iBAAiB,CAAC,KAAG,iBAElG,CAAA;CACF;AAED,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;CACd;AAMD,yBAAiB,oBAAoB,CAAC;IAC7B,MAAM,KAAK,QAAO,KAAK,CAAC,oBAAoB,CAElD,CAAA;CACF;AACD,oBAAY,mBAAmB;IAC7B,WAAW,gBAAgB;CAC5B;AAMD,yBAAiB,mBAAmB,CAAC;IAC5B,MAAM,KAAK,QAAO,KAAK,CAAC,mBAAmB,CAEjD,CAAA;CACF"}
|