Loader locate/fetch/translate/instantiate API

John Barton johnjbarton at google.com
Wed Jul 30 09:21:15 PDT 2014

The spec seems inconsistent about the metadata property. The define()
function of Loader accepts options.metadata:
--- ( name, source [ , options ] )


8. Let metadata be GetOption(options, "metadata").
9. ReturnIfAbrupt(metadata).
10. If metadata is undefined then let metadata be
But the import() function does not:
Reflect.Loader.prototype.import ( name [ , options ]
4. Let p be the result of calling LoadModule(loaderRecord, name, options).
..., name, options) Abstract Operation
8 Let metadata be ObjectCreate(%ObjectPrototype%).

That means I can pass .metadata to define() but not import(). I think the
metadata should be passed on both.


On Wed, Jul 30, 2014 at 7:20 AM, Juan Ignacio Dopazo <jdopazo at yahoo-inc.com>

> I don't have an answer, but the "metadata" property of the loadRecord
> object was designed to be the place where you put your own custom metadata
> so that it's persisted across hooks. And it works in es6-module-loader:
> http://jsbin.com/kutey/2/edit?js,output.
> Juan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140730/04cb05c5/attachment-0001.html>

More information about the es-discuss mailing list