implemented es6 import utility function (Y.extend(module) === module(Y))

This commit is contained in:
Kevin Jahns
2016-10-07 21:00:17 +02:00
parent f93d7b1e70
commit 08bcdfb008
2 changed files with 31 additions and 7 deletions

View File

@@ -14,14 +14,25 @@ module.exports = Y
Y.requiringModules = requiringModules
Y.extend = function (name, value) {
if (value instanceof Y.utils.CustomTypeDefinition) {
Y[name] = value.parseArguments
if (arguments.length === 2 && typeof name === 'string') {
if (value instanceof Y.utils.CustomTypeDefinition) {
Y[name] = value.parseArguments
} else {
Y[name] = value
}
if (requiringModules[name] != null) {
requiringModules[name].resolve()
delete requiringModules[name]
}
} else {
Y[name] = value
}
if (requiringModules[name] != null) {
requiringModules[name].resolve()
delete requiringModules[name]
for (var i = 0; i < arguments.length; i++) {
var f = arguments[i]
if (typeof f === 'function') {
f(Y)
} else {
throw new Error('Expected function!')
}
}
}
}