Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge remote branch 'upstream/master'

  • Loading branch information...
commit 180a4340d1b7486519d0156171b4c5d6f0631eeb 2 parents b4b81b1 + d62b0f4
@herby herby authored
Showing with 34 additions and 8 deletions.
  1. +34 −8 lib/sys.js
View
42 lib/sys.js
@@ -1,33 +1,39 @@
var events = require('events');
+
exports.print = function () {
for (var i = 0, len = arguments.length; i < len; ++i) {
process.stdout.write(arguments[i]);
}
};
+
exports.puts = function () {
for (var i = 0, len = arguments.length; i < len; ++i) {
process.stdout.write(arguments[i] + '\n');
}
};
+
exports.debug = function (x) {
process.binding('stdio').writeError("DEBUG: " + x + "\n");
};
+
var error = exports.error = function (x) {
for (var i = 0, len = arguments.length; i < len; ++i) {
process.binding('stdio').writeError(arguments[i] + '\n');
}
};
+
/**
* Echos the value of a value. Trys to print the value out
* in the best way possible given the different types.
*
* @param {Object} value The object to print out
- * @param {Boolean} showHidden Flag that shows hidden (not enumerable) properties of objects.
+ * @param {Boolean} showHidden Flag that shows hidden (not enumerable)
+ * properties of objects.
*/
exports.inspect = function (obj, showHidden, depth) {
var seen = [];
@@ -45,7 +51,9 @@ exports.inspect = function (obj, showHidden, depth) {
// Primitive types cannot have properties
switch (typeof value) {
case 'undefined': return 'undefined';
- case 'string': return JSON.stringify(value).replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'");
+ case 'string': return JSON.stringify(value).replace(/'/g, "\\'")
+ .replace(/\\"/g, '"')
+ .replace(/(^"|"$)/g, "'");
case 'number': return '' + value;
case 'boolean': return '' + value;
}
@@ -164,7 +172,9 @@ exports.inspect = function (obj, showHidden, depth) {
name = name.substr(1, name.length-2);
}
else {
- name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'");
+ name = name.replace(/'/g, "\\'")
+ .replace(/\\"/g, '"')
+ .replace(/(^"|"$)/g, "'");
}
}
@@ -181,7 +191,13 @@ exports.inspect = function (obj, showHidden, depth) {
},0);
if (length > 50) {
- output = braces[0] + (base === '' ? '' : base + '\n ') + ' ' + output.join('\n, ') + (numLinesEst > 1 ? '\n' : ' ') + braces[1];
+ output = braces[0]
+ + (base === '' ? '' : base + '\n ')
+ + ' '
+ + output.join('\n, ')
+ + (numLinesEst > 1 ? '\n' : ' ')
+ + braces[1]
+ ;
}
else {
output = braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
@@ -191,11 +207,15 @@ exports.inspect = function (obj, showHidden, depth) {
}
return format(obj, (typeof depth === 'undefined' ? 2 : depth));
};
+
+
function isArray (ar) {
return ar instanceof Array
|| Array.isArray(ar)
|| (ar && ar !== Object.prototype && isArray(ar.__proto__));
}
+
+
function isRegExp (re) {
var s = ""+re;
return re instanceof RegExp // easy case
@@ -207,6 +227,8 @@ function isRegExp (re) {
&& s.charAt(0) === "/"
&& s.substr(-1) === "/";
}
+
+
function isDate (d) {
if (d instanceof Date) return true;
if (typeof d !== "object") return false;
@@ -215,6 +237,7 @@ function isDate (d) {
return JSON.stringify(proto) === JSON.stringify(properties);
}
+
var pWarning;
exports.p = function () {
@@ -227,10 +250,12 @@ exports.p = function () {
}
};
+
function pad (n) {
return n < 10 ? '0' + n.toString(10) : n.toString(10);
}
+
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
// 26 Feb 16:19:34
@@ -242,9 +267,11 @@ function timestamp () {
].join(' ');
}
+
exports.log = function (msg) {
exports.puts(timestamp() + ' - ' + msg.toString());
-}
+};
+
var execWarning;
exports.exec = function () {
@@ -253,7 +280,8 @@ exports.exec = function () {
error(execWarning);
}
return require('child_process').exec.apply(this, arguments);
-}
+};
+
/**
* Inherit the prototype methods from one constructor into another.
@@ -275,5 +303,3 @@ exports.inherits = function (ctor, superCtor) {
ctor.prototype = new tempCtor();
ctor.prototype.constructor = ctor;
};
-
-
Please sign in to comment.
Something went wrong with that request. Please try again.