2013-12-03 01:41:19 +00:00
|
|
|
// Generic Spy
|
|
|
|
|
2014-02-28 14:47:42 +00:00
|
|
|
function Spy(label, useJson) {
|
|
|
|
this.label = label || "SPY";
|
|
|
|
this.useJson = useJson;
|
2013-12-03 01:41:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
Spy.prototype.boot = function () {
|
|
|
|
World.updateRoutes([sub(__, 0, Infinity), pub(__, 0, Infinity)]);
|
|
|
|
};
|
|
|
|
|
|
|
|
Spy.prototype.handleEvent = function (e) {
|
|
|
|
switch (e.type) {
|
2014-02-28 14:47:42 +00:00
|
|
|
case "routes":
|
|
|
|
console.log(this.label, "routes", this.useJson ? JSON.stringify(e.routes) : e.routes);
|
|
|
|
break;
|
|
|
|
case "message":
|
|
|
|
var messageRepr;
|
|
|
|
try {
|
|
|
|
messageRepr = this.useJson ? JSON.stringify(e.message) : e.message;
|
|
|
|
} catch (exn) {
|
|
|
|
messageRepr = e.message;
|
|
|
|
}
|
|
|
|
console.log(this.label, "message", messageRepr, e.metaLevel, e.isFeedback);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
console.log(this.label, "unknown", e);
|
|
|
|
break;
|
2013-12-03 01:41:19 +00:00
|
|
|
}
|
|
|
|
};
|