UNPKG

textual-log-parser

Version:

Parses Textual log files and returns JavaScript objects

60 lines (41 loc) 1.13 kB
function handleLine(line){ if(line.indexOf('joined the channel.') !== -1) return; if(line.indexOf('left the channel.') !== -1) return; if(line.indexOf('sets mode ') !== -1) return; if(line.indexOf('now known as ') !== -1) return; if(line.indexOf('left IRC') !== -1) return; if(lineStartsWith(line, 'Topic is ')) return; if(lineStartsWith(line, 'Set by ')) return; if(lineStartsWith(line, 'Mode is ')) return; if(lineStartsWith(line, '• ')) return; if(lineStartsWith(line, '<')) return; if(line.indexOf('changed the topic') !== -1) return handleTopic(line, datetime); } function handleTopic(line, datetime){ var chunks = line.split(' '); var topicIndex = line.indexOfEnd('changed the topic to '); var topic = { date: datetime && datetime[1], author: chunks[1], value: line.slice(topicIndex) }; topics.push(topic); } function lineStartsWith(line, string){ return line.indexOf(string) === 27; } String.prototype.indexOfEnd = function(string) { var io = this.indexOf(string); return io == -1 ? -1 : io + string.length; };