( compartmentPrivateFields, moduleAliases, compartment, moduleSpecifier, staticModuleRecord, pendingJobs, moduleLoads, errors, importMeta)
| 7828 | }; |
| 7829 | |
| 7830 | const loadRecord= ( |
| 7831 | compartmentPrivateFields, |
| 7832 | moduleAliases, |
| 7833 | compartment, |
| 7834 | moduleSpecifier, |
| 7835 | staticModuleRecord, |
| 7836 | pendingJobs, |
| 7837 | moduleLoads, |
| 7838 | errors, |
| 7839 | importMeta)=> |
| 7840 | { |
| 7841 | const { resolveHook, moduleRecords}= weakmapGet( |
| 7842 | compartmentPrivateFields, |
| 7843 | compartment); |
| 7844 | |
| 7845 | |
| 7846 | // resolve all imports relative to this referrer module. |
| 7847 | const resolvedImports= resolveAll( |
| 7848 | staticModuleRecord.imports, |
| 7849 | resolveHook, |
| 7850 | moduleSpecifier); |
| 7851 | |
| 7852 | const moduleRecord= freeze({ |
| 7853 | compartment, |
| 7854 | staticModuleRecord, |
| 7855 | moduleSpecifier, |
| 7856 | resolvedImports, |
| 7857 | importMeta}); |
| 7858 | |
| 7859 | |
| 7860 | // Enqueue jobs to load this module's shallow dependencies. |
| 7861 | for( const fullSpecifier of values(resolvedImports)) { |
| 7862 | // Behold: recursion. |
| 7863 | // eslint-disable-next-line no-use-before-define |
| 7864 | const dependencyLoaded= memoizedLoadWithErrorAnnotation( |
| 7865 | compartmentPrivateFields, |
| 7866 | moduleAliases, |
| 7867 | compartment, |
| 7868 | fullSpecifier, |
| 7869 | pendingJobs, |
| 7870 | moduleLoads, |
| 7871 | errors); |
| 7872 | |
| 7873 | setAdd( |
| 7874 | pendingJobs, |
| 7875 | promiseThen(dependencyLoaded, noop, (error)=>{ |
| 7876 | arrayPush(errors, error); |
| 7877 | })); |
| 7878 | |
| 7879 | } |
| 7880 | |
| 7881 | // Memoize. |
| 7882 | mapSet(moduleRecords, moduleSpecifier, moduleRecord); |
| 7883 | return moduleRecord; |
| 7884 | }; |
| 7885 | |
| 7886 | const loadWithoutErrorAnnotation= async( |
| 7887 | compartmentPrivateFields, |
no test coverage detected