Skip to content
This repository has been archived by the owner on Jun 26, 2024. It is now read-only.

Web Streams, based on the WHATWG spec reference implementation

License

Notifications You must be signed in to change notification settings

openpgpjs/web-streams-polyfill

 
 

Repository files navigation

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

Links

Usage

This library comes in four variants:

  • @mattiasbuelens/web-streams-polyfill: a polyfill that replaces the native stream implementations. Recommended for use in web apps through a <script> tag.
  • @mattiasbuelens/web-streams-polyfill/es6: a polyfill targeting ES2015+ environments. Recommended for use in web apps targeting modern browsers through a <script> tag.
  • @mattiasbuelens/web-streams-polyfill/ponyfill: a ponyfill that provides the stream implementations without replacing any globals. Recommended for use in Node applications or web libraries.
  • @mattiasbuelens/web-streams-polyfill/ponyfill/es6: a ponyfill targeting ES2015+ environments. Recommended for use in modern Node applications, or in web libraries targeting modern browsers.

Each variant also includes TypeScript type definitions, compatible with the DOM type definitions for streams included in TypeScript.

Usage as a polyfill:

<!-- unpkg cdn -->
<script src="https://unpkg.com/@mattiasbuelens/web-streams-polyfill/dist/polyfill.min.js"></script>

<!-- 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("@mattiasbuelens/web-streams-polyfill/ponyfill");
var readable = new streams.ReadableStream();

Usage as a ES2015 module:

import { ReadableStream } from "@mattiasbuelens/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.

Compliance

The polyfill implements version 1116de06e9 (29 Nov 2018) 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:

About

Web Streams, based on the WHATWG spec reference implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 97.2%
  • JavaScript 2.8%