1.0.4 • Published 5 months ago

files-from-path v1.0.4

Weekly downloads
-
License
Apache-2.0 OR MIT
Repository
github
Last release
5 months ago

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:

NameTypeDescription
pathsIterable<string>File system path(s) to read from
optionsobjectoptions
options.hiddenbooleanInclude .dot files in matched paths (default: false)
options.sortbooleanSort 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