// Generic Spy function Spy(label, useJson) { this.label = label || "SPY"; this.useJson = useJson; } Spy.prototype.boot = function () { World.updateRoutes([sub(__, 0, Infinity), pub(__, 0, Infinity)]); }; Spy.prototype.handleEvent = function (e) { switch (e.type) { 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; } };