if (!specifier.startsWith('/') && !specifier.startsWith("./"_s) && !specifier.startsWith("../"_s))
returnmakeUnexpected(makeString("Module specifier: "_s, specifier, " does not start with \"/\", \"./\", or \"../\". Referenced from: "_s, base.string()));
if (specifier.startsWith('/')) {
absoluteURL = URL(URL("file://"_s), specifier);
if (absoluteURL.isValid())
return absoluteURL;
}
if (base == URL())
returnmakeUnexpected("Could not determine the base URL for loading."_s);
if (!base.isValid())
returnmakeUnexpected(makeString("Referrering script's url is not valid: "_s, base.string()));
absoluteURL = URL(base, specifier);
if (absoluteURL.isValid())
return absoluteURL;
returnmakeUnexpected(makeString("Could not form valid URL from identifier and base. Tried:"_s, absoluteURL.string()));
if (Identifier::fromString(vm, oldModuleKey) != moduleKey) [[unlikely]]
returnrejectPromise(makeString("The same JSScript was provided for two different identifiers, previously: "_s, oldModuleKey, " and now: "_s, moduleKey.string()));