@helia/unixfs 4.0.3 → 5.0.0-d883eaf

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.
@@ -47,18 +47,26 @@
47
47
  */
48
48
  import type { GetBlockProgressEvents, PutBlockProgressEvents } from '@helia/interface/blocks';
49
49
  import type { AbortOptions } from '@libp2p/interface';
50
+ import type { Filter } from '@libp2p/utils/filters';
50
51
  import type { Blockstore } from 'interface-blockstore';
51
52
  import type { Mtime, UnixFS as IPFSUnixFS } from 'ipfs-unixfs';
52
53
  import type { ExporterProgressEvents, UnixFSEntry } from 'ipfs-unixfs-exporter';
53
- import type { ByteStream, DirectoryCandidate, FileCandidate, ImportCandidateStream, ImporterOptions, ImporterProgressEvents, ImportResult } from 'ipfs-unixfs-importer';
54
+ import type { ByteStream, DirectoryCandidate, ImportCandidateStream, ImporterOptions, ImporterProgressEvents, ImportResult, ImportContent } from 'ipfs-unixfs-importer';
54
55
  import type { CID, Version } from 'multiformats/cid';
55
56
  import type { ProgressOptions } from 'progress-events';
56
57
  export interface UnixFSComponents {
57
58
  blockstore: Pick<Blockstore, 'get' | 'put' | 'has'>;
58
59
  }
60
+ export interface FileCandidate<T extends ImportContent = ImportContent> {
61
+ path: string;
62
+ content: T;
63
+ mtime?: Mtime;
64
+ mode?: number;
65
+ }
59
66
  export type AddEvents = PutBlockProgressEvents | ImporterProgressEvents;
60
67
  export interface AddOptions extends AbortOptions, Omit<ImporterOptions, 'onProgress'>, ProgressOptions<AddEvents> {
61
68
  }
69
+ export type AddFileOptions = Omit<AddOptions, 'wrapWithDirectory'>;
62
70
  export type GetEvents = GetBlockProgressEvents | ExporterProgressEvents;
63
71
  /**
64
72
  * Options to pass to the cat command
@@ -205,14 +213,29 @@ export interface StatOptions extends AbortOptions, ProgressOptions<GetEvents> {
205
213
  path?: string;
206
214
  /**
207
215
  * If true, do not perform any network operations and throw if blocks are
208
- * missing from the local store. (default: false)
216
+ * missing from the local store.
217
+ *
218
+ * @default false
209
219
  */
210
220
  offline?: boolean;
211
221
  }
222
+ export interface ExtendedStatOptions extends StatOptions {
223
+ /**
224
+ * If true, traverse the whole DAG to return additional stats. If all data is
225
+ * not in the local blockstore, this may involve fetching them from the
226
+ * network.
227
+ */
228
+ extended: true;
229
+ /**
230
+ * By default CIDs are deduplicated using a `ScalableCuckooFilter` - if you
231
+ * wish to use a different filter, pass it here.
232
+ */
233
+ filter?: Filter;
234
+ }
212
235
  /**
213
236
  * Statistics relating to a UnixFS DAG
214
237
  */
215
- export interface UnixFSStats {
238
+ export interface Stats {
216
239
  /**
217
240
  * The file or directory CID
218
241
  */
@@ -220,41 +243,105 @@ export interface UnixFSStats {
220
243
  /**
221
244
  * The file or directory mode
222
245
  */
223
- mode?: number;
246
+ mode: number;
224
247
  /**
225
248
  * The file or directory mtime
226
249
  */
227
250
  mtime?: Mtime;
228
251
  /**
229
- * The size of the file in bytes
252
+ * The type of UnixFS node - 'file' or 'directory'
230
253
  */
231
- fileSize: bigint;
254
+ type: 'file' | 'directory' | 'raw';
232
255
  /**
233
- * The size of the DAG that holds the file in bytes
256
+ * UnixFS metadata about this file or directory
234
257
  */
235
- dagSize: bigint;
258
+ unixfs?: IPFSUnixFS;
236
259
  /**
237
- * How much of the file is in the local block store
260
+ * The size in bytes of the file as reported by the UnixFS metadata stored in
261
+ * the root DAG node, or if the CID resolves to a raw node, the size of the
262
+ * block that holds it.
263
+ *
264
+ * For directories this will return `0` as no size information is available in
265
+ * the root block - instead please stat with the `extended` option to traverse
266
+ * the DAG and calculate the size.
238
267
  */
239
- localFileSize: bigint;
268
+ size: bigint;
269
+ }
270
+ export interface FileStats extends Stats {
271
+ type: 'file';
272
+ unixfs: IPFSUnixFS;
273
+ }
274
+ export interface DirectoryStats extends Stats {
275
+ type: 'directory';
276
+ unixfs: IPFSUnixFS;
277
+ }
278
+ export interface RawStats extends Stats {
279
+ type: 'raw';
280
+ unixfs: undefined;
281
+ }
282
+ /**
283
+ * More detailed statistics relating to a UnixFS DAG. These can involve
284
+ * traversing the DAG behind the CID so can involve network operations and/or
285
+ * more disk activity.
286
+ */
287
+ export interface ExtendedStats extends Stats {
240
288
  /**
241
- * How much of the DAG that holds the file is in the local blockstore
289
+ * How many blocks make up the DAG.
290
+ *
291
+ * nb. this will only be accurate if either all blocks are present in the
292
+ * local blockstore or the `offline` option was not `true`
242
293
  */
243
- localDagSize: bigint;
294
+ blocks: bigint;
244
295
  /**
245
- * How many blocks make up the DAG - nb. this will only be accurate
246
- * if all blocks are present in the local blockstore
296
+ * How many unique blocks make up the DAG - this count does not include any
297
+ * blocks that appear in the DAG more than once.
298
+ *
299
+ * nb. this will only be accurate if either all blocks are present in the
300
+ * local blockstore or the `offline` option was not `true`
247
301
  */
248
- blocks: number;
302
+ uniqueBlocks: bigint;
249
303
  /**
250
- * The type of file
304
+ * The size of the DAG that holds the file or directory in bytes - this is
305
+ * the sum of all block sizes so includes any protobuf overhead, etc.
306
+ *
307
+ * Duplicate blocks are included in this measurement.
308
+ *
309
+ * nb. this will only be accurate if either all blocks are present in the
310
+ * local blockstore or the `offline` option was not `true`
251
311
  */
252
- type: 'file' | 'directory' | 'raw';
312
+ dagSize: bigint;
253
313
  /**
254
- * UnixFS metadata about this file or directory. Will not be present
255
- * if the node is a `raw` type.
314
+ * Similar to `dagSize` except duplicate blocks are not included in the
315
+ * reported amount.
316
+ *
317
+ * nb. this will only be accurate if either all blocks are present in the
318
+ * local blockstore or the `offline` option was not `true`
256
319
  */
257
- unixfs?: IPFSUnixFS;
320
+ deduplicatedDagSize: bigint;
321
+ /**
322
+ * How much of the file or directory is in the local block store. If this is a
323
+ * directory it will include the `localSize` of all child files and
324
+ * directories.
325
+ *
326
+ * It does not include protobuf overhead, for that see `dagSize`.
327
+ *
328
+ * nb. if the `offline` option is `true`, and not all blocks for the
329
+ * file/directory are in the blockstore, this number may be smaller than
330
+ * `size`.
331
+ */
332
+ localSize: bigint;
333
+ }
334
+ export interface ExtendedFileStats extends ExtendedStats {
335
+ type: 'file';
336
+ unixfs: IPFSUnixFS;
337
+ }
338
+ export interface ExtendedDirectoryStats extends ExtendedStats {
339
+ type: 'directory';
340
+ unixfs: IPFSUnixFS;
341
+ }
342
+ export interface ExtendedRawStats extends ExtendedStats {
343
+ type: 'raw';
344
+ unixfs: undefined;
258
345
  }
259
346
  /**
260
347
  * Options to pass to the touch command
@@ -311,7 +398,11 @@ export interface UnixFS {
311
398
  */
312
399
  addAll(source: ImportCandidateStream, options?: Partial<AddOptions>): AsyncIterable<ImportResult>;
313
400
  /**
314
- * Add a single `Uint8Array` to your Helia node as a file.
401
+ * Add a single `Uint8Array` to your Helia node and receive a CID that will
402
+ * resolve to it.
403
+ *
404
+ * If you want to preserve a file name or other metadata such as modification
405
+ * time or mode, use `addFile` instead.
315
406
  *
316
407
  * @example
317
408
  *
@@ -321,9 +412,13 @@ export interface UnixFS {
321
412
  * console.info(cid)
322
413
  * ```
323
414
  */
324
- addBytes(bytes: Uint8Array, options?: Partial<AddOptions>): Promise<CID>;
415
+ addBytes(bytes: Uint8Array, options?: Partial<AddFileOptions>): Promise<CID>;
325
416
  /**
326
- * Add a stream of `Uint8Array` to your Helia node as a file.
417
+ * Add a stream of `Uint8Array`s to your Helia node and receive a CID that
418
+ * will resolve to them.
419
+ *
420
+ * If you want to preserve a file name or other metadata such as modification
421
+ * time or mode, use `addFile` instead.
327
422
  *
328
423
  * @example
329
424
  *
@@ -336,9 +431,13 @@ export interface UnixFS {
336
431
  * console.info(cid)
337
432
  * ```
338
433
  */
339
- addByteStream(bytes: ByteStream, options?: Partial<AddOptions>): Promise<CID>;
434
+ addByteStream(bytes: ByteStream, options?: Partial<AddFileOptions>): Promise<CID>;
340
435
  /**
341
- * Add a file to your Helia node with optional metadata.
436
+ * Add a file to your Helia node with metadata. The returned CID will resolve
437
+ * to a directory with one file entry.
438
+ *
439
+ * If you don't care about file names and just want a CID that will resolve to
440
+ * the contents of the file, use `addBytes` or `addByeStream` instead.
342
441
  *
343
442
  * @example
344
443
  *
@@ -356,19 +455,41 @@ export interface UnixFS {
356
455
  * console.info(cid)
357
456
  * ```
358
457
  */
359
- addFile(file: FileCandidate, options?: Partial<AddOptions>): Promise<CID>;
458
+ addFile(file: FileCandidate, options?: Partial<AddFileOptions>): Promise<CID>;
360
459
  /**
361
460
  * Add a directory to your Helia node.
362
461
  *
363
462
  * @example
364
463
  *
464
+ * If no path is specified, the returned CID will resolve to an empty
465
+ * directory.
466
+ *
365
467
  * ```typescript
366
468
  * const cid = await fs.addDirectory()
367
469
  *
368
- * console.info(cid)
470
+ * console.info(cid) // empty directory CID
471
+ * ```
472
+ *
473
+ * @example
474
+ *
475
+ * If a path is specified, the CID will resolve to a directory that contains
476
+ * an empty directory with the specified name.
477
+ *
478
+ * ```typescript
479
+ * const cid = await fs.addDirectory({
480
+ * path: 'my-dir'
481
+ * })
482
+ *
483
+ * console.info(cid) // containing directory CID
484
+ *
485
+ * const stat = await fs.stat(cid, {
486
+ * path: 'my-dir'
487
+ * })
488
+ *
489
+ * console.info(stat.cid) // empty directory CID
369
490
  * ```
370
491
  */
371
- addDirectory(dir?: Partial<DirectoryCandidate>, options?: Partial<AddOptions>): Promise<CID>;
492
+ addDirectory(dir?: Partial<DirectoryCandidate>, options?: Partial<AddFileOptions>): Promise<CID>;
372
493
  /**
373
494
  * Retrieve the contents of a file from your Helia node.
374
495
  *
@@ -467,7 +588,8 @@ export interface UnixFS {
467
588
  * console.info(stats)
468
589
  * ```
469
590
  */
470
- stat(cid: CID, options?: Partial<StatOptions>): Promise<UnixFSStats>;
591
+ stat(cid: CID, options?: StatOptions): Promise<FileStats | DirectoryStats | RawStats>;
592
+ stat(cid: CID, options?: ExtendedStatOptions): Promise<ExtendedFileStats | ExtendedDirectoryStats | ExtendedRawStats>;
471
593
  /**
472
594
  * Update the mtime of a UnixFS DAG
473
595
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AAufnD;;GAEG;AACH,MAAM,UAAU,MAAM,CAAE,KAA8D;IACpF,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AA4nBnD;;GAEG;AACH,MAAM,UAAU,MAAM,CAAE,KAA8D;IACpF,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,7 +1,7 @@
1
- import type { AddOptions, CatOptions, ChmodOptions, CpOptions, LsOptions, MkdirOptions, RmOptions, StatOptions, TouchOptions, UnixFSComponents, UnixFS as UnixFSInterface, UnixFSStats } from './index.js';
1
+ import type { AddOptions, CatOptions, ChmodOptions, CpOptions, ExtendedStatOptions, ExtendedDirectoryStats, ExtendedFileStats, FileCandidate, LsOptions, MkdirOptions, RmOptions, StatOptions, TouchOptions, UnixFSComponents, DirectoryStats, FileStats, UnixFS as UnixFSInterface, RawStats, ExtendedRawStats } from './index.js';
2
2
  import type { Blockstore } from 'interface-blockstore';
3
3
  import type { UnixFSEntry } from 'ipfs-unixfs-exporter';
4
- import type { ByteStream, DirectoryCandidate, FileCandidate, ImportCandidateStream, ImportResult } from 'ipfs-unixfs-importer';
4
+ import type { ByteStream, DirectoryCandidate, ImportCandidateStream, ImportResult } from 'ipfs-unixfs-importer';
5
5
  import type { CID } from 'multiformats/cid';
6
6
  export type PutStore = Pick<Blockstore, 'put'>;
7
7
  export type GetStore = Pick<Blockstore, 'get'>;
@@ -20,7 +20,8 @@ export declare class UnixFS implements UnixFSInterface {
20
20
  ls(cid: CID, options?: Partial<LsOptions>): AsyncIterable<UnixFSEntry>;
21
21
  mkdir(cid: CID, dirname: string, options?: Partial<MkdirOptions>): Promise<CID>;
22
22
  rm(cid: CID, path: string, options?: Partial<RmOptions>): Promise<CID>;
23
- stat(cid: CID, options?: Partial<StatOptions>): Promise<UnixFSStats>;
23
+ stat(cid: CID, options?: StatOptions): Promise<FileStats | DirectoryStats | RawStats>;
24
+ stat(cid: CID, options?: ExtendedStatOptions): Promise<ExtendedFileStats | ExtendedDirectoryStats | ExtendedRawStats>;
24
25
  touch(cid: CID, options?: Partial<TouchOptions>): Promise<CID>;
25
26
  }
26
27
  //# sourceMappingURL=unixfs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unixfs.d.ts","sourceRoot":"","sources":["../../src/unixfs.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,IAAI,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC1M,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAC9H,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AAC9C,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AAC9C,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AAE9C,qBAAa,MAAO,YAAW,eAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEhC,UAAU,EAAE,gBAAgB;IAIjC,MAAM,CAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,aAAa,CAAC,YAAY,CAAC;IAIxG,QAAQ,CAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7E,aAAa,CAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlF,OAAO,CAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9E,YAAY,CAAE,GAAG,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAAE,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAInG,GAAG,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,aAAa,CAAC,UAAU,CAAC;IAI9E,KAAK,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjF,EAAE,CAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzF,EAAE,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,aAAa,CAAC,WAAW,CAAC;IAI7E,KAAK,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIpF,EAAE,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,SAAS,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3E,IAAI,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,OAAO,CAAC,WAAW,CAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIzE,KAAK,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAG1E"}
1
+ {"version":3,"file":"unixfs.d.ts","sourceRoot":"","sources":["../../src/unixfs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"unixfs.js","sourceRoot":"","sources":["../../src/unixfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unixfs.js","sourceRoot":"","sources":["../../src/unixfs.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,25 @@ export interface GlobSourceResult {
34
34
  }
35
35
  /**
36
36
  * Create an async iterator that yields paths that match requested glob pattern
37
+ *
38
+ * @example
39
+ *
40
+ * ```ts
41
+ * import { unixfs, globSource } from '@helia/unixfs'
42
+ * import { createHelia } from 'helia'
43
+ *
44
+ * const helia = await createHelia()
45
+ * const fs = unixfs(helia)
46
+ *
47
+ * for await (const entry of fs.addAll(globSource(
48
+ * '/path/to/dir',
49
+ * '**\/*'
50
+ * ), {
51
+ * wrapWithDirectory: true
52
+ * })) {
53
+ * console.info(entry)
54
+ * }
55
+ * ```
37
56
  */
38
57
  export declare function globSource(cwd: string, pattern: string, options?: GlobSourceOptions): AsyncGenerator<ImportCandidate & GlobSourceResult>;
39
58
  //# sourceMappingURL=glob-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glob-source.d.ts","sourceRoot":"","sources":["../../../src/utils/glob-source.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IAC9C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAA;CAC7B;AAED;;GAEG;AACH,wBAAwB,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,cAAc,CAAC,eAAe,GAAG,gBAAgB,CAAC,CA+CrJ"}
1
+ {"version":3,"file":"glob-source.d.ts","sourceRoot":"","sources":["../../../src/utils/glob-source.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IAC9C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAwB,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,cAAc,CAAC,eAAe,GAAG,gBAAgB,CAAC,CA+CrJ"}
@@ -7,6 +7,25 @@ import { InvalidParametersError } from '../errors.js';
7
7
  import { toMtime } from './to-mtime.js';
8
8
  /**
9
9
  * Create an async iterator that yields paths that match requested glob pattern
10
+ *
11
+ * @example
12
+ *
13
+ * ```ts
14
+ * import { unixfs, globSource } from '@helia/unixfs'
15
+ * import { createHelia } from 'helia'
16
+ *
17
+ * const helia = await createHelia()
18
+ * const fs = unixfs(helia)
19
+ *
20
+ * for await (const entry of fs.addAll(globSource(
21
+ * '/path/to/dir',
22
+ * '**\/*'
23
+ * ), {
24
+ * wrapWithDirectory: true
25
+ * })) {
26
+ * console.info(entry)
27
+ * }
28
+ * ```
10
29
  */
11
30
  export async function* globSource(cwd, pattern, options = {}) {
12
31
  if (typeof pattern !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"glob-source.js","sourceRoot":"","sources":["../../../src/utils/glob-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAClC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AA4CvC;;GAEG;AACH,MAAM,CAAC,KAAK,SAAU,CAAC,CAAC,UAAU,CAAE,GAAW,EAAE,OAAe,EAAE,UAA6B,EAAE;IAC/F,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,sBAAsB,CAAC,0BAA0B,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAC9B,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;IAED,MAAM,WAAW,GAAY;QAC3B,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,mBAAmB,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;KACpD,CAAA;IAED,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QACtD,qEAAqE;QACrE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAChE,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE9B,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAEvB,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QAED,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAEzB,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACnC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,CAAC;QAED,MAAM;YACJ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3D,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;SACtB,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"glob-source.js","sourceRoot":"","sources":["../../../src/utils/glob-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAClC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AA4CvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,SAAU,CAAC,CAAC,UAAU,CAAE,GAAW,EAAE,OAAe,EAAE,UAA6B,EAAE;IAC/F,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,sBAAsB,CAAC,0BAA0B,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;QAC9B,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;IAED,MAAM,WAAW,GAAY;QAC3B,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,mBAAmB,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;KACpD,CAAA;IAED,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QACtD,qEAAqE;QACrE,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAChE,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE9B,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QAEvB,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QAED,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAEzB,IAAI,OAAO,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACnC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,CAAC;QAED,MAAM;YACJ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3D,IAAI;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;SACtB,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA"}
@@ -1,3 +1,49 @@
1
- import type { FileCandidate } from 'ipfs-unixfs-importer';
2
- export declare function urlSource(url: URL, options?: RequestInit): FileCandidate<AsyncGenerator<Uint8Array, void, unknown>>;
1
+ import type { FileCandidate } from '../index.js';
2
+ /**
3
+ * Import a file directly from a URL. The path of the file will be the path
4
+ * section of the URL.
5
+ *
6
+ * @example
7
+ *
8
+ * ```ts
9
+ * import { unixfs, urlSource } from '@helia/unixfs'
10
+ * import { createHelia } from 'helia'
11
+ *
12
+ * const helia = await createHelia()
13
+ * const fs = unixfs(helia)
14
+ *
15
+ * const cid = await fs.addFile(urlSource('http://example.com/path/to/file.html))
16
+ * const stat = await fs.stat(cid)
17
+ *
18
+ * console.info(stat)
19
+ * // { cid: CID(...), type: 'directory', ... }
20
+ *
21
+ * for await (const entry of fs.ls(cid)) {
22
+ * console.info(entry)
23
+ * // { type: 'file', name: 'file.html', cid: CID(...), ... }
24
+ * }
25
+ * ```
26
+ */
27
+ export declare function urlSource(url: URL | string, options?: RequestInit): FileCandidate<AsyncGenerator<Uint8Array, void, unknown>>;
28
+ /**
29
+ * Import a file directly from a URL ignoring the file name or any containing
30
+ * directory.
31
+ *
32
+ * @example
33
+ *
34
+ * ```ts
35
+ * import { unixfs, urlByteSource } from '@helia/unixfs'
36
+ * import { createHelia } from 'helia'
37
+ *
38
+ * const helia = await createHelia()
39
+ * const fs = unixfs(helia)
40
+ *
41
+ * const cid = await fs.addByteSource(urlByteSource('http://example.com/path/to/file.html))
42
+ * const stat = await fs.stat(cid)
43
+ *
44
+ * console.info(stat)
45
+ * // { type: 'file', cid: CID(...), ... }
46
+ * ```
47
+ */
48
+ export declare function urlByteSource(url: URL | string, options?: RequestInit): AsyncGenerator<Uint8Array, void, unknown>;
3
49
  //# sourceMappingURL=url-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"url-source.d.ts","sourceRoot":"","sources":["../../../src/utils/url-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD,wBAAgB,SAAS,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAKpH"}
1
+ {"version":3,"file":"url-source.d.ts","sourceRoot":"","sources":["../../../src/utils/url-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAE,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAO7H;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAE,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAIlH"}
@@ -1,10 +1,60 @@
1
1
  import { UnknownError } from '../errors.js';
2
+ /**
3
+ * Import a file directly from a URL. The path of the file will be the path
4
+ * section of the URL.
5
+ *
6
+ * @example
7
+ *
8
+ * ```ts
9
+ * import { unixfs, urlSource } from '@helia/unixfs'
10
+ * import { createHelia } from 'helia'
11
+ *
12
+ * const helia = await createHelia()
13
+ * const fs = unixfs(helia)
14
+ *
15
+ * const cid = await fs.addFile(urlSource('http://example.com/path/to/file.html))
16
+ * const stat = await fs.stat(cid)
17
+ *
18
+ * console.info(stat)
19
+ * // { cid: CID(...), type: 'directory', ... }
20
+ *
21
+ * for await (const entry of fs.ls(cid)) {
22
+ * console.info(entry)
23
+ * // { type: 'file', name: 'file.html', cid: CID(...), ... }
24
+ * }
25
+ * ```
26
+ */
2
27
  export function urlSource(url, options) {
28
+ url = new URL(url);
3
29
  return {
4
30
  path: decodeURIComponent(new URL(url).pathname.split('/').pop() ?? ''),
5
31
  content: readURLContent(url, options)
6
32
  };
7
33
  }
34
+ /**
35
+ * Import a file directly from a URL ignoring the file name or any containing
36
+ * directory.
37
+ *
38
+ * @example
39
+ *
40
+ * ```ts
41
+ * import { unixfs, urlByteSource } from '@helia/unixfs'
42
+ * import { createHelia } from 'helia'
43
+ *
44
+ * const helia = await createHelia()
45
+ * const fs = unixfs(helia)
46
+ *
47
+ * const cid = await fs.addByteSource(urlByteSource('http://example.com/path/to/file.html))
48
+ * const stat = await fs.stat(cid)
49
+ *
50
+ * console.info(stat)
51
+ * // { type: 'file', cid: CID(...), ... }
52
+ * ```
53
+ */
54
+ export function urlByteSource(url, options) {
55
+ url = new URL(url);
56
+ return readURLContent(url, options);
57
+ }
8
58
  async function* readURLContent(url, options) {
9
59
  const response = await globalThis.fetch(url, options);
10
60
  if (response.body == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"url-source.js","sourceRoot":"","sources":["../../../src/utils/url-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,UAAU,SAAS,CAAE,GAAQ,EAAE,OAAqB;IACxD,OAAO;QACL,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACtE,OAAO,EAAE,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;KACtC,CAAA;AACH,CAAC;AAED,KAAK,SAAU,CAAC,CAAC,cAAc,CAAE,GAAQ,EAAE,OAAqB;IAC9D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAErD,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,YAAY,CAAC,mCAAmC,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAExC,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAE3C,IAAI,IAAI,EAAE,CAAC;gBACT,OAAM;YACR,CAAC;YAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"url-source.js","sourceRoot":"","sources":["../../../src/utils/url-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,SAAS,CAAE,GAAiB,EAAE,OAAqB;IACjE,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAElB,OAAO;QACL,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACtE,OAAO,EAAE,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;KACtC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,aAAa,CAAE,GAAiB,EAAE,OAAqB;IACrE,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAElB,OAAO,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AACrC,CAAC;AAED,KAAK,SAAU,CAAC,CAAC,cAAc,CAAE,GAAQ,EAAE,OAAqB;IAC9D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAErD,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,YAAY,CAAC,mCAAmC,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IAExC,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAE3C,IAAI,IAAI,EAAE,CAAC;gBACT,OAAM;YACR,CAAC;YAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helia/unixfs",
3
- "version": "4.0.3",
3
+ "version": "5.0.0-d883eaf",
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",
@@ -74,10 +74,11 @@
74
74
  "test:electron-main": "aegir test -t electron-main"
75
75
  },
76
76
  "dependencies": {
77
- "@helia/interface": "^5.2.1",
77
+ "@helia/interface": "5.2.1-d883eaf",
78
78
  "@ipld/dag-pb": "^4.1.3",
79
79
  "@libp2p/interface": "^2.2.1",
80
80
  "@libp2p/logger": "^5.1.4",
81
+ "@libp2p/utils": "^6.6.0",
81
82
  "@multiformats/murmur3": "^2.1.8",
82
83
  "hamt-sharding": "^3.0.6",
83
84
  "interface-blockstore": "^5.3.1",
@@ -85,6 +86,7 @@
85
86
  "ipfs-unixfs-exporter": "^13.6.1",
86
87
  "ipfs-unixfs-importer": "^15.3.1",
87
88
  "it-all": "^3.0.6",
89
+ "it-first": "^3.0.6",
88
90
  "it-glob": "^3.0.1",
89
91
  "it-last": "^3.0.6",
90
92
  "it-pipe": "^3.0.1",
@@ -100,7 +102,6 @@
100
102
  "delay": "^6.0.0",
101
103
  "iso-url": "^1.2.1",
102
104
  "it-drain": "^3.0.7",
103
- "it-first": "^3.0.6",
104
105
  "it-to-buffer": "^4.0.7",
105
106
  "wherearewe": "^2.0.1"
106
107
  },