UNPKG

@fusioncharts/core

Version:

JavaScript Data Visualisation Library

1 lines 1.12 kB
"use strict";exports.__esModule=true;exports.default=void 0;var _lib=require("../lib");var SCRIPT_LOAD_TIMEOUT=12e4,CHARSET_UTF8="utf-8";var loadedScripts={};function loadScript(_scriptSrc){var scriptSrc=_scriptSrc;if(!loadedScripts[scriptSrc]){var head=document.getElementsByTagName("head")[0],script=document.createElement("script"),timeout=setTimeout((function(){script.onerror({type:"timeout",target:script})}),SCRIPT_LOAD_TIMEOUT);script.charset=CHARSET_UTF8;script.timeout=SCRIPT_LOAD_TIMEOUT;loadedScripts[scriptSrc]=new Promise((function(resolve,reject){script.onreadystatechange=function(){if(script.readyState==="loaded"){script.onload({})}};script.onload=function(e){script.onerror=script.onload=null;clearTimeout(timeout);resolve(e)};script.onerror=function(e){script.onerror=script.onload=null;clearTimeout(timeout);reject(e)}}));if(!(0,_lib.isXSSSafe)(scriptSrc,false)){scriptSrc=typeof window.encodeURIComponent==="function"?window.encodeURIComponent(scriptSrc):window.escape(scriptSrc)}script.src=scriptSrc;head.appendChild(script)}return loadedScripts[scriptSrc]}var _default=exports.default=loadScript;