UNPKG

6.57 kBJavaScriptView Raw
1import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
2import _ric from 'ric-shim';
3export default function loadPolyfills() {
4 var include = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'all';
5 var loaders = {
6 intl: function intl() {
7 if (!global.Intl || typeof global.Intl.DateTimeFormat.prototype.formatToParts !== 'function') {
8 return import(
9 /* webpackChunkName: "intl-polyfill" */
10 'intl').then(function (_ref) {
11 var Intl = _ref["default"];
12 global.Intl = Intl;
13 return global.Intl;
14 }).then(function (Intl) {
15 return import(
16 /* webpackChunkName: "locale-en" */
17 "intl/locale-data/jsonp/en").then(function () {
18 return Intl;
19 });
20 });
21 }
22 },
23 ric: function ric() {
24 if (!global.requestIdleCallback) {
25 global.requestIdleCallback = _ric;
26 global.cancelIdleCallback = _ric.cancelIdleCallback;
27 return Promise.resolve(_ric);
28 }
29 },
30 fetch: function fetch() {
31 if (window && !window.fetch) {
32 return import(
33 /* webpackChunkName: "fetch-polyfill" */
34 'whatwg-fetch').then(function () {
35 return window.fetch;
36 });
37 }
38 }
39 };
40 var promises = [];
41
42 if (include === 'all') {
43 for (var k in loaders) {
44 var promise = loaders[k]();
45
46 if (promise) {
47 promises.push(promise);
48 }
49 }
50 } else {
51 var _iterator = _createForOfIteratorHelper(include),
52 _step;
53
54 try {
55 for (_iterator.s(); !(_step = _iterator.n()).done;) {
56 var _k = _step.value;
57
58 var _promise = loaders[_k]();
59
60 if (_promise) {
61 promises.push(_promise);
62 }
63 }
64 } catch (err) {
65 _iterator.e(err);
66 } finally {
67 _iterator.f();
68 }
69 }
70
71 return Promise.all(promises);
72}
73//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJyaWMiLCJsb2FkUG9seWZpbGxzIiwiaW5jbHVkZSIsImxvYWRlcnMiLCJpbnRsIiwiZ2xvYmFsIiwiSW50bCIsIkRhdGVUaW1lRm9ybWF0IiwicHJvdG90eXBlIiwiZm9ybWF0VG9QYXJ0cyIsInRoZW4iLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwiUHJvbWlzZSIsInJlc29sdmUiLCJmZXRjaCIsIndpbmRvdyIsInByb21pc2VzIiwiayIsInByb21pc2UiLCJwdXNoIiwiYWxsIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsSUFBUCxNQUFnQixVQUFoQjtBQUdBLGVBQWUsU0FBU0MsYUFBVCxHQUE4RDtBQUFBLE1BQXZDQyxPQUF1Qyx1RUFBUCxLQUFPO0FBQzNFLE1BQU1DLE9BQWtFLEdBQUc7QUFDekVDLElBQUFBLElBQUksRUFBRSxnQkFBTTtBQUNWLFVBQ0UsQ0FBQ0MsTUFBTSxDQUFDQyxJQUFSLElBQ0EsT0FBT0QsTUFBTSxDQUFDQyxJQUFQLENBQVlDLGNBQVosQ0FBMkJDLFNBQTNCLENBQXFDQyxhQUE1QyxLQUE4RCxVQUZoRSxFQUdFO0FBQ0EsZUFBTztBQUFPO0FBQXdDLGNBQS9DLEVBQ0pDLElBREksQ0FDQyxnQkFBdUI7QUFBQSxjQUFYSixJQUFXO0FBQzNCRCxVQUFBQSxNQUFNLENBQUNDLElBQVAsR0FBY0EsSUFBZDtBQUNBLGlCQUFPRCxNQUFNLENBQUNDLElBQWQ7QUFDRCxTQUpJLEVBS0pJLElBTEksQ0FLQyxVQUFBSixJQUFJLEVBQUk7QUFDWixpQkFBTztBQUNMO0FBREssdUNBRUxJLElBRkssQ0FFQTtBQUFBLG1CQUFNSixJQUFOO0FBQUEsV0FGQSxDQUFQO0FBR0QsU0FUSSxDQUFQO0FBVUQ7QUFDRixLQWpCd0U7QUFrQnpFTixJQUFBQSxHQUFHLEVBQUUsZUFBTTtBQUNULFVBQUksQ0FBQ0ssTUFBTSxDQUFDTSxtQkFBWixFQUFpQztBQUMvQk4sUUFBQUEsTUFBTSxDQUFDTSxtQkFBUCxHQUE2QlgsSUFBN0I7QUFDQUssUUFBQUEsTUFBTSxDQUFDTyxrQkFBUCxHQUE0QlosSUFBRyxDQUFDWSxrQkFBaEM7QUFDQSxlQUFPQyxPQUFPLENBQUNDLE9BQVIsQ0FBZ0JkLElBQWhCLENBQVA7QUFDRDtBQUNGLEtBeEJ3RTtBQXlCekVlLElBQUFBLEtBQUssRUFBRSxpQkFBTTtBQUNYLFVBQUlDLE1BQU0sSUFBSSxDQUFDQSxNQUFNLENBQUNELEtBQXRCLEVBQTZCO0FBQzNCLGVBQU87QUFDTDtBQUF5QyxzQkFEcEMsRUFFTEwsSUFGSyxDQUVBLFlBQU07QUFDWCxpQkFBT00sTUFBTSxDQUFDRCxLQUFkO0FBQ0QsU0FKTSxDQUFQO0FBS0Q7QUFDRjtBQWpDd0UsR0FBM0U7QUFvQ0EsTUFBTUUsUUFBNEIsR0FBRyxFQUFyQzs7QUFDQSxNQUFJZixPQUFPLEtBQUssS0FBaEIsRUFBdUI7QUFDckIsU0FBSyxJQUFNZ0IsQ0FBWCxJQUFnQmYsT0FBaEIsRUFBeUI7QUFDdkIsVUFBTWdCLE9BQU8sR0FBR2hCLE9BQU8sQ0FBQ2UsQ0FBRCxDQUFQLEVBQWhCOztBQUNBLFVBQUlDLE9BQUosRUFBYTtBQUNYRixRQUFBQSxRQUFRLENBQUNHLElBQVQsQ0FBY0QsT0FBZDtBQUNEO0FBQ0Y7QUFDRixHQVBELE1BT087QUFBQSwrQ0FDV2pCLE9BRFg7QUFBQTs7QUFBQTtBQUNMLDBEQUF5QjtBQUFBLFlBQWRnQixFQUFjOztBQUN2QixZQUFNQyxRQUFPLEdBQUdoQixPQUFPLENBQUNlLEVBQUQsQ0FBUCxFQUFoQjs7QUFDQSxZQUFJQyxRQUFKLEVBQWE7QUFDWEYsVUFBQUEsUUFBUSxDQUFDRyxJQUFULENBQWNELFFBQWQ7QUFDRDtBQUNGO0FBTkk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9OOztBQUNELFNBQU9OLE9BQU8sQ0FBQ1EsR0FBUixDQUFZSixRQUFaLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCByaWMgZnJvbSAncmljLXNoaW0nO1xuXG50eXBlIExvYWRlcktleXMgPSAnaW50bCcgfCAncmljJyB8ICdmZXRjaCc7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsb2FkUG9seWZpbGxzKGluY2x1ZGU6ICdhbGwnIHwgTG9hZGVyS2V5c1tdID0gJ2FsbCcpIHtcbiAgY29uc3QgbG9hZGVyczogeyBbayBpbiBMb2FkZXJLZXlzXTogKCkgPT4gUHJvbWlzZTx1bmtub3duPiB8IHVuZGVmaW5lZCB9ID0ge1xuICAgIGludGw6ICgpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgIWdsb2JhbC5JbnRsIHx8XG4gICAgICAgIHR5cGVvZiBnbG9iYWwuSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuZm9ybWF0VG9QYXJ0cyAhPT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBpbXBvcnQoLyogd2VicGFja0NodW5rTmFtZTogXCJpbnRsLXBvbHlmaWxsXCIgKi8gJ2ludGwnKVxuICAgICAgICAgIC50aGVuKCh7IGRlZmF1bHQ6IEludGwgfSkgPT4ge1xuICAgICAgICAgICAgZ2xvYmFsLkludGwgPSBJbnRsO1xuICAgICAgICAgICAgcmV0dXJuIGdsb2JhbC5JbnRsO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4oSW50bCA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFxuICAgICAgICAgICAgICAvKiB3ZWJwYWNrQ2h1bmtOYW1lOiBcImxvY2FsZS1lblwiICovIGBpbnRsL2xvY2FsZS1kYXRhL2pzb25wL2VuYFxuICAgICAgICAgICAgKS50aGVuKCgpID0+IEludGwpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgcmljOiAoKSA9PiB7XG4gICAgICBpZiAoIWdsb2JhbC5yZXF1ZXN0SWRsZUNhbGxiYWNrKSB7XG4gICAgICAgIGdsb2JhbC5yZXF1ZXN0SWRsZUNhbGxiYWNrID0gcmljO1xuICAgICAgICBnbG9iYWwuY2FuY2VsSWRsZUNhbGxiYWNrID0gcmljLmNhbmNlbElkbGVDYWxsYmFjaztcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyaWMpO1xuICAgICAgfVxuICAgIH0sXG4gICAgZmV0Y2g6ICgpID0+IHtcbiAgICAgIGlmICh3aW5kb3cgJiYgIXdpbmRvdy5mZXRjaCkge1xuICAgICAgICByZXR1cm4gaW1wb3J0KFxuICAgICAgICAgIC8qIHdlYnBhY2tDaHVua05hbWU6IFwiZmV0Y2gtcG9seWZpbGxcIiAqLyAnd2hhdHdnLWZldGNoJ1xuICAgICAgICApLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB3aW5kb3cuZmV0Y2g7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgcHJvbWlzZXM6IFByb21pc2U8dW5rbm93bj5bXSA9IFtdO1xuICBpZiAoaW5jbHVkZSA9PT0gJ2FsbCcpIHtcbiAgICBmb3IgKGNvbnN0IGsgaW4gbG9hZGVycykge1xuICAgICAgY29uc3QgcHJvbWlzZSA9IGxvYWRlcnNbayBhcyBMb2FkZXJLZXlzXSgpO1xuICAgICAgaWYgKHByb21pc2UpIHtcbiAgICAgICAgcHJvbWlzZXMucHVzaChwcm9taXNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZm9yIChjb25zdCBrIG9mIGluY2x1ZGUpIHtcbiAgICAgIGNvbnN0IHByb21pc2UgPSBsb2FkZXJzW2tdKCk7XG4gICAgICBpZiAocHJvbWlzZSkge1xuICAgICAgICBwcm9taXNlcy5wdXNoKHByb21pc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xufVxuIl19
\No newline at end of file