Files
remark42/frontend/app/common/polyfills.ts
T
Pavel MineevandGitHub 85c71716f9 Small refactoring (#609)
* Move visibility param from redux store to local state

* use func for parsing location.search

* Remove bad wrapper

* we already have wrapper with NODE_ID on page and we shouldn't another one with the same id on page
* move common part of markup to level up

* Tinny refac of setSorting

* add dummy types for pollyfils

also, a bit rewrited way to resolve imports

* Move sort flag to local store

Because we don't need to share this param between diffrent parts of interface

* Add action creators

* move action to action creators

* Remove unused functions

* Merge in conditions in one

* One way for export API methods

* add default tags

* Rewrited changing read only mode

* removed unused function

* set sort changes

* always send sort from store
* rollback if sort don't  work

* constanst

* add typing
* shorten export
* remove double define of host
2020-03-07 12:25:18 -06:00

43 lines
1.1 KiB
TypeScript

import 'regenerator-runtime/runtime';
import 'es6-promise/auto';
import 'focus-visible';
import '@webcomponents/custom-elements';
import './closest-polyfill';
export default async function loadPolyfills() {
function fillCoreJs() {
if (
'startsWith' in String.prototype &&
'endsWith' in String.prototype &&
'includes' in Array.prototype &&
'assign' in Object &&
'keys' in Object
) {
return;
}
return import(/* webpackChunkName: "core-js" */ 'core-js');
}
function fillFetch() {
if ('fetch' in window) return;
return import(/* webpackChunkName: "whatwg-fetch" */ 'whatwg-fetch');
}
function fillIntersectionObserver() {
if (
'IntersectionObserver' in window &&
'IntersectionObserverEntry' in window &&
'intersectionRatio' in window.IntersectionObserverEntry.prototype
) {
return;
}
return import(/* webpackChunkName: "intersection-observer" */ 'intersection-observer');
}
await Promise.all([fillCoreJs(), fillFetch(), fillIntersectionObserver()]);
return;
}