path-source

0.1.3 • Public • Published

path-source

A readable stream reader for reading files in Node or fetching URLs in browser. For example, to read a file in Node:

var path = require("path-source");
 
path("README.md")
  .then(function read(source) {
    return source.read().then(result => {
      if (result.done) return;
      process.stdout.write(result.value);
      return read(source);
    });
  })
  .catch(error => console.error(error.stack));

Similarly, to fetch a resource in a browser (requires array-source if streaming fetch is not supported):

<!DOCTYPE html>
<script src="https://unpkg.com/array-source@0"></script>
<script src="https://unpkg.com/path-source@0"></script>
<script>
 
sources.path("README.md")
  .then(function read(source) {
    return source.read().then(result => {
      if (result.done) return;
      console.log(result.value);
      return read(source);
    });
  })
  .catch(error => console.error(error.stack));
 
</script> 

API Reference

# path(path[, options]) <>

In Node, returns a Promise that yields a source for the file at the specified path; equivalent to file-source. In a browser, returns a Promise that yields a source for the resource at the specified path URL, using streaming fetch if available, and falling back to a binary data XMLHttpRequest.

In Node, the following options are supported:

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

In a browser, no options are currently supported.

# 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.

Readme

Keywords

Package Sidebar

Install

npm i path-source

Weekly Downloads

92,255

Version

0.1.3

License

BSD-3-Clause

Last publish

Collaborators

  • mbostock