Expand paths to file-like objects with name, readable stream and size.
npm install files-from-path
import { filesFromPaths } from 'files-from-path'
// Given a file system like:
// path/to/file.txt
// path/to/dir/a.pdf
// path/to/dir/images/cat.gif
const files = await filesFromPaths(['path/to/file.txt', 'path/to/dir'])
console.log(files)
// Output:
// [
// { name: 'file.txt', stream: [Function: stream] },
// { name: 'dir/b.pdf', stream: [Function: stream] },
// { name: 'dir/images/cat.gif', stream: [Function: stream] },
// ]
// Note: common sub-path ("path/to/") is removed.
The following parameters can be provided to filesFromPaths
:
Name | Type | Description |
---|---|---|
paths | Iterable<string> |
File system path(s) to read from |
[options] | object |
options |
[options.hidden] | boolean |
Include .dot files in matched paths (default: false ) |
[options.sort] | boolean |
Sort files by path (default: true ) |
It returns an array of file-like objects in the form:
{
name: string
stream: () => ReadableStream<Uint8Array>
size: number
}
Releasing to npm is done via release-please
. A Release PR will be opened with a CHANGELOG update in after a PR is merged to main. Merging the release PR will publish the new version to npm.
Feel free to join in. All welcome. Please open an issue!
Dual-licensed under Apache 2.0 OR MIT