diff --git a/build/index.html b/build/index.html index 68a1f48..493afdb 100644 --- a/build/index.html +++ b/build/index.html @@ -3553,7 +3553,7 @@

13.3.10.1 Runtime Semantics: Evaluation

13.3.10.2 EvaluateImportCall ( specifierExpression, phase )

The abstract operation EvaluateImportCall takes arguments specifierExpression (a Parse Node) and phase (source or evaluation) and returns either a normal completion containing a Promise or a throw completion. It performs the following steps when called:

-
  1. Let referrer be GetActiveScriptOrModule().
  2. If referrer is null, set referrer to the current Realm Record.
  3. Let specifierRef be ? Evaluation of evaluating specifierExpression.
  4. Let specifier be ? GetValue(specifierRef).
  5. Let promiseCapability be ! NewPromiseCapability(%Promise%).
  6. Let moduleRequest be undefined.
  7. If specifier is an Object, then
    1. Set moduleRequest be GetModuleSourceModuleRecord(specifier).
    2. If moduleRequest is not-a-source, then
      1. Perform ! Call(promiseCapability.[[Reject]], undefined, « a newly created TypeError object »).
      2. Return promiseCapability.[[Promise]].
    3. If moduleRequest.[[Realm]] is not equal to the current Realm Record, then
      1. Perform ! Call(promiseCapability.[[Reject]], undefined, « a newly created TypeError object »).
      2. Return promiseCapability.[[Promise]].
  8. Else,
    1. Let specifierString be Completion(ToString(specifier)).
    2. IfAbruptRejectPromise(specifierString, promiseCapability).
    3. Let moduleRequest beSet moduleRequest to a new ModuleRequest Record { [[Specifier]]: specifierString, [[Phase]]: phase }.
  9. Perform HostLoadImportedModule(referrer, moduleRequest, empty, promiseCapability).
  10. Return promiseCapability.[[Promise]].
+
  1. Let referrer be GetActiveScriptOrModule().
  2. If referrer is null, set referrer to the current Realm Record.
  3. Let specifierRef be ? Evaluation of evaluating specifierExpression.
  4. Let specifier be ? GetValue(specifierRef).
  5. Let promiseCapability be ! NewPromiseCapability(%Promise%).
  6. Let moduleRequest be undefined.
  7. If specifier is an Object, then
    1. Set moduleRequest to GetModuleSourceModuleRecord(specifier).
    2. If moduleRequest is not-a-source, then
      1. Perform ! Call(promiseCapability.[[Reject]], undefined, « a newly created TypeError object »).
      2. Return promiseCapability.[[Promise]].
    3. If moduleRequest.[[Realm]] is not equal to the current Realm Record, then
      1. Perform ! Call(promiseCapability.[[Reject]], undefined, « a newly created TypeError object »).
      2. Return promiseCapability.[[Promise]].
  8. Else,
    1. Let specifierString be Completion(ToString(specifier)).
    2. IfAbruptRejectPromise(specifierString, promiseCapability).
    3. Let moduleRequest beSet moduleRequest to a new ModuleRequest Record { [[Specifier]]: specifierString, [[Phase]]: phase }.
  9. Perform HostLoadImportedModule(referrer, moduleRequest, empty, promiseCapability).
  10. Return promiseCapability.[[Promise]].
diff --git a/spec.emu b/spec.emu index d7fd63b..46c7b70 100644 --- a/spec.emu +++ b/spec.emu @@ -851,7 +851,7 @@ contributors: Luca Casonato, Guy Bedford 1. Let _promiseCapability_ be ! NewPromiseCapability(%Promise%). 1. Let _moduleRequest_ be *undefined*. 1. If _specifier_ is an Object, then - 1. Set _moduleRequest_ be GetModuleSourceModuleRecord(_specifier_). + 1. Set _moduleRequest_ to GetModuleSourceModuleRecord(_specifier_). 1. If _moduleRequest_ is ~not-a-source~, then 1. Perform ! Call(_promiseCapability_.[[Reject]], *undefined*, « a newly created *TypeError* object »). 1. Return _promiseCapability_.[[Promise]].