* Remove old dependency

* Add string-format dep.
* Convert various strUtil.format() -> String.prototype.format() based system
This commit is contained in:
Bryan Ashby 2015-08-27 16:14:56 -06:00
parent 140990811a
commit ede00f8937
7 changed files with 57 additions and 32 deletions

View file

@ -8,7 +8,6 @@ var miscUtil = require('./misc_util.js');
var database = require('./database.js'); var database = require('./database.js');
var clientConns = require('./client_connections.js'); var clientConns = require('./client_connections.js');
var iconv = require('iconv-lite');
var paths = require('path'); var paths = require('path');
var async = require('async'); var async = require('async');
var util = require('util'); var util = require('util');
@ -98,7 +97,9 @@ function initialize(cb) {
process.exit(); process.exit();
}); });
iconv.extendNodeEncodings(); // Init some extensions
require('iconv-lite').extendNodeEncodings();
require('string-format').extend(String.prototype, require('./string_util.js').stringFormatExtensions);
callback(null); callback(null);
}, },
@ -132,7 +133,7 @@ function initialize(cb) {
userId : 1, userId : 1,
names : [ 'real_name', 'sex', 'email_address' ], names : [ 'real_name', 'sex', 'email_address' ],
}; };
user.loadProperties(propLoadOpts, function propsLoaded(err, props) { user.loadProperties(propLoadOpts, function propsLoaded(err, props) {
if(!err) { if(!err) {
conf.config.general.sysOp = { conf.config.general.sysOp = {
@ -192,6 +193,7 @@ function startListening() {
clientConns.addNewClient(client); clientConns.addNewClient(client);
client.on('ready', function onClientReady() { client.on('ready', function onClientReady() {
// Go to module -- use default error handler // Go to module -- use default error handler
prepareClient(client, function onPrepared() { prepareClient(client, function onPrepared() {
require('./connect.js').connectEntry(client); require('./connect.js').connectEntry(client);

View file

@ -85,10 +85,10 @@ function prepareTerminal(term) {
function displayBanner(term) { function displayBanner(term) {
// :TODO: add URL(s) to banner // :TODO: add URL(s) to banner
term.pipeWrite(util.format( term.pipeWrite(
'|33Conected to |32EN|33|01i|00|32|22GMA|32|01½|00 |33BBS version|31|01 %s\n' + ('|33Conected to |32EN|33|01i|00|32|22GMA|32|01½|00 |33BBS version|31|01 {0}\n' +
'|00|33Copyright (c) 2014-2015 Bryan Ashby |33|01- |31|01http://l33t.codes/\n' + '|00|33Copyright (c) 2014-2015 Bryan Ashby |33|01- |31|01http://l33t.codes/\n' +
'|00', packageJson.version)); '|00').format(packageJson.version));
} }
function connectEntry(client) { function connectEntry(client) {

View file

@ -44,7 +44,8 @@ function getDateFromFtnDateTime(dateTime) {
} }
function getFormattedFTNAddress(address, dimensions) { function getFormattedFTNAddress(address, dimensions) {
var addr = util.format('%d:%d', address.zone, address.net); //var addr = util.format('%d:%d', address.zone, address.net);
var addr = '{0}:{1}'.format(address.zone, address.net);
switch(dimensions) { switch(dimensions) {
case 2 : case 2 :
case '2D' : case '2D' :
@ -53,18 +54,18 @@ function getFormattedFTNAddress(address, dimensions) {
case 3 : case 3 :
case '3D' : case '3D' :
addr += util.format('/%d', address.node); addr += '/{0}'.format(address.node);
break; break;
case 4 : case 4 :
case '4D': case '4D':
addr += util.format('.%d', address.point || 0); // missing and 0 are equiv for point addr += '.{0}'.format(address.point || 0); // missing and 0 are equiv for point
break; break;
case 5 : case 5 :
case '5D' : case '5D' :
if(address.domain) { if(address.domain) {
addr += util.format('@%s', address.domain); addr += '@{0}'.format(address.domain);
} }
break; break;
} }

View file

@ -87,9 +87,9 @@ function getMessageListForArea(options, areaName, cb) {
[ [
function fetchMessages(callback) { function fetchMessages(callback) {
msgDb.each( msgDb.each(
'SELECT message_id, message_uuid, reply_to_message_id, to_user_name, from_user_name, subject, modified_timestamp, view_count ' 'SELECT message_id, message_uuid, reply_to_message_id, to_user_name, from_user_name, subject, modified_timestamp, view_count ' +
'FROM message ' 'FROM message ' +
'WHERE area_name=? ' 'WHERE area_name=? ' +
'ORDER BY message_id;', 'ORDER BY message_id;',
[ areaName.toLowerCase() ], [ areaName.toLowerCase() ],
function msgRow(err, row) { function msgRow(err, row) {

View file

@ -177,17 +177,40 @@ function debugEscapedString(s) {
return JSON.stringify(s).slice(1, -1); return JSON.stringify(s).slice(1, -1);
} }
function format(fmt) { //
if (!arguments.length) { // Extend String.format's object syntax with some modifiers
return fmt; // e.g.: '{username!styleL33t}'.format( { username : 'Leet User' } ) -> "L33t U53r"
} //
var stringFormatExtensions = {
var args = typeof arguments[1]; styleUpper : function(s) {
args = (("string" === args || "number" === args) ? arguments : arguments[1]); return stylizeString(s, 'upper');
},
for(var arg in args) { styleLower : function(s) {
fmt = fmt.replace(RegExp("\\{" + arg + "\\}", "gi"), args[arg]); return stylizeString(s, 'lower');
} },
styleTitle : function(s) {
return fmt; return stylizeString(s, 'title');
} },
styleFirstLower : function(s) {
return stylizeString(s, 'first lower');
},
styleSmallVowels : function(s) {
return stylizeString(s, 'small vowels');
},
styleBigVowels : function(s) {
return stylizeString(s, 'big vowels');
},
styleSmallI : function(s) {
return stylizeString(s, 'small i');
},
styleMixed : function(s) {
return stylizeString(s, 'mixed');
},
styleL33t : function(s) {
return stylizeString(s, 'l33t');
}
// :TODO: Add padding/etc. modifiers.
};
exports.stringFormatExtensions = stringFormatExtensions;

View file

@ -104,9 +104,8 @@ MessageAreaListModule.prototype.mciReady = function(mciData, cb) {
function populateAreaListView(callback) { function populateAreaListView(callback) {
var areaListItems = []; var areaListItems = [];
for(var i = 0; i < self.messageAreas.length; ++i) { for(var i = 0; i < self.messageAreas.length; ++i) {
areaListItems.push(strUtil.format( areaListItems.push(self.entryFormat.format(
self.entryFormat, { index : i, name : self.messageAreas[i].name, desc : self.messageAreas[i].desc } )
{ index : i, name : self.messageAreas[i].name, desc : self.messageAreas[i].desc })
); );
} }

View file

@ -13,12 +13,12 @@
"sqlite3" : "3.0.x", "sqlite3" : "3.0.x",
"ssh2" : "0.4.x", "ssh2" : "0.4.x",
"strip-json-comments" : "1.0.x", "strip-json-comments" : "1.0.x",
"gapbuffer" : "0.0.2",
"node-uuid" : "1.4.x", "node-uuid" : "1.4.x",
"moment" : "2.10.x", "moment" : "2.10.x",
"gaze" : "0.5.x", "gaze" : "0.5.x",
"mkdirp" : "0.5.x", "mkdirp" : "0.5.x",
"pty.js" : "0.2.x" "pty.js" : "0.2.x",
"string-format" : "0.5.x"
}, },
"engine" : "node >= 0.12.2" "engine" : "node >= 0.12.2"
} }