@bacons/expo-metro-runtime
Version:
Tools for making experimental Metro bundler features work
29 lines • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.fetchThenEvalAsync = void 0;
// Basically `__webpack_require__.l`.
function fetchThenEvalAsync(url, { scriptType, nonce, crossOrigin, } = {}) {
return new Promise((resolve, reject) => {
const script = document.createElement("script");
if (scriptType)
script.type = scriptType;
if (nonce)
script.setAttribute("nonce", nonce);
// script.setAttribute('data-expo-metro', ...);
script.src = url;
if (crossOrigin && script.src.indexOf(window.location.origin + "/") !== 0) {
script.crossOrigin = crossOrigin;
}
script.onload = () => {
script.parentNode && script.parentNode.removeChild(script);
resolve();
};
script.onerror = (error) => {
script.parentNode && script.parentNode.removeChild(script);
reject(error);
};
document.head.appendChild(script);
});
}
exports.fetchThenEvalAsync = fetchThenEvalAsync;
//# sourceMappingURL=fetchThenEval.web.js.map