UNPKG

@react-gnome/core

Version:

## Getting Started

36 lines (35 loc) 884 B
// src/polyfills/shared/polyfill-global.ts var registerPolyfills = (...reserveNames) => { let isAnyDefined = false; for (const name of reserveNames) { if (name in globalThis) { console.warn( `Polyfill Error: ${name} is already defined in the global scope.` ); isAnyDefined = true; } } if (isAnyDefined) { return (getImplementation) => { }; } return (getImplementation) => { const implementations = getImplementation(); for (const name of reserveNames) { Object.defineProperty(globalThis, name, { value: implementations[name], enumerable: false }); } }; }; registerPolyfills.fromModule = (module) => { const entries = Object.entries(module); const names = entries.map(([name]) => name); registerPolyfills(...names)(() => { return module; }); }; export { registerPolyfills };