-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enabling Subclassing of Reflect.Loader
(major reorganization)
#65
Conversation
|
||
Well-known intrinsics are built-in objects that are explicitly referenced by the algorithms of this specification and which usually have Realm specific identities. Unless otherwise specified each intrinsic object actually corresponds to a set of similar objects, one per Realm. | ||
|
||
Within this specification a reference such as %name% means the intrinsic object, associated with the current Realm, corresponding to the name. Determination of the current Realm and its intrinsics is described in ES2015, 8.3. The well-known intrinsics are listed in Table X. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Italicize the "meta-variable" name, as in:
"a reference such as %name% means the intrinsic object, associated with the current Realm, corresponding to name."
(But don't italicize concrete names like %Loader% and %LoaderPrototype%.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
@@ -899,13 +1030,11 @@ The browser loader has an extra internal slot: | |||
<li>top-level packages consult \[[Site]]: <code>"jquery"</code>, <code>"ember/data"</code> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
delete this TODO since we're deferring site-packages
Reflect.Loader
Reflect.Loader
(major reorganization)
…e dynamic module record, all the methods are just abstract operations.
|
||
<h4 id="create-module-mutator" aoid="CreateModuleMutator">CreateModuleMutator(module)</h4> | ||
The Reflect.Module constructor is designed to be subclassable. It may be used as the value in an extends clause of a class definition. Subclass constructors that intend to inherit the specified Module behaviour must include a super call to the Reflect.Module constructor to create and initialize the subclass instance with the internal state necessary to support the Reflect.Module.prototype built-in methods. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
change the end of this to "with the internal state necessary to integrated with loaders."
<p> | ||
The site package system serves as a simple coordination mechanism for modest-sized applications, but it does not provide all functionality required of a full-fledged package management system. It is expected that development ecosystems will build around package management tools that deal with requirements outside the scope of this specification, such as version management and allowing multiple versions of a library to coexist with the same name. | ||
</p> | ||
<h4 id="Reflect.Module.prototype.constructor">Reflect.Module.prototype.constructor</h4> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove this -- there should not be a constructor
property on the prototype (it can't have any properties).
Enabling Subclassing of `Reflect.Loader` (major reorganization)
So much amazing work. Thanks @caridy, this is such great progress. <3 |
👍 |
compiled spec from this PR
Changes:
System.loader
is an instance of Browser Loaderfor (let entry of System.loader.registry) {}
)state
andstatePromise
instead of exposing all available internal promises for every past state)