@daysnap/utils
Version:
24 lines (20 loc) • 656 B
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true});// src/insertScript.ts
function insertScript(src, callback) {
const scriptElement = document.createElement("script");
scriptElement.src = src;
const insert = (success, fail) => {
document.body.appendChild(scriptElement);
scriptElement.onload = success;
scriptElement.onerror = fail;
};
if (callback) {
return insert(
() => callback(null, scriptElement),
(err) => callback(err, scriptElement)
);
}
return new Promise((resolve, reject) => {
insert(() => resolve(scriptElement), reject);
});
}
exports.insertScript = insertScript;