Home

Awesome

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

<a name="path" href="#path">#</a> <b>path</b>(<i>path</i>[, <i>options</i>]) <>

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:

In a browser, no options are currently supported.

<a name="source_read" href="#source_read">#</a> <i>source</i>.<b>read</b>() <>

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

<a name="source_cancel" href="#source_cancel">#</a> <i>source</i>.<b>cancel</b>() <>

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