UNPKG

static-assets-loader

Version:
3 lines (2 loc) 4.9 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=(e=require("loadjs"))&&"object"==typeof e&&"default"in e?e.default:e,r=function(e,t){if(e)throw new Error(t)},n=function(e){if(!e)return"";var t=e.indexOf("//")+2;return e.substring(t,e.indexOf("/",t))},s=function(e){return e&&"string"==typeof e?globalThis[e]:null},u=function(){var e,t;return{currentPromise:new Promise((function(r,n){e=r,t=n})),resolve:e,reject:t}},o=function(e){return"sessionStorage"===e?sessionStorage:"localStorage"===e?localStorage:null},i={storageKey:"balUrlPrefix",strategy:"memory",maxAge:28800},a=function(){function e(e){var t=this;if(this.urlPrefixCache=new Map,this.getCacheFromStorage=function(){var e,r=null==(e=o(t.config.strategy||""))?void 0:e.getItem(t.config.storageKey||"balUrlPrefix");if(!r)return{};try{return JSON.parse(r)}catch(e){return{}}},this.add=function(e){var r=n(e);if(!t.has(r)){var s=(new Date).getTime()/1e3+28800;return t.urlPrefixCache.set(r,s),t.setStorageForCache(),t}},this.delete=function(e){if(!t.isEmpty())return t.urlPrefixCache.delete(n(e)),t.setStorageForCache(),t},this.isOverTime=function(e){var r=t.urlPrefixCache.get(e)||0;return!r||(new Date).getTime()/1e3>r&&(t.urlPrefixCache.delete(e),!0)},this.has=function(e){var r=n(e);return!t.isOverTime(r)},this.isEmpty=function(){return 0===t.urlPrefixCache.size},this.getCanUseUrl=function(e){var r=e||[];return t.isEmpty()?r[0]||"":r.find((function(e){return!t.has(e)}))||""},this.config=Object.assign({},i,e),"memory"===this.config.strategy){var r=this.getCacheFromStorage();Object.keys(r).map((function(e){t.urlPrefixCache.set(e,r[e])}))}}return e.getInstance=function(t){return e.badUrlPrefixCache||(e.badUrlPrefixCache=new e(t)),e.badUrlPrefixCache},e.prototype.setStorageForCache=function(){var e,t={};this.urlPrefixCache.forEach((function(e,r){t[r]=e})),null==(e=o(this.config.storageKey||""))||e.setItem(this.config.storageKey||"balUrlPrefix",JSON.stringify(t))},e}();a.badUrlPrefixCache=null,a.resetInstance=function(e){a.badUrlPrefixCache=null,a.getInstance(e)};var l=a.getInstance({strategy:"localStorage"}),f=function(e){return l.getCanUseUrl((e||{}).loadUrls||[])},c=function(e){return new Promise((function(r,n){!function s(u){return t(u,{returnPromise:!0}).then((function(){u.forEach((function(e){return l.delete(e)})),r("success")})).catch((function(t){u.forEach((function(e){return l.add(e)}));for(var r=[],o=function(s,u){var o=t[s],i=e.find((function(e){return e.url===o}));if(!i||!i.moduleAssets)return{v:void 0};var a=f(i.moduleAssets);if(!a)return i.moduleAssets.status="fail",n(new Error("Cannot load assets "+i.moduleAssets.name+" "+a)),{v:void 0};r.push(a)},i=0,a=t.length;i<a;i++){var c=o(i);if("object"==typeof c)return c.v}s(r)}))}(e.map((function(e){return e.url})))}))},d={},h=u(),m=function(e){e&&r(!1);var t=e.name,n=e.loadUrls;return t&&r(!1),Array.isArray(n)&&n.length&&r(!1),!d[t]&&(e.status="ready",d[t]=e,!0)},g={};exports.loadjs=t,exports.addCssModule=function(e){e&&r(!1);var t=e.name,n=e.loadUrls;return t&&r(!1),Array.isArray(n)&&n.length&&r(!1),!g[t]&&(e.status="ready",g[t]=e,!0)},exports.addJsModule=m,exports.loadCssAssets=function(e){e.find((function(e){return!g[e]}))||r(!1),function(e){var t=e.map((function(e){var t=g[e];return{moduleAssets:t,url:f(t)}})).filter((function(e){return["loading","success"].includes(e.moduleAssets.status)}));t.forEach((function(e){return e.moduleAssets.status="loading"})),c(t).then((function(){t.forEach((function(e){e.moduleAssets.status="success"}))}))}(e)},exports.loadJsModule=function(e){var t,n=!0;return"string"==typeof e?(e=[e],n=!1):"name"in(t=e)&&"loadUrls"in t&&(m(e),e=[e.name],n=!1),e.find((function(e){return!d[e]}))||r(!1),function e(t,r,n){void 0===n&&(n=1);var u=t.map((function(e){var t=d[e],r={moduleAssets:t,result:s(e)};return r.result||(r.url=f(t)),r})),o=u.filter((function(e){return!e.result}));if(o.length){var i=o.findIndex((function(e){return"fail"===e.moduleAssets.status}));if(!(i>-1)){var a=o.filter((function(e){return"loading"===e.moduleAssets.status}));if(a.length===o.length){if(n>10)return void h.reject("load assets overtime");setTimeout((function(){e(t,r,n+1)}),100*n)}var l=o.filter((function(e){return"loading"!==e.moduleAssets.status}));return l.forEach((function(e){return e.moduleAssets.status="loading"})),c(l).then((function(){l.forEach((function(e){e.moduleAssets.status="success",e.moduleAssets.ready?(e.moduleAssets.ready.apply(e.moduleAssets),e.result=s(e.moduleAssets.name)):e.result=s(e.moduleAssets.name)})),a.length>0?e(t,r,n+1):h.resolve(r?u.map((function(e){return e.result})):u[0].result)}))}h.reject("Cannot load assets "+o[i].moduleAssets.name)}else h.resolve(r?u.map((function(e){return e.result})):u[0].result)}(e,n),h.currentPromise},exports.setBadUrlPrefixCacheOptions=function(e){a.resetInstance(e)}; //# sourceMappingURL=static-assets-loader.cjs.production.min.js.map