GithubHelp home page GithubHelp logo

opportunitylivetv / text-encode-transform-prollyfill Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googlechromelabs/text-encode-transform-polyfill

1.0 3.0 0.0 28 KB

Prollyfill for using TextEncoder and TextDecoder as transform streams

License: Apache License 2.0

HTML 85.75% JavaScript 14.25%

text-encode-transform-prollyfill's Introduction

Text Encode Transformations

Overview

This is a prollyfill enabling TextEncoder and TextDecoder to be used as Stream transforms. It is based on the draft changes to the Encoding Standard here:

http://htmlpreview.github.io/?https://github.com/ricea/encoding-streams/blob/master/patch.html

However, it may be out-of-sync with that document.

This is intended for experimentation and development of the standard.

Requirements

You need existing working TextEncoder and TextDecoder implementations in your user agent, either natively or via polyfill. This prollyfill wraps the implementation you already have.

You need working ReadableStream, WritableStream and TransformStream implementations in your user agent, either natively or via polyfill.

How to use

Include the prollyfill in the page:

<script src="text-encode-transform.js">

It can also be used in a Worker environment:

importScripts('text-encode-transform.js');

Then you can use it in a pipe like this:

byteSource
  .pipeThrough(new TextDecoder())
  .pipeTo(textDestination);

Any arguments that the TextDecoder constructor normally accepts will also work when used as a stream transform.

TextEncoder works the same way:

textSource
  .pipeThrough(new TextEncoder())
  .pipeTo(byteDestination);

Tests

Tests in web-platform-test format are included in the tests/ directory. The tests use infrastructure from the https://github.com/w3c/web-platform-tests repository. You will need to run the tests under the web-platform-tests HTTP server.

The tests expect the TransformStream polyfill to be installed in a parallel directory to this one named transform-stream-polyfill. You can get the polyfill from https://github.com/whatwg/streams/blob/transform-stream-polyfill/reference-implementation/contrib/transform-stream-polyfill.js

The tests import the polyfills from tests/resources. By default symbolic links are used; if they don't work in your environment they can just be copied there. If your browser supports TransformStream natively then replacing tests/releases/transform-stream.js with an empty file should work.

See also

Disclaimer

This is not an official Google product.

text-encode-transform-prollyfill's People

Contributors

ricea avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.