line_push/node_modules/dimport/nomodule/index.mjs
2022-07-17 13:16:16 +08:00

2 lines
1.9 KiB
JavaScript

var t=/(^|;|\s+)import\s*['"]([^'"]+)['"](?=($|;|\s))/gi,r=/(^|[;\s]+)?import\s*(\*\s*as)?\s*(\w*?)\s*,?\s*(?:\{([\s\S]*?)\})?\s*from\s*['"]([^'"]+)['"];?/gi;function e(t,r){for(var e=[];t.length;)e.push(t.shift().trim().replace(/ as /g,":"));return"const { "+e.join(", ")+" } = "+r+";"}var n={};function o(n,o){window.dimport=i;var s,u=[],c=[],p={exports:{}},a=function(n,o){return n.replace(t,"$1"+(o=o||"require")+"('$2')").replace(r,function(t,r,n,i,s,u){return(r||"")+function(t,r,n,o){return r=o+"('"+r+"')",t.length&&!n?e(t,r):"const "+n+" = "+r+";"+(t.length?"\n"+e(t,n):"")}(s?s.split(","):[],u,i,o)})}(o.replace(/(^|\s|;)(import\s*)(\(|.*from\s*|)['"]([^'"]+)['"];?/gi,function(t,r,e,o,i){return i="'"+new URL(i,n).href+"'",r+e+o+("("==o?i:"'$dimport["+(c.push(i)-1)+"]';")}).replace(/(^|\s|;)(import)(?=\()/g,"$1window.dimport").replace(/export default/,"module.exports =").replace(/export\s+(const|function|class|let|var)\s+(.+?)(?=(\(|\s|=))/gi,function(t,r,e){return u.push(e)&&r+" "+e}).replace(/export\s*\{([\s\S]*?)\}/gi,function(t,r){for(var e,n="",o=r.split(",");e=o.shift();)n+="exports."+((e=e.trim().split(" as "))[1]||e[0])+" = "+e[0]+";\n";return n}),"eval");for(u.sort();s=u.shift();)a+="\nexports."+s+" = "+s+";";return Promise.resolve(new Function("module","exports",c.length?"return Promise.all(["+c.join()+"].map(window.dimport)).then(function($dimport){"+a+"});":a)(p,p.exports)).then(function(){return p.exports.default=p.exports.default||p.exports,p.exports})}function i(t){t=new URL(t,location.href).href;try{return new Function("return import('"+t+"')").call()}catch(r){return n[t]?Promise.resolve(n[t]):fetch(t).then(function(t){return t.text()}).then(o.bind(o,t)).then(function(r){return n[t]=r})}}var s=void 0!==document&&document.currentScript||document.querySelector("script[data-main]");s&&(s.text?o(location.href,s.text):(s=s.getAttribute("data-main"))&&i(s));export default i;