| 74 | * Get at functionality ace.define()ed using the function above |
| 75 | */ |
| 76 | var _require = function(parentId, module, callback) { |
| 77 | if (Object.prototype.toString.call(module) === "[object Array]") { |
| 78 | var params = []; |
| 79 | for (var i = 0, l = module.length; i < l; ++i) { |
| 80 | var dep = lookup(parentId, module[i]); |
| 81 | if (!dep && _require.original) |
| 82 | return _require.original.apply(window, arguments); |
| 83 | params.push(dep); |
| 84 | } |
| 85 | if (callback) { |
| 86 | callback.apply(null, params); |
| 87 | } |
| 88 | } |
| 89 | else if (typeof module === 'string') { |
| 90 | var payload = lookup(parentId, module); |
| 91 | if (!payload && _require.original) |
| 92 | return _require.original.apply(window, arguments); |
| 93 | |
| 94 | if (callback) { |
| 95 | callback(); |
| 96 | } |
| 97 | |
| 98 | return payload; |
| 99 | } |
| 100 | else { |
| 101 | if (_require.original) |
| 102 | return _require.original.apply(window, arguments); |
| 103 | } |
| 104 | }; |
| 105 | |
| 106 | var normalizeModule = function(parentId, moduleName) { |
| 107 | // normalize plugin requires |