Skip to content

Commit

Permalink
allow exporting function in mini_require.js
Browse files Browse the repository at this point in the history
  • Loading branch information
nightwing committed Apr 29, 2013
1 parent 846f712 commit 23f9f6f
Showing 1 changed file with 27 additions and 27 deletions.
54 changes: 27 additions & 27 deletions build_support/mini_require.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,13 @@ var _define = function(module, deps, payload) {
if (arguments.length == 2)
payload = deps;

if (!_define.modules)
_define.modules = {};

_define.modules[module] = payload;
if (!_define.modules) {
_define.modules = Object.create(null);
_define.payloads = Object.create(null);
}

_define.payloads[module] = payload;
define.modules[module] = null;
};

/**
Expand Down Expand Up @@ -130,30 +133,27 @@ var lookup = function(parentId, moduleName) {

var module = _define.modules[moduleName];
if (!module) {
return null;
}

if (typeof module === 'function') {
var exports = {};
var mod = {
id: moduleName,
uri: '',
exports: exports,
packaged: true
};

var req = function(module, callback) {
return _require(moduleName, module, callback);
};

var returnValue = module(req, exports, mod);
exports = returnValue || mod.exports;

// cache the resulting module object for next time
_define.modules[moduleName] = exports;
return exports;
module = _define.payloads[moduleName];
if (typeof module === 'function') {
var exports = {};
var mod = {
id: moduleName,
uri: '',
exports: exports,
packaged: true
};

var req = function(module, callback) {
return _require(moduleName, module, callback);
};

var returnValue = module(req, exports, mod);
exports = returnValue || mod.exports;
_define.modules[moduleName] = exports;
delete _define.payloads[moduleName];
}
module = _define.modules[moduleName] = exports;
}

return module;
};

Expand Down

0 comments on commit 23f9f6f

Please sign in to comment.