mirror of
https://github.com/stashapp/stash.git
synced 2025-12-06 08:26:00 +01:00
39 lines
1.5 KiB
TypeScript
39 lines
1.5 KiB
TypeScript
import replaceAll from "string.prototype.replaceall";
|
|
import { shouldPolyfill as shouldPolyfillCanonicalLocales } from "@formatjs/intl-getcanonicallocales/should-polyfill";
|
|
import { shouldPolyfill as shouldPolyfillLocale } from "@formatjs/intl-locale/should-polyfill";
|
|
import { shouldPolyfill as shouldPolyfillNumberformat } from "@formatjs/intl-numberformat/should-polyfill";
|
|
import { shouldPolyfill as shouldPolyfillPluralRules } from "@formatjs/intl-pluralrules/should-polyfill";
|
|
import "intersection-observer";
|
|
|
|
// needed for older safari versions
|
|
import "event-target-polyfill";
|
|
|
|
// Required for browsers older than August 2020ish. Can be removed at some point.
|
|
replaceAll.shim();
|
|
|
|
async function checkPolyfills() {
|
|
if (shouldPolyfillCanonicalLocales()) {
|
|
await import("@formatjs/intl-getcanonicallocales/polyfill");
|
|
}
|
|
if (shouldPolyfillLocale()) {
|
|
await import("@formatjs/intl-locale/polyfill");
|
|
}
|
|
if (shouldPolyfillNumberformat()) {
|
|
await import("@formatjs/intl-numberformat/polyfill");
|
|
await import("@formatjs/intl-numberformat/locale-data/en");
|
|
await import("@formatjs/intl-numberformat/locale-data/en-GB");
|
|
}
|
|
if (shouldPolyfillPluralRules()) {
|
|
await import("@formatjs/intl-pluralrules/polyfill");
|
|
await import("@formatjs/intl-pluralrules/locale-data/en");
|
|
}
|
|
|
|
if (!("ResizeObserver" in window)) {
|
|
const ResizeObserver = await import("resize-observer-polyfill");
|
|
window.ResizeObserver = ResizeObserver.default;
|
|
}
|
|
}
|
|
|
|
export const initPolyfills = async () => {
|
|
await checkPolyfills();
|
|
};
|