blob: 3262dd51f8190228585e9a5b8edc02145b6bf7de [file] [log] [blame]
/*
* format.js: `util.format` enhancement to allow custom formatting parameters.
*
* (C) 2012, Nodejitsu Inc.
* MIT LICENSE
*
*/
var util = require('util');
exports = module.exports = function(str) {
var formats = [].slice.call(arguments, 1, 3);
if (!(formats[0] instanceof Array && formats[1] instanceof Array) || arguments.length > 3)
return util.format.apply(null, arguments);
var replacements = formats.pop(),
formats = formats.shift();
formats.forEach(function(format, id) {
str = str.replace(new RegExp(format), replacements[id]);
});
return str;
};