// Generated by CoffeeScript 1.8.0 var Program, SequenceNumber, SequenceNumberMax, fs, log, path, utils, __hasProp = {}.hasOwnProperty; fs = require('fs'); path = require('path'); utils = exports; utils.Program = Program = path.basename(process.argv[1]); SequenceNumberMax = 100 * 1024 * 1024; SequenceNumber = 0; utils.getNextSequenceNumber = function(g) { SequenceNumber++; if (SequenceNumber > SequenceNumberMax) { SequenceNumber = 0; } return SequenceNumber; }; utils.trim = function(string) { return string.replace(/(^\s+)|(\s+$)/g, ''); }; utils.log = log = function(message) { var date, time; date = new Date(); time = date.toISOString(); return console.log("" + time + " " + Program + ": " + message); }; utils.logVerbose = function(message) { var _ref; if (!(utils != null ? (_ref = utils.options) != null ? _ref.verbose : void 0 : void 0)) { return; } return log(message); }; utils.logDebug = function(message) { var _ref; if (!(utils != null ? (_ref = utils.options) != null ? _ref.debug : void 0 : void 0)) { return; } return log(message); }; utils.exit = function(message) { log(message); return process.exit(1); }; utils.pitch = function(message) { log(message); throw message; }; utils.setOptions = function(options) { return utils.options = options; }; utils.ensureInteger = function(value, message) { var newValue; newValue = parseInt(value); if (isNaN(newValue)) { utils.exit("" + message + ": '" + value + "'"); } return newValue; }; utils.ensureString = function(value, message) { if (typeof value !== 'string') { utils.exit("" + message + ": '" + value + "'"); } return value; }; utils.ensureBoolean = function(value, message) { var newValue, uValue; uValue = value.toString().toUpperCase(); newValue = null; switch (uValue) { case 'TRUE': newValue = true; break; case 'FALSE': newValue = false; } if (typeof newValue !== 'boolean') { utils.exit("" + message + ": '" + value + "'"); } return newValue; }; utils.setNamesForClass = function(aClass) { var key, val, _ref, _results; for (key in aClass) { if (!__hasProp.call(aClass, key)) continue; val = aClass[key]; if (typeof val === "function") { val.signature = "" + aClass.name + "::" + key; val.displayName = val.signature; val.name = val.signature; } } _ref = aClass.prototype; _results = []; for (key in _ref) { if (!__hasProp.call(_ref, key)) continue; val = _ref[key]; if (typeof val === "function") { val.signature = "" + aClass.name + "." + key; val.displayName = val.signature; _results.push(val.name = val.signature); } else { _results.push(void 0); } } return _results; }; utils.registerClass = function(aClass) { utils.setNamesForClass(aClass); return aClass; }; utils.alignLeft = function(string, length) { while (string.length < length) { string = "" + string + " "; } return string; }; utils.alignRight = function(string, length) { while (string.length < length) { string = " " + string; } return string; }; utils.fileExistsSync = function(name) { if (fs.existsSync) { return fs.existsSync(name); } return path.existsSync(name); }; Error.prepareStackTrace = function(error, structuredStackTrace) { var callSite, file, func, funcName, line, longestFile, longestLine, result, _i, _j, _len, _len1; result = []; result.push("---------------------------------------------------------"); result.push("error: " + error); result.push("---------------------------------------------------------"); result.push("stack: "); longestFile = 0; longestLine = 0; for (_i = 0, _len = structuredStackTrace.length; _i < _len; _i++) { callSite = structuredStackTrace[_i]; file = callSite.getFileName(); line = callSite.getLineNumber(); file = path.basename(file); line = "" + line; if (file.length > longestFile) { longestFile = file.length; } if (line.length > longestLine) { longestLine = line.length; } } for (_j = 0, _len1 = structuredStackTrace.length; _j < _len1; _j++) { callSite = structuredStackTrace[_j]; func = callSite.getFunction(); file = callSite.getFileName(); line = callSite.getLineNumber(); file = path.basename(file); line = "" + line; file = utils.alignRight(file, longestFile); line = utils.alignLeft(line, longestLine); funcName = func.displayName || func.name || callSite.getFunctionName(); callSite.getMethodName(); '???'; if (funcName === "Module._compile") { result.pop(); result.pop(); break; } result.push(" " + file + ":" + line + " - " + funcName + "()"); } return result.join("\n"); };