forked from DeepRoost/infinite
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfake-process.js
More file actions
27 lines (24 loc) · 747 Bytes
/
fake-process.js
File metadata and controls
27 lines (24 loc) · 747 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var EventEmitter = require("events").EventEmitter;
function FakeProcessHelper(input, output) {
this.input = input;
this.output = output;
};
FakeProcessHelper.prototype = {
input: null,
output: null,
on: function (event, callback) {
setImmediate(this.input.on.bind(this.input, event, callback));
return this;
},
send: function (message) {
setImmediate(this.output.emit.bind(this.output, 'message', message));
return this;
}
};
function FakeProcess() {
this.serverEmitter = new EventEmitter();
this.clientEmitter = new EventEmitter();
this.server = new FakeProcessHelper(this.clientEmitter, this.serverEmitter);
this.client = new FakeProcessHelper(this.serverEmitter, this.clientEmitter);
}
exports.FakeProcess = FakeProcess;