
Instead, use the ponyfill that's now included in web-stream-tools. Also, convert back to native ReadableStream when we used the ponyfill.
62 lines
1.9 KiB
JavaScript
62 lines
1.9 KiB
JavaScript
/**
|
|
* @fileoverview Old browser polyfills
|
|
* All are listed as dev dependencies because Node does not need them
|
|
* and for browser babel will take care of it
|
|
* @requires util
|
|
* @module polyfills
|
|
*/
|
|
|
|
import util from './util';
|
|
|
|
if (typeof global !== 'undefined') {
|
|
/********************************************************************
|
|
* NOTE: This list is duplicated in Gruntfile.js, *
|
|
* so that these polyfills are only included in the compat bundle. *
|
|
********************************************************************/
|
|
|
|
try {
|
|
if (typeof global.fetch === 'undefined') {
|
|
require('whatwg-fetch');
|
|
}
|
|
if (typeof Array.prototype.fill === 'undefined') {
|
|
require('core-js/fn/array/fill');
|
|
}
|
|
if (typeof Array.prototype.find === 'undefined') {
|
|
require('core-js/fn/array/find');
|
|
}
|
|
if (typeof Array.prototype.includes === 'undefined') {
|
|
require('core-js/fn/array/includes');
|
|
}
|
|
if (typeof Array.from === 'undefined') {
|
|
require('core-js/fn/array/from');
|
|
}
|
|
|
|
// No if-statement on Promise because of IE11. Otherwise Promise is undefined in the service worker.
|
|
require('core-js/fn/promise');
|
|
|
|
if (typeof Uint8Array.from === 'undefined') {
|
|
require('core-js/fn/typed/uint8-array');
|
|
}
|
|
if (typeof String.prototype.repeat === 'undefined') {
|
|
require('core-js/fn/string/repeat');
|
|
}
|
|
if (typeof Symbol === 'undefined') {
|
|
require('core-js/fn/symbol');
|
|
}
|
|
if (typeof Object.assign === 'undefined') {
|
|
require('core-js/fn/object/assign');
|
|
}
|
|
} catch (e) {}
|
|
}
|
|
|
|
if (typeof TextEncoder === 'undefined') {
|
|
const nodeUtil = util.nodeRequire('util') || {};
|
|
global.TextEncoder = nodeUtil.TextEncoder;
|
|
global.TextDecoder = nodeUtil.TextDecoder;
|
|
}
|
|
if (typeof TextEncoder === 'undefined') {
|
|
const textEncoding = require('text-encoding-utf-8');
|
|
global.TextEncoder = textEncoding.TextEncoder;
|
|
global.TextDecoder = textEncoding.TextDecoder;
|
|
}
|