Skip to content

mbostock/file-source

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

file-source

A sliceable, readable stream reader implementation on top of a Node file read stream. This library allows you to write code that takes a source as input, and can work with either native readable streams or Node streams. For example:

var file = require("file-source");

file("README.md")
  .then(function read(source) {
    return source.slice(40).then(value => {
      if (value == null) return;
      process.stdout.write(value);
      return read(source);
    });
  })
  .catch(error => console.error(error.stack));

API Reference

# file(path[, options]) <>

Returns a Promise that yields a source for the file at the specified path when the underlying file is open. The following options are allowed:

  • highWaterMark - the stream’s internal buffer size; defaults to 65,536

# source.slice(length) <>

Returns a Promise for the next chunk of data from the underlying stream, yielding a Uint8Array (a Buffer) of length bytes, or the remaining bytes of the underlying stream if the underlying stream has more than zero but fewer than length bytes remaining, or null when no bytes remain in the stream.

# source.read() <>

Returns a Promise for the next chunk of data from the underlying stream. The yielded result is an object with the following properties:

  • value - a Uint8Array (a Buffer), or undefined if the stream ended
  • done - a boolean which is true if the stream ended

# source.cancel() <>

Returns a Promise which is resolved when the underlying stream has been destroyed.

About

Read files as standard WhatWG streams in Node.

Resources

License

Stars

Watchers

Forks

Packages

No packages published