Convert all source files to JavaScript

This commit is contained in:
Kevin Sawicki 2016-01-11 18:40:23 -08:00
parent 403870a27e
commit 1f9691ae13
144 changed files with 11211 additions and 7301 deletions

62
atom/common/lib/init.js Normal file
View file

@ -0,0 +1,62 @@
var Module, fs, path, timers, wrapWithActivateUvLoop;
fs = require('fs');
path = require('path');
timers = require('timers');
Module = require('module');
process.atomBinding = function(name) {
var e, error;
try {
return process.binding("atom_" + process.type + "_" + name);
} catch (error) {
e = error;
if (/No such module/.test(e.message)) {
return process.binding("atom_common_" + name);
}
}
};
if (!process.env.ELECTRON_HIDE_INTERNAL_MODULES) {
/* Add common/api/lib to module search paths. */
Module.globalPaths.push(path.resolve(__dirname, '..', 'api', 'lib'));
}
/*
setImmediate and process.nextTick makes use of uv_check and uv_prepare to
run the callbacks, however since we only run uv loop on requests, the
callbacks wouldn't be called until something else activated the uv loop,
which would delay the callbacks for arbitrary long time. So we should
initiatively activate the uv loop once setImmediate and process.nextTick is
called.
*/
wrapWithActivateUvLoop = function(func) {
return function() {
process.activateUvLoop();
return func.apply(this, arguments);
};
};
process.nextTick = wrapWithActivateUvLoop(process.nextTick);
global.setImmediate = wrapWithActivateUvLoop(timers.setImmediate);
global.clearImmediate = timers.clearImmediate;
if (process.type === 'browser') {
/*
setTimeout needs to update the polling timeout of the event loop, when
called under Chromium's event loop the node's event loop won't get a chance
to update the timeout, so we have to force the node's event loop to
recalculate the timeout in browser process.
*/
global.setTimeout = wrapWithActivateUvLoop(timers.setTimeout);
global.setInterval = wrapWithActivateUvLoop(timers.setInterval);
}