-
Notifications
You must be signed in to change notification settings - Fork 5
/
html-exports.min.js
1 lines (1 loc) · 4.32 KB
/
html-exports.min.js
1
!function(t){"use strict";function e(t,e){var r=t.filter(function(t){return t[0]===e}).map(function(t){return t[2]});console.warn.apply(console,['Multiple values named "'+e+'" were evaluated:'].concat(r))}var r={};t._util=r,t._util.flattenValueTuples=function(t,r){for(var n,o={},u=[],s=0;n=t[s];s++){var a=n[0];a in o&&(!r||-1===r.indexOf(a))&&u.push(a),o[a]=n[1]}return u.length&&u.forEach(e.bind(null,t)),o}}(this.HTMLExports=this.HTMLExports||{}),function(t){"use strict";function e(t){var e=document.createElement("link");return e.setAttribute("rel","import"),e.setAttribute("href",t),e.setAttribute("module",""),document.head.appendChild(e),e}var r={};t.LoaderHooks=r,r.fetch=function(r){return new Promise(function(n,o){var u=e(r.address);u.addEventListener("error",function(){o(new Error("Unknown failure when fetching URL: "+r.address))}),u.addEventListener("load",function(){var e=t.runScopedScripts&&t.runScopedScripts(u.import)||Promise.resolve();e.then(function(){r.metadata.importedHTMLDocument=u.import,n("")})})})},r.instantiate=function(e){var r=e.metadata.importedHTMLDocument;if(!r)throw new Error("HTMLExports bug: Expected fetched Document in metadata");return{deps:t.depsFor(r).map(function(t){return t.name}),execute:function(){return this.newModule(t.exportsFor(r))}.bind(this)}},t.depsFor=function(t){var e=t.querySelectorAll("import[src]");return Array.prototype.map.call(e,function(t){var e={};return t.hasAttribute("as")&&(e.default=t.getAttribute("as")),t.hasAttribute("values")&&t.getAttribute("values").split(/\s+/).forEach(function(t){""!==t&&(e[t]=t)}),{name:t.getAttribute("src"),aliases:e,source:t}})},t._exportTuplesFor=function(t){for(var e,r=[],n=t.querySelectorAll("[export][id]"),o=0;e=n[o];o++)r.push([e.getAttribute("id"),e,e]);var u=t.querySelectorAll("[export][default]");if(u.length>1)throw new Error("Only one default export is allowed per document");r.push(1===u.length?["default",u[0],u[0]]:["default",t,t]);var s=t.querySelectorAll('script[type="scoped"]');for(o=0;e=s[o];o++)if(e.exports)for(var a,i=Object.keys(e.exports),c=0;a=i[c];c++)r.push([a,e.exports[a],e]);return r},t.exportsFor=function(e){return t._util.flattenValueTuples(t._exportTuplesFor(e),["default"])}}(this.HTMLExports=this.HTMLExports||{}),function(t){"use strict";function e(t){Reflect.Loader.call(this,t||{})}function r(t){var e=t.address||t.name;return e&&".html"===e.slice(-5)}t.DocumentLoader=e,e.prototype=Object.create(Reflect.Loader.prototype),e.mixin=function(e){Object.keys(t.LoaderHooks).forEach(function(n){var o=t.LoaderHooks[n],u=e[n];e[n]=function(t){return(r(t)?o:u).apply(this,arguments)}}),e.paths&&(e.paths["*.html"]="*.html")},e.mixin(e.prototype)}(this.HTMLExports=this.HTMLExports||{}),function(t){"use strict";function e(e,r,n){for(var o,u=[],s=0;o=r[s];s++)for(var a,i=Object.keys(o.aliases),c=0;a=i[c];c++){var p=o.aliases[a];a in e[s]||console.warn('"'+a+'" was requested, but not exported from "'+o.name+'".',o.source),u.push([p,e[s][a],o.source])}u=u.concat(t._exportTuplesFor(n));var l=t._util.flattenValueTuples(u);return delete l.default,l}function r(t,e){if(n(e,"beforescriptexecute",!0,!0)){var r=Object.keys(t),o=r.map(function(e){return t[e]});if("exports"in t||"module"in t)throw new Error('"exports" and "module" are reserved names for scoped scripts');r.push("exports","module"),o.push({}),o.push({exports:o[o.length-1]});var u=o[o.length-1],s='"use strict";\n'+e.textContent;try{var a=Function.apply(null,r.concat([s]));a.apply(null,o)}catch(i){throw console.error("Failure executing scoped script:",i.message,"\n","Imported values:",t,"\n","Script body:",s,"\n"),i}finally{n(e,"afterscriptexecute",!0),setTimeout(function(){n(e,"load")},0)}e.exports=u.exports}}function n(t,e,r,n){var o=new Event(e);return o.bubbles=!!r,o.cancelable=!!n,t.dispatchEvent(o)}t.runScopedScripts=function(o){return new Promise(function(u,s){var a=t.depsFor(o),i={name:o.baseURI||o.location.pathname},c=a.map(function(t){return System.import(t.name,i)});Promise.all(c).then(function(t){n(o,"DeclaredImportsLoaded");var i=o.querySelectorAll('script[type="scoped"]');if(!i.length)return u();var c=e(t,a,o);try{for(var p,l=0;p=i[l];l++)r(c,p)}catch(d){s(d)}u()})})}}(this.HTMLExports=this.HTMLExports||{}),function(t){"use strict";t.DocumentLoader.mixin(System),document.addEventListener("DOMContentLoaded",function(){t.runScopedScripts(document)})}(this.HTMLExports=this.HTMLExports||{});