From c9e12204a20ab14b57b5811479a1f1a031f12b5b Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Mon, 28 Jun 2010 20:47:12 -0700 Subject: [PATCH] Stub out console.log format strings, info, warn, error --- src/node.js | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/node.js b/src/node.js index ae098fd..9edc514 100644 --- a/src/node.js +++ b/src/node.js @@ -29,10 +29,12 @@ process.assert = function (x, msg) { if (!x) throw new Error(msg || "assertion error"); }; +var writeError = process.binding('stdio').writeError; + var evalcxMsg; process.evalcx = function () { if (!evalcxMsg) { - process.binding('stdio').writeError(evalcxMsg = + writeError(evalcxMsg = "process.evalcx is deprecated. Use Script.runInNewContext instead.\n"); } return process.binding('evals').Script @@ -187,12 +189,36 @@ process.openStdin = function () { }; +// console object + +function format (f) { + var i = 1; + var args = arguments; + return f.replace(/%([sdf])/g, function (x) { + switch (x) { + case '%s': return args[i++]; + case '%d': return args[i++].toString(); + case '%f': return JSON.stringify(args[i++]); + default: + return x; + } + }); +} + global.console = {}; -global.console.log = function (x) { - process.stdout.write(x + '\n'); +global.console.log = function () { + process.stdout.write(format.apply(this, arguments) + '\n'); }; +global.console.info = global.console.log; + +global.console.warn = function () { + writeError(format.apply(this, arguments) + '\n'); +}; + +global.console.error = global.console.warn; + process.exit = function (code) { process.emit("exit"); -- 2.7.4