JSPM

  • Created
  • Published
  • Downloads 18631568
  • Score
    100M100P100Q227526F
  • License MIT

Web Streams, based on the WHATWG spec reference implementation

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.

build status npm version license Join the chat at https://gitter.im/web-streams-polyfill/Lobby

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 for ReadableStream 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: