From 2870c4da1aedf41926972dd60227c3d62cdaa123 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sat, 16 Jun 2012 14:24:33 +0200 Subject: o Polishing the dynobot a bit. --- FakeSocket.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 FakeSocket.js (limited to 'FakeSocket.js') diff --git a/FakeSocket.js b/FakeSocket.js new file mode 100644 index 0000000..af3d74c --- /dev/null +++ b/FakeSocket.js @@ -0,0 +1,44 @@ +function FakeSocket(stdin, stdout, msgHandler) { + this.stdin = stdin; + this.stdout = stdout; + this.msgHandler = msgHandler; + this.connectHandler = undefined; + this.errorHandler = undefined; +} + +FakeSocket.prototype.setEncoding = function(encoding) { + this.stdin.setEncoding(encoding); +} + +FakeSocket.prototype.on = function(event, cb) { + switch(event) { + case 'data': + this.stdin.on('data', function(chunk) { + cb(chunk.trim() + '\r\n'); + }); + break; + case 'connect': + this.connectHandler = cb; + break; + case 'close': + this.stdin.on('exit', cb); + break; + case 'end': + case 'error': + break; + default: + process.exit(1); + break; + } +} + +FakeSocket.prototype.connect = function(server, port) { + this.connectHandler(); +} + +FakeSocket.prototype.write = function(chunk) { + this.stdout.write(chunk.red); + this.msgHandler && this.msgHandler(chunk); +} + +module.exports = FakeSocket; -- cgit v1.2.3