@lwrjs/loader 0.12.0-alpha.8 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,8 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Module Loader Shim v0.12.0-alpha.8 */
8
- !function(){"use strict";var e=function(e){return e[e.Start=0]="Start",e[e.End=1]="End",e}(e||{});let t;function r(e){t=e}const o=globalThis.performance,i=void 0!==o&&"function"==typeof o.mark&&"function"==typeof o.clearMarks&&"function"==typeof o.measure&&"function"==typeof o.clearMeasures;function n(e,t){return t?`${e}-${t}`:e}function s(e,t,r){const o=n(e,t);return t&&r?`${o}_${r}`:o}function a(e,t){const r=e||t?{...t}:null;return r&&e&&(r.specifier=e),r}function l({id:r,specifier:n,specifierIndex:l,metadata:d}){if(t)t({id:r,phase:e.Start,specifier:n,metadata:d});else if(i){const e=s(r,n,l),t=a(n,d);o.mark(e,{detail:t})}}function d({id:r,specifier:l,specifierIndex:d,metadata:c}){if(t)t({id:r,phase:e.End,specifier:l,metadata:c});else if(i){const e=s(r,l,d),t=n(r,l),i=a(l,c);o.measure(t,{start:e,detail:i}),o.clearMarks(e),o.clearMeasures(t)}}function c(e,t,o,i){const{autoBoot:n,customInit:s}=e;if(function(e,t){if(!e&&!t)throw new Error("The customInit hook is required when autoBoot is false");if(e&&t)throw new Error("The customInit hook must not be defined when autoBoot is true")}(n,s),s){s({initializeApp:t,define:o,onBootstrapError:i,attachDispatcher:r},e)}}const p="function"==typeof setTimeout,u="undefined"!=typeof console;class h{__init(){this.defineCache={}}__init2(){this.orderedDefs=[]}constructor(e){h.prototype.__init.call(this),h.prototype.__init2.call(this),p&&(this.watchdogTimerId=this.startWatchdogTimer()),this.global=e,this.config=e.LWR,this.loaderSpecifier="lwr/loader/v/0_12_0-alpha_8",this.errorHandler=this.config.onError;const t=this.tempDefine.bind(this);e.LWR.define=t,this.bootReady=this.config.autoBoot;try{this.createProfilerModule(this.config),c(Object.freeze(this.config),this.postCustomInit.bind(this),t,(e=>{this.errorHandler=e}))}catch(e){this.enterErrorState(e)}}canInit(){const e=this.config.requiredModules.every((e=>this.orderedDefs.includes(e)));return this.bootReady&&e}tempDefine(...e){const t=e[0];this.defineCache[t]=e,this.orderedDefs.push(t),this.canInit()&&(p&&clearTimeout(this.watchdogTimerId),this.initApp())}postCustomInit(){this.bootReady=!0,this.canInit()&&this.initApp()}initApp(){try{const e={endpoints:this.config.endpoints,baseUrl:this.config.baseUrl,profiler:{logOperationStart:l,logOperationEnd:d},serverData:this.config.serverData,appMetadata:{appId:this.config.appId,bootstrapModule:this.config.bootstrapModule,rootComponent:this.config.rootComponent,rootComponents:this.config.rootComponents}},t=function(e,t,r,o){if(!t||"function"!=typeof t[2])throw new Error(`Expected loader with specifier "${e}" to be a module`);const i={};t[2].call(null,i);const{Loader:n}=i,s=new n(r);return o&&o.length&&s.registerExternalModules(o),s.define(e,["exports"],(e=>{Object.assign(e,{define:s.define.bind(s),load:s.load.bind(s),services:s.services})})),s}(this.loaderSpecifier,this.defineCache[this.loaderSpecifier],e,this.config.preloadModules);this.mountApp(t)}catch(e){this.enterErrorState(e)}}waitForDOMContentLoaded(){return void 0===typeof document||"interactive"===document.readyState||"complete"===document.readyState?Promise.resolve():new Promise((e=>{document.addEventListener("DOMContentLoaded",(()=>{e()}))}))}createProfilerModule(e){e.define("lwr/profiler/v/0_12_0-alpha_8",["exports"],(e=>{Object.assign(e,{logOperationStart:l,logOperationEnd:d})}))}mountApp(e){const{bootstrapModule:t,rootComponent:r,rootComponents:o,serverData:i,endpoints:n,imports:s,index:a}=this.config;this.global.LWR=Object.freeze({define:e.define.bind(e),rootComponent:r,rootComponents:o,serverData:i,endpoints:n,imports:s||{},index:a||{}}),this.orderedDefs.forEach((t=>{t!==this.loaderSpecifier&&e.define(...this.defineCache[t])}));const{disableInitDefer:l}=this.config;e.registerImportMappings({imports:s,index:a},[t,r]).then((()=>{if(!l)return this.waitForDOMContentLoaded()})).then((()=>e.load(t))).catch((e=>{this.enterErrorState(new Error(`Application ${r||t} could not be loaded: ${e}`))}))}enterErrorState(e){l({id:"lwr.bootstrap.error"}),this.errorHandler?this.errorHandler(e):u&&console.error(`An error occurred during LWR bootstrap. ${e.message}`,e.stack)}startWatchdogTimer(){return setTimeout((()=>{this.enterErrorState(new Error("Failed to load required modules - timed out"))}),6e4)}}const f=globalThis;f.LWR.requiredModules=f.LWR.requiredModules||[],f.LWR.requiredModules.indexOf("lwr/loader/v/0_12_0-alpha_8")<0&&f.LWR.requiredModules.push("lwr/loader/v/0_12_0-alpha_8"),new h(f)}(),LWR.define("lwr/loader/v/0_12_0-alpha_8",["exports"],(function(exports){"use strict";const templateRegex=/\{([0-9]+)\}/g;function templateString(e,t){return e.replace(templateRegex,((e,r)=>t[r]))}function generateErrorMessage(e,t){const r=Array.isArray(t)?templateString(e.message,t):e.message;return`LWR${e.code}: ${r}`}class LoaderError extends Error{constructor(e,t){super(),this.message=generateErrorMessage(e,t)}}function invariant(e,t){if(!e)throw new LoaderError(t)}const MISSING_NAME=Object.freeze({code:3e3,message:"A module name is required.",level:0}),FAIL_INSTANTIATE=Object.freeze({code:3004,message:"Failed to instantiate module: {0}",level:0}),NO_AMD_REQUIRE=Object.freeze({code:3005,message:"AMD require not supported.",level:0}),FAILED_DEP=Object.freeze({code:3006,level:0,message:"Failed to load dependency: {0}"}),INVALID_DEPS=Object.freeze({code:3007,message:"Unexpected value received for dependencies argument; expected an array.",level:0}),FAIL_LOAD=Object.freeze({code:3008,level:0,message:"Error loading {0}"}),UNRESOLVED=Object.freeze({code:3009,level:0,message:"Unable to resolve bare specifier: {0}"}),NO_BASE_URL=Object.freeze({code:3010,level:0,message:"baseUrl not set"});Object.freeze({code:3011,level:0,message:"Cannot set a loader service multiple times"});const INVALID_HOOK=Object.freeze({code:3012,level:0,message:"Invalid hook received"}),INVALID_LOADER_SERVICE_RESPONSE=Object.freeze({code:3013,level:0,message:"Invalid response received from hook"}),MODULE_LOAD_TIMEOUT=Object.freeze({code:3014,level:0,message:"Error loading {0} - timed out"}),HTTP_FAIL_LOAD=Object.freeze({code:3015,level:0,message:"Error loading {0}, status code {1}"}),STALE_HOOK_ERROR=Object.freeze({code:3016,level:0,message:"An error occurred handling module conflict"});Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded:"});const FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),NO_MAPPING_URL=Object.freeze({code:3019,level:0,message:"Mapping endpoint not set"}),BAD_IMPORT_METADATA=Object.freeze({code:3020,level:0,message:"Invalid import metadata: {0} {1}"}),EXPORTER_ERROR=Object.freeze({code:3021,level:0,message:'Error evaluating module "{0}", error was "{1}"'});Object.freeze({code:3011,level:0,message:"import map is not valid"});const hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console;function getBaseUrl(){let e;if(hasDocument){const t=document.querySelector("base[href]");e=t&&t.href}if(!e&&"undefined"!=typeof location){e=location.href.split("#")[0].split("?")[0];const t=e.lastIndexOf("/");-1!==t&&(e=e.slice(0,t+1))}return e}function isUrl(e){return-1!==e.indexOf("://")}function resolveIfNotPlainOrUrl(e,t){if(-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/")),"/"===e[0]&&"/"===e[1])return t.slice(0,t.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){const r=t.slice(0,t.indexOf(":")+1);let o;if("/"===t[r.length+1]?"file:"!==r?(o=t.slice(r.length+2),o=o.slice(o.indexOf("/")+1)):o=t.slice(8):o=t.slice(r.length+("/"===t[r.length]?1:0)),"/"===e[0])return t.slice(0,t.length-o.length-1)+e;const i=o.slice(0,o.lastIndexOf("/")+1)+e,n=[];let s=-1;for(let e=0;e<i.length;e++)-1!==s?"/"===i[e]&&(n.push(i.slice(s,e+1)),s=-1):"."===i[e]?"."!==i[e+1]||"/"!==i[e+2]&&e+2!==i.length?"/"===i[e+1]||e+1===i.length?e+=1:s=e:(n.pop(),e+=2):s=e;return-1!==s&&n.push(i.slice(s)),t.slice(0,t.length-o.length)+n.join("")}}function resolveUrl(e,t){return resolveIfNotPlainOrUrl(e,t)||(isUrl(e)?e:resolveIfNotPlainOrUrl("./"+e,t))}function createScript(e){const t=document.createElement("script");return t.async=!0,t.crossOrigin="anonymous",t.src=e,t}let lastWindowError$1,lastWindowErrorUrl;function loadModuleDef(e){return new Promise((function(t,r){if(hasDocument){const o=createScript(e);o.addEventListener("error",(()=>{r(new LoaderError(FAIL_LOAD,[e]))})),o.addEventListener("load",(()=>{document.head.removeChild(o),lastWindowErrorUrl===e?r(lastWindowError$1):t()})),document.head.appendChild(o)}}))}hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_DYNAMIC_LOAD=`${LOADER_PREFIX}moduleRegistry.dynamicLoad`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`,MAPPINGS_FETCH=`${LOADER_PREFIX}mappings.fetch`,MAPPINGS_ERROR=`${LOADER_PREFIX}mappings.error`;class ImportMetadataResolver{__init(){this.importURICache=new Map}__init2(){this.pendingURICache=new Map}__init3(){this.loadMappingHooks=[]}constructor(e,t){ImportMetadataResolver.prototype.__init.call(this),ImportMetadataResolver.prototype.__init2.call(this),ImportMetadataResolver.prototype.__init3.call(this),this.config=e,this.invalidationCallback=t}addLoadMappingHook(e){this.loadMappingHooks.push(e)}getMappingEndpoint(){return this.config.endpoints&&this.config.endpoints.uris?this.config.endpoints.uris.mapping:void 0}getModifiersAsUrlParams(){const e=this.config.endpoints?this.config.endpoints.modifiers:void 0;if(e){return`?${Object.keys(e).map((t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`)).join("&")}`}return""}buildMappingUrl(e){return`${this.getMappingEndpoint()}${encodeURIComponent(e)}${this.getModifiersAsUrlParams()}`}getBaseUrl(){return this.config.baseUrl}registerImportMappings(e,t){if(!t||0===t.length){const r=e?JSON.stringify(e):"undefined";throw new LoaderError(BAD_IMPORT_METADATA,[r,t?"[]":"undefined"])}if(!e)throw new LoaderError(BAD_IMPORT_METADATA,["undefined",JSON.stringify(t)]);if(!e.imports||0===Object.keys(e.imports).length)throw new LoaderError(BAD_IMPORT_METADATA,[JSON.stringify(e),JSON.stringify(t)]);const r=e.index||{};for(const[o,i]of Object.entries(e.imports))i.forEach((e=>{const i=r[e],n=this.importURICache.get(e);if(n){const t=i||o,r=n.identity||n.uri;r!==t&&this.invalidationCallback({name:e,oldUrl:r,newUrl:t})}else this.saveImportURIRecord(e,o,i,t.includes(e))}))}getURI(e){return this.importURICache.has(e)?resolveUrl(this.importURICache.get(e).uri,this.getBaseUrl()):void 0}resolveLocal(e){const t=this.getURI(e);return t||(isUrl(e)||e.startsWith("/")?e:void 0)}async resolve(e){let t=this.getURI(e);if(t)return t;if(isUrl(e)||e.startsWith("/"))return e;{const r=this.pendingURICache.get(e);if(r)return r;this.config.profiler.logOperationStart({id:MAPPINGS_FETCH,specifier:e});const o=(this.hasMappingHooks()?this.evaluateMappingHooks:this.fetchNewMappings).bind(this)(e).then((r=>{if(!r||!r.imports)throw new LoaderError(UNRESOLVED,[e]);if(this.registerImportMappings(r,[e]),t=this.getURI(e),!t)throw new LoaderError(UNRESOLVED,[e]);return this.config.profiler.logOperationEnd({id:MAPPINGS_FETCH,specifier:e}),t})).finally((()=>{this.pendingURICache.delete(e)}));return this.pendingURICache.set(e,o),o}}hasMappingHooks(){return this.loadMappingHooks.length>0}async evaluateMappingHooks(e){const t=this.loadMappingHooks;if(t.length){const r=Array.from(this.importURICache.keys());for(let o=0;o<t.length;o++){const i=t[o],n=await i(e,{knownModules:r});if(n||void 0===n)return n}}return this.fetchNewMappings(e)}async fetchNewMappings(e){if("function"!=typeof globalThis.fetch)throw new LoaderError(UNRESOLVED,[e]);const t=resolveUrl(this.buildMappingUrl(e),this.getBaseUrl());return globalThis.fetch(t).then((t=>{if(!t.ok)throw this.config.profiler.logOperationStart({id:MAPPINGS_ERROR,specifier:e}),new LoaderError(UNRESOLVED,[e]);return t.json().then((e=>e)).catch((t=>{throw new LoaderError(UNRESOLVED,[e])}))}))}saveImportURIRecord(e,t,r,o){r&&t!==r?this.importURICache.set(e,{uri:t,identity:r,isRoot:o}):this.importURICache.set(e,{uri:t,isRoot:o})}}function reportError(e){hasConsole&&console.error(e)}function evaluateHandleStaleModuleHooks(e,t){const{name:r,oldUrl:o,newUrl:i}=t;for(let t=0;t<e.length;t++){const n=e[t];try{if(null!==n({name:r,oldUrl:o,newUrl:i}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}const MODULE_LOAD_TIMEOUT_TIMER=6e4,SUPPORTS_TRUSTED_TYPES="undefined"!=typeof trustedTypes;
7
+ /* LWR Module Loader Shim v0.12.0 */
8
+ !function(){"use strict";var e=function(e){return e[e.Start=0]="Start",e[e.End=1]="End",e}(e||{});let t;function r(e){t=e}const o=globalThis.performance,i=void 0!==o&&"function"==typeof o.mark&&"function"==typeof o.clearMarks&&"function"==typeof o.measure&&"function"==typeof o.clearMeasures;function n(e,t){return t?`${e}-${t}`:e}function s(e,t,r){const o=n(e,t);return t&&r?`${o}_${r}`:o}function a(e,t){const r=e||t?{...t}:null;return r&&e&&(r.specifier=e),r}function l({id:r,specifier:n,specifierIndex:l,metadata:d}){if(t)t({id:r,phase:e.Start,specifier:n,metadata:d});else if(i){const e=s(r,n,l),t=a(n,d);o.mark(e,{detail:t})}}function d({id:r,specifier:l,specifierIndex:d,metadata:c}){if(t)t({id:r,phase:e.End,specifier:l,metadata:c});else if(i){const e=s(r,l,d),t=n(r,l),i=a(l,c);o.measure(t,{start:e,detail:i}),o.clearMarks(e),o.clearMeasures(t)}}function c(e,t,o,i){const{autoBoot:n,customInit:s}=e;if(function(e,t){if(!e&&!t)throw new Error("The customInit hook is required when autoBoot is false");if(e&&t)throw new Error("The customInit hook must not be defined when autoBoot is true")}(n,s),s){s({initializeApp:t,define:o,onBootstrapError:i,attachDispatcher:r},e)}}const p="function"==typeof setTimeout,u="undefined"!=typeof console;class h{__init(){this.defineCache={}}__init2(){this.orderedDefs=[]}constructor(e){h.prototype.__init.call(this),h.prototype.__init2.call(this),p&&(this.watchdogTimerId=this.startWatchdogTimer()),this.global=e,this.config=e.LWR,this.loaderSpecifier="lwr/loader/v/0_12_0",this.errorHandler=this.config.onError;const t=this.tempDefine.bind(this);e.LWR.define=t,this.bootReady=this.config.autoBoot;try{this.createProfilerModule(this.config),c(Object.freeze(this.config),this.postCustomInit.bind(this),t,(e=>{this.errorHandler=e}))}catch(e){this.enterErrorState(e)}}canInit(){const e=this.config.requiredModules.every((e=>this.orderedDefs.includes(e)));return this.bootReady&&e}tempDefine(...e){const t=e[0];this.defineCache[t]=e,this.orderedDefs.push(t),this.canInit()&&(p&&clearTimeout(this.watchdogTimerId),this.initApp())}postCustomInit(){this.bootReady=!0,this.canInit()&&this.initApp()}initApp(){try{const e={endpoints:this.config.endpoints,baseUrl:this.config.baseUrl,profiler:{logOperationStart:l,logOperationEnd:d},serverData:this.config.serverData,appMetadata:{appId:this.config.appId,bootstrapModule:this.config.bootstrapModule,rootComponent:this.config.rootComponent,rootComponents:this.config.rootComponents}},t=function(e,t,r,o){if(!t||"function"!=typeof t[2])throw new Error(`Expected loader with specifier "${e}" to be a module`);const i={};t[2].call(null,i);const{Loader:n}=i,s=new n(r);return o&&o.length&&s.registerExternalModules(o),s.define(e,["exports"],(e=>{Object.assign(e,{define:s.define.bind(s),load:s.load.bind(s),services:s.services})})),s}(this.loaderSpecifier,this.defineCache[this.loaderSpecifier],e,this.config.preloadModules);this.mountApp(t)}catch(e){this.enterErrorState(e)}}waitForDOMContentLoaded(){return void 0===typeof document||"interactive"===document.readyState||"complete"===document.readyState?Promise.resolve():new Promise((e=>{document.addEventListener("DOMContentLoaded",(()=>{e()}))}))}createProfilerModule(e){e.define("lwr/profiler/v/0_12_0",["exports"],(e=>{Object.assign(e,{logOperationStart:l,logOperationEnd:d})}))}mountApp(e){const{bootstrapModule:t,rootComponent:r,rootComponents:o,serverData:i,endpoints:n,imports:s,index:a}=this.config;this.global.LWR=Object.freeze({define:e.define.bind(e),rootComponent:r,rootComponents:o,serverData:i,endpoints:n,imports:s||{},index:a||{},env:this.global.LWR.env}),this.orderedDefs.forEach((t=>{t!==this.loaderSpecifier&&e.define(...this.defineCache[t])}));const{disableInitDefer:l}=this.config;e.registerImportMappings({imports:s,index:a},[t,r]).then((()=>{if(!l)return this.waitForDOMContentLoaded()})).then((()=>e.load(t))).catch((e=>{this.enterErrorState(new Error(`Application ${r||t} could not be loaded: ${e}`))}))}enterErrorState(e){l({id:"lwr.bootstrap.error"}),this.errorHandler?this.errorHandler(e):u&&console.error(`An error occurred during LWR bootstrap. ${e.message}`,e.stack)}startWatchdogTimer(){return setTimeout((()=>{this.enterErrorState(new Error("Failed to load required modules - timed out"))}),6e4)}}const f=globalThis;f.LWR.requiredModules=f.LWR.requiredModules||[],f.LWR.requiredModules.indexOf("lwr/loader/v/0_12_0")<0&&f.LWR.requiredModules.push("lwr/loader/v/0_12_0"),new h(f)}(),LWR.define("lwr/loader/v/0_12_0",["exports"],(function(exports){"use strict";const templateRegex=/\{([0-9]+)\}/g;function templateString(e,t){return e.replace(templateRegex,((e,r)=>t[r]))}function generateErrorMessage(e,t){const r=Array.isArray(t)?templateString(e.message,t):e.message;return`LWR${e.code}: ${r}`}class LoaderError extends Error{constructor(e,t){super(),this.message=generateErrorMessage(e,t)}}function invariant(e,t){if(!e)throw new LoaderError(t)}const MISSING_NAME=Object.freeze({code:3e3,message:"A module name is required.",level:0}),FAIL_INSTANTIATE=Object.freeze({code:3004,message:"Failed to instantiate module: {0}",level:0}),NO_AMD_REQUIRE=Object.freeze({code:3005,message:"AMD require not supported.",level:0}),FAILED_DEP=Object.freeze({code:3006,level:0,message:"Failed to load dependency: {0}"}),INVALID_DEPS=Object.freeze({code:3007,message:"Unexpected value received for dependencies argument; expected an array.",level:0}),FAIL_LOAD=Object.freeze({code:3008,level:0,message:"Error loading {0}"}),UNRESOLVED=Object.freeze({code:3009,level:0,message:"Unable to resolve bare specifier: {0}"}),NO_BASE_URL=Object.freeze({code:3010,level:0,message:"baseUrl not set"});Object.freeze({code:3011,level:0,message:"Cannot set a loader service multiple times"});const INVALID_HOOK=Object.freeze({code:3012,level:0,message:"Invalid hook received"}),INVALID_LOADER_SERVICE_RESPONSE=Object.freeze({code:3013,level:0,message:"Invalid response received from hook"}),MODULE_LOAD_TIMEOUT=Object.freeze({code:3014,level:0,message:"Error loading {0} - timed out"}),HTTP_FAIL_LOAD=Object.freeze({code:3015,level:0,message:"Error loading {0}, status code {1}"}),STALE_HOOK_ERROR=Object.freeze({code:3016,level:0,message:"An error occurred handling module conflict"});Object.freeze({code:3017,level:0,message:"Marking module(s) as externally loaded, but they are already loaded:"});const FAIL_HOOK_LOAD=Object.freeze({code:3018,level:0,message:'Error loading "{0}" from hook'}),NO_MAPPING_URL=Object.freeze({code:3019,level:0,message:"Mapping endpoint not set"}),BAD_IMPORT_METADATA=Object.freeze({code:3020,level:0,message:"Invalid import metadata: {0} {1}"}),EXPORTER_ERROR=Object.freeze({code:3021,level:0,message:'Error evaluating module "{0}", error was "{1}"'});Object.freeze({code:3011,level:0,message:"import map is not valid"});const hasDocument="undefined"!=typeof document,hasSetTimeout="function"==typeof setTimeout,hasConsole="undefined"!=typeof console;function getBaseUrl(){let e;if(hasDocument){const t=document.querySelector("base[href]");e=t&&t.href}if(!e&&"undefined"!=typeof location){e=location.href.split("#")[0].split("?")[0];const t=e.lastIndexOf("/");-1!==t&&(e=e.slice(0,t+1))}return e}function isUrl(e){return-1!==e.indexOf("://")}function resolveIfNotPlainOrUrl(e,t){if(-1!==e.indexOf("\\")&&(e=e.replace(/\\/g,"/")),"/"===e[0]&&"/"===e[1])return t.slice(0,t.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){const r=t.slice(0,t.indexOf(":")+1);let o;if("/"===t[r.length+1]?"file:"!==r?(o=t.slice(r.length+2),o=o.slice(o.indexOf("/")+1)):o=t.slice(8):o=t.slice(r.length+("/"===t[r.length]?1:0)),"/"===e[0])return t.slice(0,t.length-o.length-1)+e;const i=o.slice(0,o.lastIndexOf("/")+1)+e,n=[];let s=-1;for(let e=0;e<i.length;e++)-1!==s?"/"===i[e]&&(n.push(i.slice(s,e+1)),s=-1):"."===i[e]?"."!==i[e+1]||"/"!==i[e+2]&&e+2!==i.length?"/"===i[e+1]||e+1===i.length?e+=1:s=e:(n.pop(),e+=2):s=e;return-1!==s&&n.push(i.slice(s)),t.slice(0,t.length-o.length)+n.join("")}}function resolveUrl(e,t){return resolveIfNotPlainOrUrl(e,t)||(isUrl(e)?e:resolveIfNotPlainOrUrl("./"+e,t))}function createScript(e){const t=document.createElement("script");return t.async=!0,t.crossOrigin="anonymous",t.src=e,t}let lastWindowError$1,lastWindowErrorUrl;function loadModuleDef(e){return new Promise((function(t,r){if(hasDocument){const o=createScript(e);o.addEventListener("error",(()=>{r(new LoaderError(FAIL_LOAD,[e]))})),o.addEventListener("load",(()=>{document.head.removeChild(o),lastWindowErrorUrl===e?r(lastWindowError$1):t()})),document.head.appendChild(o)}}))}hasDocument&&window.addEventListener("error",(e=>{lastWindowErrorUrl=e.filename,lastWindowError$1=e.error}));const LOADER_PREFIX="lwr.loader.",MODULE_DEFINE=`${LOADER_PREFIX}module.define`,MODULE_DYNAMIC_LOAD=`${LOADER_PREFIX}moduleRegistry.dynamicLoad`,MODULE_FETCH=`${LOADER_PREFIX}module.fetch`,MODULE_ERROR=`${LOADER_PREFIX}module.error`,MAPPINGS_FETCH=`${LOADER_PREFIX}mappings.fetch`,MAPPINGS_ERROR=`${LOADER_PREFIX}mappings.error`;class ImportMetadataResolver{__init(){this.importURICache=new Map}__init2(){this.pendingURICache=new Map}__init3(){this.loadMappingHooks=[]}constructor(e,t){ImportMetadataResolver.prototype.__init.call(this),ImportMetadataResolver.prototype.__init2.call(this),ImportMetadataResolver.prototype.__init3.call(this),this.config=e,this.invalidationCallback=t}addLoadMappingHook(e){this.loadMappingHooks.push(e)}getMappingEndpoint(){return this.config.endpoints&&this.config.endpoints.uris?this.config.endpoints.uris.mapping:void 0}getModifiersAsUrlParams(){const e=this.config.endpoints?this.config.endpoints.modifiers:void 0;if(e){return`?${Object.keys(e).map((t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`)).join("&")}`}return""}buildMappingUrl(e){return`${this.getMappingEndpoint()}${encodeURIComponent(e)}${this.getModifiersAsUrlParams()}`}getBaseUrl(){return this.config.baseUrl}registerImportMappings(e,t){if(!t||0===t.length){const r=e?JSON.stringify(e):"undefined";throw new LoaderError(BAD_IMPORT_METADATA,[r,t?"[]":"undefined"])}if(!e)throw new LoaderError(BAD_IMPORT_METADATA,["undefined",JSON.stringify(t)]);if(!e.imports||0===Object.keys(e.imports).length)throw new LoaderError(BAD_IMPORT_METADATA,[JSON.stringify(e),JSON.stringify(t)]);const r=e.index||{};for(const[o,i]of Object.entries(e.imports))i.forEach((e=>{const i=r[e],n=this.importURICache.get(e);if(n){const t=i||o,r=n.identity||n.uri;r!==t&&this.invalidationCallback({name:e,oldUrl:r,newUrl:t})}else this.saveImportURIRecord(e,o,i,t.includes(e))}))}getURI(e){return this.importURICache.has(e)?resolveUrl(this.importURICache.get(e).uri,this.getBaseUrl()):void 0}resolveLocal(e){const t=this.getURI(e);return t||(isUrl(e)||e.startsWith("/")?e:void 0)}async resolve(e){let t=this.getURI(e);if(t)return t;if(isUrl(e)||e.startsWith("/"))return e;{const r=this.pendingURICache.get(e);if(r)return r;this.config.profiler.logOperationStart({id:MAPPINGS_FETCH,specifier:e});const o=(this.hasMappingHooks()?this.evaluateMappingHooks:this.fetchNewMappings).bind(this)(e).then((r=>{if(!r||!r.imports)throw new LoaderError(UNRESOLVED,[e]);if(this.registerImportMappings(r,[e]),t=this.getURI(e),!t)throw new LoaderError(UNRESOLVED,[e]);return this.config.profiler.logOperationEnd({id:MAPPINGS_FETCH,specifier:e}),t})).finally((()=>{this.pendingURICache.delete(e)}));return this.pendingURICache.set(e,o),o}}hasMappingHooks(){return this.loadMappingHooks.length>0}async evaluateMappingHooks(e){const t=this.loadMappingHooks;if(t.length){const r=Array.from(this.importURICache.keys());for(let o=0;o<t.length;o++){const i=t[o],n=await i(e,{knownModules:r});if(n||void 0===n)return n}}return this.fetchNewMappings(e)}async fetchNewMappings(e){if("function"!=typeof globalThis.fetch)throw new LoaderError(UNRESOLVED,[e]);const t=resolveUrl(this.buildMappingUrl(e),this.getBaseUrl());return globalThis.fetch(t).then((t=>{if(!t.ok)throw this.config.profiler.logOperationStart({id:MAPPINGS_ERROR,specifier:e}),new LoaderError(UNRESOLVED,[e]);return t.json().then((e=>e)).catch((t=>{throw new LoaderError(UNRESOLVED,[e])}))}))}saveImportURIRecord(e,t,r,o){r&&t!==r?this.importURICache.set(e,{uri:t,identity:r,isRoot:o}):this.importURICache.set(e,{uri:t,isRoot:o})}}function reportError(e){hasConsole&&console.error(e)}function evaluateHandleStaleModuleHooks(e,t){const{name:r,oldUrl:o,newUrl:i}=t;for(let t=0;t<e.length;t++){const n=e[t];try{if(null!==n({name:r,oldUrl:o,newUrl:i}))break}catch(e){reportError(new LoaderError(STALE_HOOK_ERROR))}}}const MODULE_LOAD_TIMEOUT_TIMER=6e4,SUPPORTS_TRUSTED_TYPES="undefined"!=typeof trustedTypes;
9
9
  /*!
10
10
  * Copyright (C) 2023 salesforce.com, inc.
11
- */function createTrustedTypesPolicy(e,t){return trustedTypes.createPolicy(e,t)}function createFallbackPolicy(e,t){return t}const createPolicy=SUPPORTS_TRUSTED_TYPES?createTrustedTypesPolicy:createFallbackPolicy,policyOptions={createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e};try{createPolicy("default",{createHTML:e=>e,createScript(e){if("null"===e||"undefined"===e)return e},createScriptURL:e=>e})}catch(e){}const trusted=createPolicy("trusted",policyOptions);let lastWindowError;function isCustomResponse(e){return Object.prototype.hasOwnProperty.call(e,"data")&&!Object.prototype.hasOwnProperty.call(e,"blob")}function isFetchResponse(e){return"function"==typeof e.blob}function isResponseAPromise(e){return!(!e||!e.then)}async function evaluateLoadHookResponse(response,id){return Promise.resolve().then((async()=>{if(!response||!response.status)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(200!==response.status)throw new LoaderError(HTTP_FAIL_LOAD,[id,`${response.status}`]);const isResponse=isFetchResponse(response);let code;if(isCustomResponse(response))code=response.data;else{if(!isResponse)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);code=await response.text()}if(!code)throw new LoaderError(FAIL_LOAD,[id]);code=`${code}\n//# sourceURL=${id}`;try{eval(trusted.createScript(code))}catch(e){throw new LoaderError(FAIL_LOAD,[id])}if(lastWindowError)throw new LoaderError(FAIL_LOAD,[id]);return!0}))}async function evaluateLoadHook(e,t){return hasSetTimeout?new Promise(((r,o)=>{const i=setTimeout((()=>{o(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER);t.then((e=>{r(e)})).catch((()=>{o(new LoaderError(FAIL_HOOK_LOAD,[e]))})).finally((()=>{clearTimeout(i)}))})):t}hasDocument&&globalThis.addEventListener("error",(e=>{lastWindowError=e.error}));class ModuleRegistry{__init(){this.namedDefineRegistry=new Map}__init2(){this.moduleRegistry=new Map}__init3(){this.aliases=new Map}constructor(e){ModuleRegistry.prototype.__init.call(this),ModuleRegistry.prototype.__init2.call(this),ModuleRegistry.prototype.__init3.call(this),this.profiler=e.profiler,this.resolver=new ImportMetadataResolver(e,this.importMetadataInvalidationCallback.bind(this))}async load(e,t){const r=t?{importer:t}:{};this.profiler.logOperationStart({id:MODULE_DYNAMIC_LOAD,specifier:e,metadata:r});const o=await this.resolve(e,t),i=this.getModuleRecord(o,e);return i.evaluated?i.module:(i.evaluationPromise||(i.evaluationPromise=this.evaluateModule(i,{})),i.evaluationPromise)}async resolve(e,t){const r=this.resolver.getBaseUrl();let o,i=e;const n=this.resolveHook;if(n){for(let e=0;e<n.length;e++){const t=(0,n[e])(i,{parentUrl:r});let s;if((t||null===t)&&(s=isResponseAPromise(t)?await t:t),!isValidResolveResponse(s))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(null!==s){if("string"==typeof s){if(resolveIfNotPlainOrUrl(s,r))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);i=s;continue}if(o=s&&s.url&&(resolveIfNotPlainOrUrl(s.url,r)||s.url),!o)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);break}}if(i!==e){if(!o&&this.namedDefineRegistry.has(i))return i;e=i}}if(!o){const t=resolveIfNotPlainOrUrl(e,r)||e;if(this.moduleRegistry.has(t))return t;const i=this.resolver.resolveLocal(t);if(i){if(this.namedDefineRegistry.has(t)){const e=this.namedDefineRegistry.get(t);if(e.external||e.defined){if(!this.moduleRegistry.get(i)||!this.aliases.has(t))return t}}return i}if(this.namedDefineRegistry.has(t))return t;try{o=await this.resolver.resolve(t)}catch(e){}}if(!o||!isUrl(o)){if(this.namedDefineRegistry.has(e))return e;throw new LoaderError(UNRESOLVED,[e])}return t&&isUrl(o)&&(o+=`?importer=${encodeURIComponent(t)}`),o}has(e){return this.moduleRegistry.has(e)}define(e,t,r){const o=this.namedDefineRegistry.get(e);if(o&&o.defined)return void(this.lastDefine=o);const i={name:e,dependencies:t,exporter:r,defined:!0};o&&o.external&&o.external.resolveExternal(i),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,i),this.lastDefine=i}registerExternalModules(e){e.map((e=>{if(!this.namedDefineRegistry.has(e)){let t,r;const o=new Promise(((o,i)=>{t=o,r=setTimeout((()=>{i(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER)})).finally((()=>{clearTimeout(r)})),i={name:e,defined:!1,external:{resolveExternal:t,moduleDefPromise:o}};this.namedDefineRegistry.set(e,i)}}))}getImportMetadataResolver(){return this.resolver}getExistingModuleRecord(e,t){const r=this.moduleRegistry.get(e);if(r)return this.storeModuleAlias(t,e),r;if(e!==t){const e=this.aliases.get(t);if(e){const t=this.moduleRegistry.get(e);if(t)return t}}return r}getModuleRecord(e,t){const r=this.getExistingModuleRecord(e,t);if(r)return r;const o={id:e,module:Object.create(null),instantiation:this.getModuleDef(e,t),evaluated:!1,evaluationPromise:null};return this.moduleRegistry.set(e,o),this.storeModuleAlias(t,e),o}storeModuleAlias(e,t){e!==t&&(this.aliases.has(e)||this.aliases.set(e,t))}async evaluateDependencies(e,t){const r={},o=[];if(e)for(const i of e)"exports"===i?o.push(Promise.resolve(r)):(invariant("require"!==i,NO_AMD_REQUIRE),o.push(this.evaluateDependent(i,t)));return Promise.all(o).then((e=>({depsMapped:e.filter((e=>void 0!==e)),exports:r})))}async evaluateDependent(e,t){const r=await this.resolve(e),o=this.getModuleRecord(r,e);let i=o.module;const n=e=>{if(e)return e.__defaultInterop?e.default:e;throw new LoaderError(FAILED_DEP,[r])};return o.evaluated?n(i):t[o.id]?(i=getCircularDependencyWrapper(i),n(i)):(o.evaluationPromise||(o.evaluationPromise=this.evaluateModule(o,t)),o.evaluationPromise.then((e=>n(e))))}async evaluateModule(e,t){const r={...t};r[e.id]=!0;const{exporter:o,dependencies:i}=await e.instantiation,{depsMapped:n,exports:s}=await this.evaluateDependencies(i,r);let a=this.evaluateModuleCode(o,n,e);void 0!==a?(a={default:a},Object.defineProperty(a,"__defaultInterop",{value:!0})):isNamedExportDefaultOnly(s)&&Object.defineProperty(s,"__useDefault",{value:!0});const l=a||s;for(const t in l)Object.defineProperty(e.module,t,{enumerable:!0,set(e){l[t]=e},get:()=>l[t]});return l.__useDefault&&Object.defineProperty(e.module,"__useDefault",{value:!0}),l.__defaultInterop&&Object.defineProperty(e.module,"__defaultInterop",{value:!0}),l.__esModule&&Object.defineProperty(e.module,"__esModule",{value:!0}),Object.freeze(e.module),e.evaluated=!0,e.evaluationPromise=null,e.module}evaluateModuleCode(e,t,r){try{return e(...t)}catch(e){throw new LoaderError(EXPORTER_ERROR,[r.id,e.message||e])}}async getModuleDef(e,t){this.lastDefine=void 0;const r=isUrl(e)?t!==e?t:void 0:e;let o=r&&this.namedDefineRegistry.get(r);if(o&&o.external)return o.external.moduleDefPromise;if(o&&o.defined)return o;const i=this.resolver.getBaseUrl(),n=r||t;return this.profiler.logOperationStart({id:MODULE_FETCH,specifier:n}),Promise.resolve().then((async()=>{const t=this.loadHook;if(t)for(let r=0;r<t.length;r++){const o=(0,t[r])(e,i),n=isResponseAPromise(o)?await evaluateLoadHook(e,o):o;if(void 0===n)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(n&&null!==n)return evaluateLoadHookResponse(n,e)}return!1})).then((t=>{if(!0!==t&&hasDocument)return loadModuleDef(e)})).then((()=>{if(o=r&&this.namedDefineRegistry.get(r),o||(o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:n}),o})).catch((e=>{throw e instanceof LoaderError||this.profiler.logOperationStart({id:MODULE_ERROR,specifier:n}),e}))}addLoaderPlugin(e){if("object"!=typeof e)throw new LoaderError(INVALID_HOOK);const{loadModule:t,resolveModule:r,loadMapping:o}=e;r&&(this.resolveHook?this.resolveHook.push(r):this.resolveHook=[r]),t&&(this.loadHook?this.loadHook.push(t):this.loadHook=[t]),o&&this.resolver.addLoadMappingHook(o)}importMetadataInvalidationCallback({name:e,oldUrl:t,newUrl:r}){const o=this.handleStaleModuleHook;o&&evaluateHandleStaleModuleHooks(o,{name:e,oldUrl:t,newUrl:r})}registerHandleStaleModuleHook(e){this.handleStaleModuleHook?this.handleStaleModuleHook.push(e):this.handleStaleModuleHook=[e]}}function isNamedExportDefaultOnly(e){return void 0!==e&&2===Object.getOwnPropertyNames(e).length&&Object.prototype.hasOwnProperty.call(e,"default")&&Object.prototype.hasOwnProperty.call(e,"__esModule")}function getCircularDependencyWrapper(e){const t=()=>e.__useDefault||e.__defaultInterop?e.default:e;return t.__circular__=!0,t}function isValidResolveResponse(e){return null===e||"string"==typeof e||e&&"string"==typeof e.url}class Loader{constructor(e){let t=e.baseUrl;const r=e.endpoints?e.endpoints.uris.mapping:void 0;let o=e.profiler;if(!r)throw new LoaderError(NO_MAPPING_URL);if(e.endpoints.uris.mapping=r.replace(/\/?$/,"/"),t&&(t=t.replace(/\/?$/,"/")),t||(t=getBaseUrl()),!t)throw new LoaderError(NO_BASE_URL);if(o||(o={logOperationStart:()=>{},logOperationEnd:()=>{}}),this.registry=new ModuleRegistry(Object.freeze({endpoints:e.endpoints,baseUrl:t,profiler:o})),e.appMetadata&&!e.appMetadata.appId){const t=e.appMetadata.bootstrapModule.match(/@lwr-bootstrap\/(.+)\/v\/.+/),r=t&&t[1];e.appMetadata.appId=r}this.services=Object.freeze({addLoaderPlugin:this.registry.addLoaderPlugin.bind(this.registry),handleStaleModule:this.registry.registerHandleStaleModuleHook.bind(this.registry),appMetadata:e.appMetadata,serverData:e.serverData||{}})}define(e,t,r){invariant("string"==typeof e,MISSING_NAME);let o=r,i=t;"function"==typeof i&&(o=t,i=[]),invariant(Array.isArray(i),INVALID_DEPS),this.registry.define(e,i,o)}async load(e,t){return this.registry.load(e,t)}has(e){return this.registry.has(e)}async resolve(e,t){return this.registry.resolve(e,t)}async registerImportMappings(e,t){this.registry.getImportMetadataResolver().registerImportMappings(e,t)}registerExternalModules(e){this.registry.registerExternalModules(e)}}exports.Loader=Loader,Object.defineProperty(exports,"__esModule",{value:!0})}));
11
+ */function createTrustedTypesPolicy(e,t){return trustedTypes.createPolicy(e,t)}function createFallbackPolicy(e,t){return t}const createPolicy=SUPPORTS_TRUSTED_TYPES?createTrustedTypesPolicy:createFallbackPolicy,policyOptions={createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e};try{createPolicy("default",{createHTML:e=>e,createScript(e){if("null"===e||"undefined"===e)return e},createScriptURL:e=>e})}catch(e){}const trusted=createPolicy("trusted",policyOptions);let lastWindowError;function isCustomResponse(e){return Object.prototype.hasOwnProperty.call(e,"data")&&!Object.prototype.hasOwnProperty.call(e,"blob")}function isFetchResponse(e){return"function"==typeof e.blob}function isResponseAPromise(e){return!(!e||!e.then)}async function evaluateLoadHookResponse(response,id){return Promise.resolve().then((async()=>{if(!response||!response.status)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(200!==response.status)throw new LoaderError(HTTP_FAIL_LOAD,[id,`${response.status}`]);const isResponse=isFetchResponse(response);let code;if(isCustomResponse(response))code=response.data;else{if(!isResponse)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);code=await response.text()}if(!code)throw new LoaderError(FAIL_LOAD,[id]);code=`${code}\n//# sourceURL=${id}`;try{eval(trusted.createScript(code))}catch(e){throw new LoaderError(FAIL_LOAD,[id])}if(lastWindowError)throw new LoaderError(FAIL_LOAD,[id]);return!0}))}async function evaluateLoadHook(e,t){return hasSetTimeout?new Promise(((r,o)=>{const i=setTimeout((()=>{o(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER);t.then((e=>{r(e)})).catch((()=>{o(new LoaderError(FAIL_HOOK_LOAD,[e]))})).finally((()=>{clearTimeout(i)}))})):t}hasDocument&&globalThis.addEventListener("error",(e=>{lastWindowError=e.error}));class ModuleRegistry{constructor(e){ModuleRegistry.prototype.__init.call(this),ModuleRegistry.prototype.__init2.call(this),ModuleRegistry.prototype.__init3.call(this),this.profiler=e.profiler,this.resolver=new ImportMetadataResolver(e,this.importMetadataInvalidationCallback.bind(this))}async load(e,t){const r=t?{importer:t}:{};this.profiler.logOperationStart({id:MODULE_DYNAMIC_LOAD,specifier:e,metadata:r});const o=await this.resolve(e,t),i=await this.getModuleRecord(o,e);return i.evaluated?i.module:(i.evaluationPromise||(i.evaluationPromise=this.topLevelEvaluation(i)),i.evaluationPromise)}async resolve(e,t){const r=this.resolver.getBaseUrl();let o,i=e;const n=this.resolveHook;if(n){for(let e=0;e<n.length;e++){const t=(0,n[e])(i,{parentUrl:r});let s;if((t||null===t)&&(s=isResponseAPromise(t)?await t:t),!this.isValidResolveResponse(s))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(null!==s){if("string"==typeof s){if(resolveIfNotPlainOrUrl(s,r))throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);i=s;continue}if(o=s&&s.url&&(resolveIfNotPlainOrUrl(s.url,r)||s.url),!o)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);break}}if(i!==e){if(!o&&this.namedDefineRegistry.has(i))return i;e=i}}if(!o){const t=resolveIfNotPlainOrUrl(e,r)||e;if(this.moduleRegistry.has(t))return t;const i=this.resolver.resolveLocal(t);if(i){if(this.namedDefineRegistry.has(t)){const e=this.namedDefineRegistry.get(t);if(e.external||e.defined){if(!this.moduleRegistry.get(i)||!this.aliases.has(t))return t}}return i}if(this.namedDefineRegistry.has(t))return t;try{o=await this.resolver.resolve(t)}catch(e){}}if(!o||!isUrl(o)){if(this.namedDefineRegistry.has(e))return e;throw new LoaderError(UNRESOLVED,[e])}return t&&isUrl(o)&&(o+=`?importer=${encodeURIComponent(t)}`),o}has(e){return this.moduleRegistry.has(e)}define(e,t,r){const o=this.namedDefineRegistry.get(e);if(o&&o.defined)return void(this.lastDefine=o);const i={name:e,dependencies:t,exporter:r,defined:!0};o&&o.external&&o.external.resolveExternal(i),this.profiler.logOperationStart({id:MODULE_DEFINE,specifier:e}),this.namedDefineRegistry.set(e,i),this.lastDefine=i}registerExternalModules(e){e.map((e=>{if(!this.namedDefineRegistry.has(e)){let t,r;const o=new Promise(((o,i)=>{t=o,r=setTimeout((()=>{i(new LoaderError(MODULE_LOAD_TIMEOUT,[e]))}),MODULE_LOAD_TIMEOUT_TIMER)})).finally((()=>{clearTimeout(r)})),i={name:e,defined:!1,external:{resolveExternal:t,moduleDefPromise:o}};this.namedDefineRegistry.set(e,i)}}))}__init(){this.namedDefineRegistry=new Map}__init2(){this.moduleRegistry=new Map}__init3(){this.aliases=new Map}getImportMetadataResolver(){return this.resolver}getExistingModuleRecord(e,t){const r=this.moduleRegistry.get(e);if(r)return this.storeModuleAlias(t,e),r;if(e!==t){const e=this.aliases.get(t);if(e){const t=this.moduleRegistry.get(e);if(t)return t}}return r}async getModuleRecord(e,t){const r=this.getExistingModuleRecord(e,t);if(r)return r;const o=this.getModuleDef(e,t),i=o.then((e=>{const t=(e.dependencies||[]).map((e=>{if("exports"!==e)return invariant("require"!==e,NO_AMD_REQUIRE),this.getModuleDependencyRecord.call(this,e)})).filter((e=>void 0!==e));return Promise.all(t)})),n={id:e,module:Object.create(null),dependencyRecords:i,instantiation:o,evaluated:!1,evaluationPromise:null};return this.moduleRegistry.set(e,n),this.storeModuleAlias(t,e),i.then((()=>n))}storeModuleAlias(e,t){e!==t&&(this.aliases.has(e)||this.aliases.set(e,t))}async getModuleDependencyRecord(e){const t=await this.resolve(e);return this.getModuleRecord(t,e)}async topLevelEvaluation(e){return await this.instantiateAll(e,{}),this.evaluateModule(e,{})}async instantiateAll(e,t){if(!t[e.id]){t[e.id]=!0;const r=await e.dependencyRecords;if(r)for(let e=0;e<r.length;e++){const o=r[e];await this.instantiateAll(o,t)}}}async evaluateModule(e,t){const r=await e.dependencyRecords;r.length>0&&(t[e.id]=!0,await this.evaluateModuleDependencies(r,t));const{exporter:o,dependencies:i}=await e.instantiation,n={},s=i?await Promise.all(i.map((async e=>{if("exports"===e)return n;const t=await this.resolve(e),r=this.moduleRegistry.get(t);if(!r)throw new LoaderError(FAILED_DEP,[t]);const o=r.module;if(!r.evaluated)return this.getCircularDependencyWrapper(o);if(o)return o.__defaultInterop?o.default:o;throw new LoaderError(FAILED_DEP,[t])}))):[];if(e.evaluated)return e.module;let a;try{a=o(...s)}catch(t){throw new LoaderError(EXPORTER_ERROR,[e.id,t.message||t])}void 0!==a?(a={default:a},Object.defineProperty(a,"__defaultInterop",{value:!0})):this.isNamedExportDefaultOnly(n)&&Object.defineProperty(n,"__useDefault",{value:!0});const l=a||n;for(const t in l)Object.defineProperty(e.module,t,{enumerable:!0,set(e){l[t]=e},get:()=>l[t]});return l.__useDefault&&Object.defineProperty(e.module,"__useDefault",{value:!0}),l.__defaultInterop&&Object.defineProperty(e.module,"__defaultInterop",{value:!0}),l.__esModule&&Object.defineProperty(e.module,"__esModule",{value:!0}),e.evaluated=!0,Object.freeze(e.module),e.module}isNamedExportDefaultOnly(e){return void 0!==e&&2===Object.getOwnPropertyNames(e).length&&Object.prototype.hasOwnProperty.call(e,"default")&&Object.prototype.hasOwnProperty.call(e,"__esModule")}getCircularDependencyWrapper(e){const t=()=>e.__useDefault||e.__defaultInterop?e.default:e;return t.__circular__=!0,t}async evaluateModuleDependencies(e,t){for(let r=0;r<e.length;r++){const o=e[r];o.evaluated||t[o.id]||(t[o.id]=!0,await this.evaluateModule(o,t))}}async getModuleDef(e,t){this.lastDefine=void 0;const r=isUrl(e)?t!==e?t:void 0:e;let o=r&&this.namedDefineRegistry.get(r);if(o&&o.external)return o.external.moduleDefPromise;if(o&&o.defined)return o;const i=this.resolver.getBaseUrl(),n=r||t;return this.profiler.logOperationStart({id:MODULE_FETCH,specifier:n}),Promise.resolve().then((async()=>{const t=this.loadHook;if(t)for(let r=0;r<t.length;r++){const o=(0,t[r])(e,i),n=isResponseAPromise(o)?await evaluateLoadHook(e,o):o;if(void 0===n)throw new LoaderError(INVALID_LOADER_SERVICE_RESPONSE);if(n&&null!==n)return evaluateLoadHookResponse(n,e)}return!1})).then((t=>{if(!0!==t&&hasDocument)return loadModuleDef(e)})).then((()=>{if(o=r&&this.namedDefineRegistry.get(r),o||(o=this.lastDefine),!o)throw new LoaderError(FAIL_INSTANTIATE,[e]);return this.profiler.logOperationEnd({id:MODULE_FETCH,specifier:n}),o})).catch((e=>{throw e instanceof LoaderError||this.profiler.logOperationStart({id:MODULE_ERROR,specifier:n}),e}))}addLoaderPlugin(e){if("object"!=typeof e)throw new LoaderError(INVALID_HOOK);const{loadModule:t,resolveModule:r,loadMapping:o}=e;r&&(this.resolveHook?this.resolveHook.push(r):this.resolveHook=[r]),t&&(this.loadHook?this.loadHook.push(t):this.loadHook=[t]),o&&this.resolver.addLoadMappingHook(o)}importMetadataInvalidationCallback({name:e,oldUrl:t,newUrl:r}){const o=this.handleStaleModuleHook;o&&evaluateHandleStaleModuleHooks(o,{name:e,oldUrl:t,newUrl:r})}registerHandleStaleModuleHook(e){this.handleStaleModuleHook?this.handleStaleModuleHook.push(e):this.handleStaleModuleHook=[e]}isValidResolveResponse(e){return null===e||"string"==typeof e||e&&"string"==typeof e.url}}class Loader{constructor(e){let t=e.baseUrl;const r=e.endpoints?e.endpoints.uris.mapping:void 0;let o=e.profiler;if(!r)throw new LoaderError(NO_MAPPING_URL);if(e.endpoints.uris.mapping=r.replace(/\/?$/,"/"),t&&(t=t.replace(/\/?$/,"/")),t||(t=getBaseUrl()),!t)throw new LoaderError(NO_BASE_URL);if(o||(o={logOperationStart:()=>{},logOperationEnd:()=>{}}),this.registry=new ModuleRegistry(Object.freeze({endpoints:e.endpoints,baseUrl:t,profiler:o})),e.appMetadata&&!e.appMetadata.appId){const t=e.appMetadata.bootstrapModule.match(/@lwr-bootstrap\/(.+)\/v\/.+/),r=t&&t[1];e.appMetadata.appId=r}this.services=Object.freeze({addLoaderPlugin:this.registry.addLoaderPlugin.bind(this.registry),handleStaleModule:this.registry.registerHandleStaleModuleHook.bind(this.registry),appMetadata:e.appMetadata,serverData:e.serverData||{}})}define(e,t,r){invariant("string"==typeof e,MISSING_NAME);let o=r,i=t;"function"==typeof i&&(o=t,i=[]),invariant(Array.isArray(i),INVALID_DEPS),this.registry.define(e,i,o)}async load(e,t){return this.registry.load(e,t)}has(e){return this.registry.has(e)}async resolve(e,t){return this.registry.resolve(e,t)}async registerImportMappings(e,t){this.registry.getImportMetadataResolver().registerImportMappings(e,t)}registerExternalModules(e){this.registry.registerExternalModules(e)}}exports.Loader=Loader,Object.defineProperty(exports,"__esModule",{value:!0})}));
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR Module Loader Shim v0.12.0-alpha.8 */
7
+ /* LWR Module Loader Shim v0.12.0 */
8
8
  (function () {
9
9
  'use strict';
10
10
 
@@ -205,7 +205,7 @@
205
205
  // Parse configuration
206
206
  this.global = global;
207
207
  this.config = global.LWR ;
208
- this.loaderSpecifier = 'lwr/loader/v/0_12_0-alpha_8';
208
+ this.loaderSpecifier = 'lwr/loader/v/0_12_0';
209
209
 
210
210
  // Set up error handler
211
211
  this.errorHandler = this.config.onError;
@@ -326,7 +326,7 @@
326
326
  const exporter = (exports) => {
327
327
  Object.assign(exports, { logOperationStart, logOperationEnd });
328
328
  };
329
- globalLWR.define('lwr/profiler/v/0_12_0-alpha_8', ['exports'], exporter);
329
+ globalLWR.define('lwr/profiler/v/0_12_0', ['exports'], exporter);
330
330
  }
331
331
 
332
332
  // Set up the application globals, import map, root custom element...
@@ -343,6 +343,7 @@
343
343
  endpoints,
344
344
  imports: imports || {},
345
345
  index: index || {},
346
+ env: this.global.LWR.env,
346
347
  });
347
348
 
348
349
  // Redefine all modules in the temporary cache
@@ -398,8 +399,8 @@
398
399
  // The loader module is ALWAYS required
399
400
  const GLOBAL = globalThis ;
400
401
  GLOBAL.LWR.requiredModules = GLOBAL.LWR.requiredModules || [];
401
- if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_12_0-alpha_8') < 0) {
402
- GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_12_0-alpha_8');
402
+ if (GLOBAL.LWR.requiredModules.indexOf('lwr/loader/v/0_12_0') < 0) {
403
+ GLOBAL.LWR.requiredModules.push('lwr/loader/v/0_12_0');
403
404
  }
404
405
  new LoaderShim(GLOBAL);
405
406
 
@@ -53,12 +53,12 @@ var ModuleRegistry = class {
53
53
  metadata
54
54
  });
55
55
  const resolvedId = await this.resolve(id, importer);
56
- const moduleRecord = this.getModuleRecord(resolvedId, id);
56
+ const moduleRecord = await this.getModuleRecord(resolvedId, id);
57
57
  if (moduleRecord.evaluated) {
58
58
  return moduleRecord.module;
59
59
  } else {
60
60
  if (!moduleRecord.evaluationPromise) {
61
- moduleRecord.evaluationPromise = this.evaluateModule(moduleRecord, {});
61
+ moduleRecord.evaluationPromise = this.topLevelEvaluation(moduleRecord);
62
62
  }
63
63
  return moduleRecord.evaluationPromise;
64
64
  }
@@ -76,7 +76,7 @@ var ModuleRegistry = class {
76
76
  if (response || response === null) {
77
77
  result = (0, import_resolveAndLoadHook.isResponseAPromise)(response) ? await response : response;
78
78
  }
79
- if (!isValidResolveResponse(result)) {
79
+ if (!this.isValidResolveResponse(result)) {
80
80
  throw new import_messages.LoaderError(import_messages.INVALID_LOADER_SERVICE_RESPONSE);
81
81
  }
82
82
  if (result !== null) {
@@ -211,21 +211,34 @@ var ModuleRegistry = class {
211
211
  }
212
212
  return moduleRecord;
213
213
  }
214
- getModuleRecord(resolvedId, id) {
214
+ async getModuleRecord(resolvedId, id) {
215
215
  const existingRecord = this.getExistingModuleRecord(resolvedId, id);
216
216
  if (existingRecord) {
217
217
  return existingRecord;
218
218
  }
219
+ const instantiation = this.getModuleDef(resolvedId, id);
220
+ const dependencyRecords = instantiation.then((moduleDef) => {
221
+ const dependencies = moduleDef.dependencies || [];
222
+ const filtered = dependencies.map((dep) => {
223
+ if (dep === "exports") {
224
+ return;
225
+ }
226
+ (0, import_messages.invariant)(dep !== "require", import_messages.NO_AMD_REQUIRE);
227
+ return this.getModuleDependencyRecord.call(this, dep);
228
+ }).filter((depRecord) => depRecord !== void 0);
229
+ return Promise.all(filtered);
230
+ });
219
231
  const newModuleRecord = {
220
232
  id: resolvedId,
221
233
  module: Object.create(null),
222
- instantiation: this.getModuleDef(resolvedId, id),
234
+ dependencyRecords,
235
+ instantiation,
223
236
  evaluated: false,
224
237
  evaluationPromise: null
225
238
  };
226
239
  this.moduleRegistry.set(resolvedId, newModuleRecord);
227
240
  this.storeModuleAlias(id, resolvedId);
228
- return newModuleRecord;
241
+ return dependencyRecords.then(() => newModuleRecord);
229
242
  }
230
243
  storeModuleAlias(aliasId, resolvedId) {
231
244
  if (aliasId !== resolvedId) {
@@ -241,60 +254,66 @@ var ModuleRegistry = class {
241
254
  }
242
255
  }
243
256
  }
244
- async evaluateDependencies(dependencies, evaluationMap) {
245
- const exports2 = {};
246
- const promiseArray = [];
247
- if (dependencies) {
248
- for (const dep of dependencies) {
249
- if (dep === "exports") {
250
- promiseArray.push(Promise.resolve(exports2));
251
- } else {
252
- (0, import_messages.invariant)(dep !== "require", import_messages.NO_AMD_REQUIRE);
253
- promiseArray.push(this.evaluateDependent(dep, evaluationMap));
257
+ async getModuleDependencyRecord(dependency) {
258
+ const resolvedDepId = await this.resolve(dependency);
259
+ return this.getModuleRecord(resolvedDepId, dependency);
260
+ }
261
+ async topLevelEvaluation(moduleRecord) {
262
+ await this.instantiateAll(moduleRecord, {});
263
+ return this.evaluateModule(moduleRecord, {});
264
+ }
265
+ async instantiateAll(moduleRecord, instantiatedMap) {
266
+ if (!instantiatedMap[moduleRecord.id]) {
267
+ instantiatedMap[moduleRecord.id] = true;
268
+ const dependencyModuleRecords = await moduleRecord.dependencyRecords;
269
+ if (dependencyModuleRecords) {
270
+ for (let i = 0; i < dependencyModuleRecords.length; i++) {
271
+ const depRecord = dependencyModuleRecords[i];
272
+ await this.instantiateAll(depRecord, instantiatedMap);
254
273
  }
255
274
  }
256
275
  }
257
- return Promise.all(promiseArray).then((results) => {
258
- const depsMapped = results.filter((result) => result !== void 0);
259
- return {depsMapped, exports: exports2};
260
- });
261
276
  }
262
- async evaluateDependent(dep, evaluationMap) {
263
- const resolvedDepId = await this.resolve(dep);
264
- const depModuleRecord = this.getModuleRecord(resolvedDepId, dep);
265
- let module2 = depModuleRecord.module;
266
- const handleReturn = (module3) => {
267
- if (module3) {
268
- return module3.__defaultInterop ? module3.default : module3;
277
+ async evaluateModule(moduleRecord, evaluationMap) {
278
+ const dependencyModuleRecords = await moduleRecord.dependencyRecords;
279
+ if (dependencyModuleRecords.length > 0) {
280
+ evaluationMap[moduleRecord.id] = true;
281
+ await this.evaluateModuleDependencies(dependencyModuleRecords, evaluationMap);
282
+ }
283
+ const {exporter, dependencies} = await moduleRecord.instantiation;
284
+ const exports2 = {};
285
+ const depsMapped = dependencies ? await Promise.all(dependencies.map(async (dep) => {
286
+ if (dep === "exports") {
287
+ return exports2;
288
+ }
289
+ const resolvedDepId = await this.resolve(dep);
290
+ const moduleRecord2 = this.moduleRegistry.get(resolvedDepId);
291
+ if (!moduleRecord2) {
292
+ throw new import_messages.LoaderError(import_messages.FAILED_DEP, [resolvedDepId]);
293
+ }
294
+ const module2 = moduleRecord2.module;
295
+ if (!moduleRecord2.evaluated) {
296
+ return this.getCircularDependencyWrapper(module2);
297
+ }
298
+ if (module2) {
299
+ return module2.__defaultInterop ? module2.default : module2;
269
300
  }
270
301
  throw new import_messages.LoaderError(import_messages.FAILED_DEP, [resolvedDepId]);
271
- };
272
- if (depModuleRecord.evaluated) {
273
- return handleReturn(module2);
302
+ })) : [];
303
+ if (moduleRecord.evaluated) {
304
+ return moduleRecord.module;
274
305
  }
275
- if (!evaluationMap[depModuleRecord.id]) {
276
- if (!depModuleRecord.evaluationPromise) {
277
- depModuleRecord.evaluationPromise = this.evaluateModule(depModuleRecord, evaluationMap);
278
- }
279
- return depModuleRecord.evaluationPromise.then((module3) => {
280
- return handleReturn(module3);
281
- });
282
- } else {
283
- module2 = getCircularDependencyWrapper(module2);
306
+ let moduleDefault;
307
+ try {
308
+ moduleDefault = exporter(...depsMapped);
309
+ } catch (e) {
310
+ throw new import_messages.LoaderError(import_messages.EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
284
311
  }
285
- return handleReturn(module2);
286
- }
287
- async evaluateModule(moduleRecord, evaluationMap) {
288
- const chainMap = {...evaluationMap};
289
- chainMap[moduleRecord.id] = true;
290
- const {exporter, dependencies} = await moduleRecord.instantiation;
291
- const {depsMapped, exports: exports2} = await this.evaluateDependencies(dependencies, chainMap);
292
- let moduleDefault = this.evaluateModuleCode(exporter, depsMapped, moduleRecord);
293
312
  if (moduleDefault !== void 0) {
294
313
  moduleDefault = {default: moduleDefault};
295
314
  Object.defineProperty(moduleDefault, "__defaultInterop", {value: true});
296
315
  } else {
297
- if (isNamedExportDefaultOnly(exports2)) {
316
+ if (this.isNamedExportDefaultOnly(exports2)) {
298
317
  Object.defineProperty(exports2, "__useDefault", {value: true});
299
318
  }
300
319
  }
@@ -319,16 +338,27 @@ var ModuleRegistry = class {
319
338
  if (moduleExports.__esModule) {
320
339
  Object.defineProperty(moduleRecord.module, "__esModule", {value: true});
321
340
  }
322
- Object.freeze(moduleRecord.module);
323
341
  moduleRecord.evaluated = true;
324
- moduleRecord.evaluationPromise = null;
342
+ Object.freeze(moduleRecord.module);
325
343
  return moduleRecord.module;
326
344
  }
327
- evaluateModuleCode(evaluatedExporter, depsMapped, moduleRecord) {
328
- try {
329
- return evaluatedExporter(...depsMapped);
330
- } catch (e) {
331
- throw new import_messages.LoaderError(import_messages.EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
345
+ isNamedExportDefaultOnly(exports2) {
346
+ return exports2 !== void 0 && Object.getOwnPropertyNames(exports2).length === 2 && Object.prototype.hasOwnProperty.call(exports2, "default") && Object.prototype.hasOwnProperty.call(exports2, "__esModule");
347
+ }
348
+ getCircularDependencyWrapper(module2) {
349
+ const tmp = () => {
350
+ return module2.__useDefault || module2.__defaultInterop ? module2.default : module2;
351
+ };
352
+ tmp.__circular__ = true;
353
+ return tmp;
354
+ }
355
+ async evaluateModuleDependencies(dependencyModuleRecords, evaluationMap) {
356
+ for (let i = 0; i < dependencyModuleRecords.length; i++) {
357
+ const depRecord = dependencyModuleRecords[i];
358
+ if (!depRecord.evaluated && !evaluationMap[depRecord.id]) {
359
+ evaluationMap[depRecord.id] = true;
360
+ await this.evaluateModule(depRecord, evaluationMap);
361
+ }
332
362
  }
333
363
  }
334
364
  async getModuleDef(resolvedId, originalId) {
@@ -425,17 +455,7 @@ var ModuleRegistry = class {
425
455
  this.handleStaleModuleHook = [handleStaleModule];
426
456
  }
427
457
  }
458
+ isValidResolveResponse(res) {
459
+ return res === null || typeof res === "string" || res && typeof res.url === "string";
460
+ }
428
461
  };
429
- function isNamedExportDefaultOnly(exports2) {
430
- return exports2 !== void 0 && Object.getOwnPropertyNames(exports2).length === 2 && Object.prototype.hasOwnProperty.call(exports2, "default") && Object.prototype.hasOwnProperty.call(exports2, "__esModule");
431
- }
432
- function getCircularDependencyWrapper(module2) {
433
- const tmp = () => {
434
- return module2.__useDefault || module2.__defaultInterop ? module2.default : module2;
435
- };
436
- tmp.__circular__ = true;
437
- return tmp;
438
- }
439
- function isValidResolveResponse(res) {
440
- return res === null || typeof res === "string" || res && typeof res.url === "string";
441
- }
@@ -53,12 +53,12 @@ var ModuleRegistry = class {
53
53
  metadata
54
54
  });
55
55
  const resolvedId = await this.resolve(id, importer);
56
- const moduleRecord = this.getModuleRecord(resolvedId, id);
56
+ const moduleRecord = await this.getModuleRecord(resolvedId, id);
57
57
  if (moduleRecord.evaluated) {
58
58
  return moduleRecord.module;
59
59
  } else {
60
60
  if (!moduleRecord.evaluationPromise) {
61
- moduleRecord.evaluationPromise = this.evaluateModule(moduleRecord, {});
61
+ moduleRecord.evaluationPromise = this.topLevelEvaluation(moduleRecord);
62
62
  }
63
63
  return moduleRecord.evaluationPromise;
64
64
  }
@@ -77,7 +77,7 @@ var ModuleRegistry = class {
77
77
  if (response || response === null) {
78
78
  result = (0, import_resolveAndLoadHook.isResponseAPromise)(response) ? await response : response;
79
79
  }
80
- if (!isValidResolveResponse(result)) {
80
+ if (!this.isValidResolveResponse(result)) {
81
81
  throw new import_messages.LoaderError(import_messages.INVALID_LOADER_SERVICE_RESPONSE);
82
82
  }
83
83
  if (result !== null) {
@@ -243,21 +243,34 @@ var ModuleRegistry = class {
243
243
  }
244
244
  return moduleRecord;
245
245
  }
246
- getModuleRecord(resolvedId, id) {
246
+ async getModuleRecord(resolvedId, id) {
247
247
  const existingRecord = this.getExistingModuleRecord(resolvedId, id);
248
248
  if (existingRecord) {
249
249
  return existingRecord;
250
250
  }
251
+ const instantiation = this.getModuleDef(resolvedId, id);
252
+ const dependencyRecords = instantiation.then((moduleDef) => {
253
+ const dependencies = moduleDef && moduleDef.dependencies || [];
254
+ const filtered = dependencies.map((dep) => {
255
+ if (dep === "exports") {
256
+ return;
257
+ }
258
+ (0, import_messages.invariant)(dep !== "require", import_messages.NO_AMD_REQUIRE);
259
+ return this.getModuleDependencyRecord.call(this, dep);
260
+ }).filter((depRecord) => depRecord !== void 0);
261
+ return Promise.all(filtered);
262
+ });
251
263
  const newModuleRecord = {
252
264
  id: resolvedId,
253
265
  module: Object.create(null),
254
- instantiation: this.getModuleDef(resolvedId, id),
266
+ dependencyRecords,
267
+ instantiation,
255
268
  evaluated: false,
256
269
  evaluationPromise: null
257
270
  };
258
271
  this.moduleRegistry.set(resolvedId, newModuleRecord);
259
272
  this.storeModuleAlias(id, resolvedId);
260
- return newModuleRecord;
273
+ return dependencyRecords.then(() => newModuleRecord);
261
274
  }
262
275
  storeModuleAlias(aliasId, resolvedId) {
263
276
  if (aliasId !== resolvedId) {
@@ -273,60 +286,66 @@ var ModuleRegistry = class {
273
286
  }
274
287
  }
275
288
  }
276
- async evaluateDependencies(dependencies, evaluationMap) {
277
- const exports2 = {};
278
- const promiseArray = [];
279
- if (dependencies) {
280
- for (const dep of dependencies) {
281
- if (dep === "exports") {
282
- promiseArray.push(Promise.resolve(exports2));
283
- } else {
284
- (0, import_messages.invariant)(dep !== "require", import_messages.NO_AMD_REQUIRE);
285
- promiseArray.push(this.evaluateDependent(dep, evaluationMap));
289
+ async getModuleDependencyRecord(dependency) {
290
+ const resolvedDepId = await this.resolve(dependency);
291
+ return this.getModuleRecord(resolvedDepId, dependency);
292
+ }
293
+ async topLevelEvaluation(moduleRecord) {
294
+ await this.instantiateAll(moduleRecord, {});
295
+ return this.evaluateModule(moduleRecord, {});
296
+ }
297
+ async instantiateAll(moduleRecord, instantiatedMap) {
298
+ if (!instantiatedMap[moduleRecord.id]) {
299
+ instantiatedMap[moduleRecord.id] = true;
300
+ const dependencyModuleRecords = await moduleRecord.dependencyRecords;
301
+ if (dependencyModuleRecords) {
302
+ for (let i = 0; i < dependencyModuleRecords.length; i++) {
303
+ const depRecord = dependencyModuleRecords[i];
304
+ await this.instantiateAll(depRecord, instantiatedMap);
286
305
  }
287
306
  }
288
307
  }
289
- return Promise.all(promiseArray).then((results) => {
290
- const depsMapped = results.filter((result) => result !== void 0);
291
- return {depsMapped, exports: exports2};
292
- });
293
308
  }
294
- async evaluateDependent(dep, evaluationMap) {
295
- const resolvedDepId = await this.resolve(dep);
296
- const depModuleRecord = this.getModuleRecord(resolvedDepId, dep);
297
- let module2 = depModuleRecord.module;
298
- const handleReturn = (module3) => {
299
- if (module3) {
300
- return module3.__defaultInterop ? module3.default : module3;
309
+ async evaluateModule(moduleRecord, evaluationMap) {
310
+ const dependencyModuleRecords = await moduleRecord.dependencyRecords;
311
+ if (dependencyModuleRecords.length > 0) {
312
+ evaluationMap[moduleRecord.id] = true;
313
+ await this.evaluateModuleDependencies(dependencyModuleRecords, evaluationMap);
314
+ }
315
+ const {exporter, dependencies} = await moduleRecord.instantiation;
316
+ const exports2 = {};
317
+ const depsMapped = dependencies ? await Promise.all(dependencies.map(async (dep) => {
318
+ if (dep === "exports") {
319
+ return exports2;
320
+ }
321
+ const resolvedDepId = await this.resolve(dep);
322
+ const moduleRecord2 = this.moduleRegistry.get(resolvedDepId);
323
+ if (!moduleRecord2) {
324
+ throw new import_messages.LoaderError(import_messages.FAILED_DEP, [resolvedDepId]);
325
+ }
326
+ const module2 = moduleRecord2.module;
327
+ if (!moduleRecord2.evaluated) {
328
+ return this.getCircularDependencyWrapper(module2);
329
+ }
330
+ if (module2) {
331
+ return module2.__defaultInterop ? module2.default : module2;
301
332
  }
302
333
  throw new import_messages.LoaderError(import_messages.FAILED_DEP, [resolvedDepId]);
303
- };
304
- if (depModuleRecord.evaluated) {
305
- return handleReturn(module2);
334
+ })) : [];
335
+ if (moduleRecord.evaluated) {
336
+ return moduleRecord.module;
306
337
  }
307
- if (!evaluationMap[depModuleRecord.id]) {
308
- if (!depModuleRecord.evaluationPromise) {
309
- depModuleRecord.evaluationPromise = this.evaluateModule(depModuleRecord, evaluationMap);
310
- }
311
- return depModuleRecord.evaluationPromise.then((module3) => {
312
- return handleReturn(module3);
313
- });
314
- } else {
315
- module2 = getCircularDependencyWrapper(module2);
338
+ let moduleDefault;
339
+ try {
340
+ moduleDefault = exporter(...depsMapped);
341
+ } catch (e) {
342
+ throw new import_messages.LoaderError(import_messages.EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
316
343
  }
317
- return handleReturn(module2);
318
- }
319
- async evaluateModule(moduleRecord, evaluationMap) {
320
- const chainMap = {...evaluationMap};
321
- chainMap[moduleRecord.id] = true;
322
- const {exporter, dependencies} = await moduleRecord.instantiation;
323
- const {depsMapped, exports: exports2} = await this.evaluateDependencies(dependencies, chainMap);
324
- let moduleDefault = this.evaluateModuleCode(exporter, depsMapped, moduleRecord);
325
344
  if (moduleDefault !== void 0) {
326
345
  moduleDefault = {default: moduleDefault};
327
346
  Object.defineProperty(moduleDefault, "__defaultInterop", {value: true});
328
347
  } else {
329
- if (isNamedExportDefaultOnly(exports2)) {
348
+ if (this.isNamedExportDefaultOnly(exports2)) {
330
349
  Object.defineProperty(exports2, "__useDefault", {value: true});
331
350
  }
332
351
  }
@@ -351,16 +370,27 @@ var ModuleRegistry = class {
351
370
  if (moduleExports.__esModule) {
352
371
  Object.defineProperty(moduleRecord.module, "__esModule", {value: true});
353
372
  }
354
- Object.freeze(moduleRecord.module);
355
373
  moduleRecord.evaluated = true;
356
- moduleRecord.evaluationPromise = null;
374
+ Object.freeze(moduleRecord.module);
357
375
  return moduleRecord.module;
358
376
  }
359
- evaluateModuleCode(evaluatedExporter, depsMapped, moduleRecord) {
360
- try {
361
- return evaluatedExporter(...depsMapped);
362
- } catch (e) {
363
- throw new import_messages.LoaderError(import_messages.EXPORTER_ERROR, [moduleRecord.id, e.message || e]);
377
+ isNamedExportDefaultOnly(exports2) {
378
+ return exports2 !== void 0 && Object.getOwnPropertyNames(exports2).length === 2 && Object.prototype.hasOwnProperty.call(exports2, "default") && Object.prototype.hasOwnProperty.call(exports2, "__esModule");
379
+ }
380
+ getCircularDependencyWrapper(module2) {
381
+ const tmp = () => {
382
+ return module2.__useDefault || module2.__defaultInterop ? module2.default : module2;
383
+ };
384
+ tmp.__circular__ = true;
385
+ return tmp;
386
+ }
387
+ async evaluateModuleDependencies(dependencyModuleRecords, evaluationMap) {
388
+ for (let i = 0; i < dependencyModuleRecords.length; i++) {
389
+ const depRecord = dependencyModuleRecords[i];
390
+ if (!depRecord.evaluated && !evaluationMap[depRecord.id]) {
391
+ evaluationMap[depRecord.id] = true;
392
+ await this.evaluateModule(depRecord, evaluationMap);
393
+ }
364
394
  }
365
395
  }
366
396
  async getModuleDef(resolvedId, originalId) {
@@ -440,17 +470,7 @@ var ModuleRegistry = class {
440
470
  this.handleStaleModuleHook = [handleStaleModule];
441
471
  }
442
472
  }
473
+ isValidResolveResponse(res) {
474
+ return res === null || typeof res === "string" || res && typeof res.url === "string";
475
+ }
443
476
  };
444
- function isValidResolveResponse(res) {
445
- return res === null || typeof res === "string" || res && typeof res.url === "string";
446
- }
447
- function isNamedExportDefaultOnly(exports2) {
448
- return exports2 !== void 0 && Object.getOwnPropertyNames(exports2).length === 2 && Object.prototype.hasOwnProperty.call(exports2, "default") && Object.prototype.hasOwnProperty.call(exports2, "__esModule");
449
- }
450
- function getCircularDependencyWrapper(module2) {
451
- const tmp = () => {
452
- return module2.__useDefault || module2.__defaultInterop ? module2.default : module2;
453
- };
454
- tmp.__circular__ = true;
455
- return tmp;
456
- }
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
6
6
  */
7
- /* LWR ESM Module Loader v0.12.0-alpha.8 */
7
+ /* LWR ESM Module Loader v0.12.0 */
8
8
  function _optionalChain$1(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
9
9
 
10
10