JS: change how declarations are exported from modules. Change how parts of kotlin.js merged

This commit is contained in:
Alexey Andreev
2016-10-25 12:50:16 +03:00
parent 3d9beb15da
commit f244bbaae3
10 changed files with 1295 additions and 1336 deletions
+25 -20
View File
@@ -1,24 +1,29 @@
var emulatedModules = { kotlin: kotlin };
var module = { exports: {} };
var emulatedModules = { kotlin: kotlin };
var module = { exports: {} };
function require(moduleId) {
return emulatedModules[moduleId];
function require(moduleId) {
return emulatedModules[moduleId];
}
function __beginModule__() {
module.exports = {};
}
function __endModule__(moduleId) {
emulatedModules[moduleId] = module.exports;
}
function define(moduleId, dependencies, body) {
var resolvedDependencies = [];
emulatedModules[moduleId] = {};
for (var i = 0; i < dependencies.length; ++i) {
var dependencyName = dependencies[i];
resolvedDependencies.push(emulatedModules[dependencyName === 'exports' ? moduleId : dependencyName]);
}
function __beginModule__() {
module.exports = {};
var result = body.apply(null, resolvedDependencies);
if (result != null) {
emulatedModules[moduleId] = result;
}
function __endModule__(moduleId) {
emulatedModules[moduleId] = module.exports;
}
function define(moduleId, dependencies, body) {
var resolvedDependencies = [];
for (var i = 0; i < dependencies.length; ++i) {
resolvedDependencies.push(emulatedModules[dependencies[i]]);
}
emulatedModules[moduleId] = body.apply(null, resolvedDependencies);
}
define.amd = {};
}
define.amd = {};