diff options
Diffstat (limited to 'deps/npm/node_modules/colors/lib/extendStringPrototype.js')
-rw-r--r-- | deps/npm/node_modules/colors/lib/extendStringPrototype.js | 91 |
1 files changed, 44 insertions, 47 deletions
diff --git a/deps/npm/node_modules/colors/lib/extendStringPrototype.js b/deps/npm/node_modules/colors/lib/extendStringPrototype.js index 67374a1c22..46fd386a91 100644 --- a/deps/npm/node_modules/colors/lib/extendStringPrototype.js +++ b/deps/npm/node_modules/colors/lib/extendStringPrototype.js @@ -1,51 +1,42 @@ var colors = require('./colors'); -module['exports'] = function () { - +module['exports'] = function() { // // Extends prototype of native string object to allow for "foo".red syntax // - var addProperty = function (color, func) { + var addProperty = function(color, func) { String.prototype.__defineGetter__(color, func); }; - var sequencer = function sequencer (map, str) { - return function () { - var exploded = this.split(""), i = 0; - exploded = exploded.map(map); - return exploded.join(""); - } - }; - - addProperty('strip', function () { + addProperty('strip', function() { return colors.strip(this); }); - addProperty('stripColors', function () { + addProperty('stripColors', function() { return colors.strip(this); }); - addProperty("trap", function(){ + addProperty('trap', function() { return colors.trap(this); }); - addProperty("zalgo", function(){ + addProperty('zalgo', function() { return colors.zalgo(this); }); - addProperty("zebra", function(){ + addProperty('zebra', function() { return colors.zebra(this); }); - addProperty("rainbow", function(){ + addProperty('rainbow', function() { return colors.rainbow(this); }); - addProperty("random", function(){ + addProperty('random', function() { return colors.random(this); }); - addProperty("america", function(){ + addProperty('america', function() { return colors.america(this); }); @@ -53,8 +44,8 @@ module['exports'] = function () { // Iterate through all default styles and colors // var x = Object.keys(colors.styles); - x.forEach(function (style) { - addProperty(style, function () { + x.forEach(function(style) { + addProperty(style, function() { return colors.stylize(this, style); }); }); @@ -65,49 +56,55 @@ module['exports'] = function () { // on String that you should not overwrite. // var stringPrototypeBlacklist = [ - '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__', 'charAt', 'constructor', - 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf', 'charCodeAt', - 'indexOf', 'lastIndexof', 'length', 'localeCompare', 'match', 'replace', 'search', 'slice', 'split', 'substring', - 'toLocaleLowerCase', 'toLocaleUpperCase', 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight' + '__defineGetter__', '__defineSetter__', '__lookupGetter__', + '__lookupSetter__', 'charAt', 'constructor', 'hasOwnProperty', + 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', + 'valueOf', 'charCodeAt', 'indexOf', 'lastIndexOf', 'length', + 'localeCompare', 'match', 'repeat', 'replace', 'search', 'slice', + 'split', 'substring', 'toLocaleLowerCase', 'toLocaleUpperCase', + 'toLowerCase', 'toUpperCase', 'trim', 'trimLeft', 'trimRight', ]; - Object.keys(theme).forEach(function (prop) { + Object.keys(theme).forEach(function(prop) { if (stringPrototypeBlacklist.indexOf(prop) !== -1) { - console.log('warn: '.red + ('String.prototype' + prop).magenta + ' is probably something you don\'t want to override. Ignoring style name'); - } - else { + console.log('warn: '.red + ('String.prototype' + prop).magenta + + ' is probably something you don\'t want to override. ' + + 'Ignoring style name'); + } else { if (typeof(theme[prop]) === 'string') { colors[prop] = colors[theme[prop]]; - addProperty(prop, function () { - return colors[theme[prop]](this); + addProperty(prop, function() { + return colors[prop](this); }); - } - else { - addProperty(prop, function () { - var ret = this; + } else { + var themePropApplicator = function(str) { + var ret = str || this; for (var t = 0; t < theme[prop].length; t++) { ret = colors[theme[prop][t]](ret); } return ret; - }); + }; + addProperty(prop, themePropApplicator); + colors[prop] = function(str) { + return themePropApplicator(str); + }; } } }); } - colors.setTheme = function (theme) { + colors.setTheme = function(theme) { if (typeof theme === 'string') { - try { - colors.themes[theme] = require(theme); - applyTheme(colors.themes[theme]); - return colors.themes[theme]; - } catch (err) { - console.log(err); - return err; - } + console.log('colors.setTheme now only accepts an object, not a string. ' + + 'If you are trying to set a theme from a file, it is now your (the ' + + 'caller\'s) responsibility to require the file. The old syntax ' + + 'looked like colors.setTheme(__dirname + ' + + '\'/../themes/generic-logging.js\'); The new syntax looks like '+ + 'colors.setTheme(require(__dirname + ' + + '\'/../themes/generic-logging.js\'));'); + return; } else { applyTheme(theme); } }; - -};
\ No newline at end of file +}; |