| 23:08 | <kriskowal> | Food for thought for folks in this room. For ModuleSource instances, XS reflected bindings with a bindings array and the mood in the room currently favors import(), exports(), and reexports() methods that return arrays of import specifiers, names, and import specifiers respectively. A virtual module source would be obliged to provide one or the other, but the XS bindings reflects a detail that is probably important. The evaluation of a virtual module source needs to get a namespace object that reflects the internal names for all the bindings, like import {x as y} from 'z' would have y on the external namespace, and the x property on the internal namespace. This allows for import {x as y} from 'a'; import {x as z} from 'b'. This is a detail that the imports(), exports(), and reexports() expression of bindings can’t express. |