@daysnap/utils
Version:
24 lines (22 loc) • 571 B
JavaScript
// 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);
});
}
export {
insertScript
};