Skip to content

Latest commit

 

History

History
70 lines (49 loc) · 2.08 KB

README.md

File metadata and controls

70 lines (49 loc) · 2.08 KB

files-from-path

Expand paths to file-like objects with name, readable stream and size.

Build JavaScript Style Guide Downloads

Install

npm install files-from-path

Usage

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.

API

filesFromPaths

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

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.

Contributing

Feel free to join in. All welcome. Please open an issue!

License

Dual-licensed under Apache 2.0 OR MIT