Package Exports
- web-streams-polyfill
- web-streams-polyfill/dist/polyfill
- web-streams-polyfill/dist/ponyfill
- web-streams-polyfill/ponyfill
- web-streams-polyfill/ponyfill/es2018
- web-streams-polyfill/ponyfill/es6
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (web-streams-polyfill) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
web-streams-polyfill
Web Streams, based on the WHATWG spec reference implementation.
Links
Usage
This library comes in multiple variants:
web-streams-polyfill
: a polyfill that replaces the native stream implementations. Recommended for use in web apps supporting older browsers through a<script>
tag.web-streams-polyfill/es6
: a polyfill targeting ES2015+ environments. Recommended for use in web apps supporting modern browsers through a<script>
tag.web-streams-polyfill/es2018
: a polyfill targeting ES2018+ environments. Required forReadableStream
async iterable support.web-streams-polyfill/ponyfill
: a ponyfill that provides the stream implementations without replacing any globals. Recommended for use in legacy Node applications, or in web libraries supporting older browsers.web-streams-polyfill/ponyfill/es6
: a ponyfill targeting ES2015+ environments. Recommended for use in Node 6+ applications, or in web libraries supporting modern browsers.web-streams-polyfill/ponyfill/es2018
: a ponyfill targeting ES2018+ environments. Recommended for use in Node 10+ applications.
Each variant also includes TypeScript type definitions, compatible with the DOM type definitions for streams included in TypeScript.
Usage as a polyfill:
<!-- option 1: hosted by unpkg CDN -->
<script src="https://unpkg.com/web-streams-polyfill/dist/polyfill.min.js"></script>
<!-- option 2: self hosted -->
<script src="/path/to/web-streams-polyfill/dist/polyfill.min.js"></script>
<script>
var readable = new ReadableStream();
</script>
Usage as a Node module:
var streams = require("web-streams-polyfill/ponyfill");
var readable = new streams.ReadableStream();
Usage as a ES2015 module:
import { ReadableStream } from "web-streams-polyfill/ponyfill";
const readable = new ReadableStream();
Compatibility
The polyfill
and ponyfill
variants work in any ES5-compatible environment that has a global Promise
.
If you need to support older browsers or Node versions that do not have a native Promise
implementation
(check the support table), you must first include a Promise
polyfill
(e.g. promise-polyfill).
The polyfill/es6
and ponyfill/es6
variants work in any ES2015-compatible environment.
The polyfill/es2018
and ponyfill/es2018
variants work in any ES2018-compatible environment.
Compliance
The polyfill implements version 2c8f35e
(21 Feb 2019) of the streams specification.
The type definitions are compatible with the built-in stream types of TypeScript 3.3.
Contributors
Thanks to these people for their work on the original polyfill: