lirc
Version:
An old IRC client for node
54 lines (47 loc) • 1.46 kB
JavaScript
// Generated by CoffeeScript 1.12.7
(function() {
var clone, defaultSession, lirc, merge, ref, session;
lirc = require('./lirc');
ref = lirc.utils, merge = ref.merge, clone = ref.clone;
session = lirc.session = require('../cfg/session');
defaultSession = clone(session);
session.build = function(cfg) {
var i, key, len, obj, ref1, ref2, user, val;
if (!cfg) {
return session;
}
merge(session, defaultSession);
if (cfg.server) {
merge(session.server, cfg.server);
session.servers.push(session.server);
} else if (cfg.servers) {
ref1 = cfg.servers;
for (i = 0, len = ref1.length; i < len; i++) {
obj = ref1[i];
session.servers.push(merge(clone(defaultSession.server), obj));
}
session.server = session.servers[0];
}
user = cfg.user || {};
ref2 = session.server.user;
for (key in ref2) {
val = ref2[key];
if (val) {
user[key] = val;
}
}
if (!user.username) {
user.username = user.nick.replace(/[\#\?]/g, '');
}
user.realname = user.realname || user.username;
user.nick = lirc.format.nick(user.nick);
user.altnick = lirc.format.nick(user.altnick || user.nick + '?');
session.server.user = user;
session.me = cfg.me || user.username;
if (cfg.localAddress) {
session.server.localAddress = cfg.localAddress;
}
session.built = true;
return session;
};
}).call(this);