path-source
v0.1.3
Published
Read files in Node, or fetch URLs in browser, as standard WhatWG streams.
Downloads
542,198
Readme
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 endeddone
- a boolean which is true if the stream ended
# source.cancel() <>
Returns a Promise which is resolved when the underlying stream has been destroyed.