@melonproject/exchange-aggregator
Version:
Aggregates orderbooks across various exchanges.
35 lines (34 loc) • 1.44 kB
JavaScript
;
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const R = __importStar(require("ramda"));
const debug_1 = __importDefault(require("debug"));
const events_1 = require("./events");
const debugSetOrderEvent = (value) => `Setting order ${value.id}.`;
const debugRemoveOrderEvent = (value) => `Removing order ${value.id}.`;
const debugSnapshotEvent = (value) => `Snapshot with ${value.orders.length} orders (bids and asks).`;
const formatEvent = R.cond([
[events_1.isSetOrderEvent, debugSetOrderEvent],
[events_1.isRemoveOrderEvent, debugRemoveOrderEvent],
[events_1.isSnapshotEvent, debugSnapshotEvent],
[R.T, R.always('Invalid event.')],
]);
debug_1.default.formatters.e = event => {
return formatEvent(event);
};
debug_1.default.formatters.s = value => {
return value.toString();
};
exports.log = debug_1.default('ea:log');
exports.log.log = console.log.bind(console);
exports.error = debug_1.default('ea:error');
exports.error.log = console.error.bind(console);