{"version":3,"file":"init.js","names":["ga","String","prototype","hashCode","hash","i","chr","length","charCodeAt","endsWith","Object","defineProperty","value","searchString","position","subjectString","toString","isFinite","Math","floor","lastIndex","indexOf","configurable","startsWith","search","rawPos","pos","substring","Progress","_classCallCheck","count","_createClass","key","start","NProgress","done","inc","abourt","window","progress","Loader","files","countFiles","callback","load","_this","prepareFiles","arguments","jsFiles","forEach","file","includes","loadCss","push","loadJs","args","_this2","argument","_typeof","f","url","_this3","urlHash","fileAlreadyLoaded","newFileGetLoaded","el","document","createElement","type","rel","href","onload","setAttribute","getElementsByTagName","appendChild","write","outerHTML","_this4","onLoadFile","shift","crossorigin","src","defer","querySelector","finishLoadingAllFiles","fasah","Engine","init"],"sources":["../../../Fasah/3.0/init.js"],"sourcesContent":["var ga = function () { };\n\nString.prototype.hashCode = function () {\n let hash = 0, i, chr;\n if (this.length === 0) return hash;\n for (i = 0; i < this.length; i++) {\n chr = this.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0; // Convert to 32bit integer\n }\n return hash;\n};\n\n//endsWith Polyfill\nif (!String.prototype.endsWith) {\n Object.defineProperty(String.prototype, 'endsWith', {\n value: function(searchString, position) {\n var subjectString = this.toString();\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n }, configurable: true\n });\n}\n\n//startsWith Polyfill\nif (!String.prototype.startsWith) {\n Object.defineProperty(String.prototype, 'startsWith', {\n value: function(search, rawPos) {\n var pos = rawPos > 0 ? rawPos|0 : 0;\n return this.substring(pos, pos + search.length) === search;\n }, configurable: true\n });\n}\n\nclass Progress {\n\n constructor() {\n\n this.count = 0;\n }\n\n start() {\n\n this.count++;\n\n if (typeof (NProgress) != 'undefined') NProgress.start();\n }\n\n done() {\n\n if (typeof (NProgress) != 'undefined') NProgress.inc();\n\n if (--this.count <= 0)\n {\n this.count = 0;\n\n if (typeof (NProgress) != 'undefined') NProgress.done();\n }\n }\n\n abourt() {\n\n if (typeof (NProgress) != 'undefined') NProgress.done();\n }\n}\n\nwindow.progress = new Progress();\n\nclass Loader {\n\n constructor() {\n this.files = [];\n this.countFiles = 0;\n this.callback = null;\n }\n\n load() {\n\n this.prepareFiles(arguments);\n\n let jsFiles = [];\n this.files.forEach((file) => {\n if (file.includes(\".css\")) {\n this.loadCss(file);\n }else if (file.includes(\".js\")) {\n jsFiles.push(file);\n }\n\n progress.start();\n });\n\n this.loadJs(jsFiles);\n }\n\n prepareFiles(args){\n this.files = [];\n if (args.length) {\n for (let i = 0; i < args.length; i++) {\n let argument = args[i];\n\n if (typeof argument == 'string') {\n this.files.push(argument);\n } else if (typeof argument == 'object') { //array\n argument.forEach((f) => {\n this.files.push(f)\n });\n } else if (typeof argument == 'function') {\n this.callback = argument;\n } else {\n console.error('unknown type', typeof(argument));\n }\n }\n }\n\n this.countFiles = this.files.length;\n }\n\n loadCss(url) {\n let urlHash = url.hashCode();\n\n //prevent reloading file\n if (this.fileAlreadyLoaded(urlHash)) {\n this.newFileGetLoaded();\n return;\n }\n\n let el = document.createElement(\"link\");\n\n el.type = \"text/css\";\n el.rel = \"Stylesheet\";\n el.href = url;\n el.onload = () => {\n this.newFileGetLoaded();\n };\n el.setAttribute('data-urlhash', urlHash);\n\n if (document.getElementsByTagName('head')) {\n document.getElementsByTagName('head')[0].appendChild(el);\n } else {\n document.write(el.outerHTML);\n }\n }\n\n loadJs(files) {\n \n if(!files || files.length == 0){\n return;\n }\n\n let onLoadFile = () => {\n this.newFileGetLoaded();\n files.shift();\n this.loadJs(files);\n };\n\n let url = files[0];\n let urlHash = url.hashCode();\n\n //prevent reloading file\n if (this.fileAlreadyLoaded(urlHash)) {\n // onLoadFile();\n // return;\n }\n\n let el = document.createElement(\"script\");\n el.crossorigin = 'anonymous';\n el.src = url;\n el.defer = 'true';\n el.type = \"text/javascript\";\n el.setAttribute('async',false);\n\n el.onload = () => {\n onLoadFile();\n };\n el.setAttribute('data-urlhash', urlHash);\n\n if (document.getElementsByTagName('head')) {\n document.getElementsByTagName('head')[0].appendChild(el);\n } else {\n document.write(el.outerHTML);\n }\n\n }\n\n fileAlreadyLoaded(urlHash) {\n return document.querySelector(\"[data-urlhash='\" + urlHash + \"']\") != null;\n }\n\n newFileGetLoaded() {\n\n progress.done();\n\n this.countFiles -= 1;\n if (this.finishLoadingAllFiles()) {\n this.callback && this.callback();\n }\n }\n\n finishLoadingAllFiles() {\n return this.countFiles == 0;\n }\n}\n\nwindow.Loader = Loader;\n\nnew Loader().load(\"/fasah/3.0/core.js\", function(){\n\n window.fasah = new Engine();\n\n fasah.init();\n});"],"mappings":"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","ignoreList":[]}