-
Notifications
You must be signed in to change notification settings - Fork 27
/
node.js
33 lines (33 loc) · 1.16 KB
/
node.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
* @name sandbox
*/
(function (sb) {
/**
* @event async:require-environment-file requests file register using some environment functions non XHR
*
* @param {String} moduleName
* @param {String} module
* @param {Function} callback this callback will be called when module inited
*
* @retuns no
*/
sb.on('preload:require-environment-file', function (moduleName, module, callback) {
require('fs').readFile(moduleName, 'utf8', function (err, module) {
if (err) {
sb.trigger('*:request-error', moduleName);
callback();
return;
}
// check file extension - not content-type
if ((/js$|json$/).test(moduleName)) {
module = sb.trigger('*:wrap-module', moduleName, module, moduleName)[1];
if (!(/json$/).test(moduleName)) {
module = sb.trigger('*:coverage-apply', moduleName, module)[1];
}
module = sb.eval(module);
}
// 4. Then callback it
callback(sb.register(moduleName, module));
});
});
}(sandbox));