@glue42/bbg-market-data
Version:
A high-level API that wraps existing Glue42 Bloomberg Bridge Market Data interop methods. The API is based on the jBloomberg open source wrapper.
27 lines • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const console_1 = tslib_1.__importDefault(require("./console"));
function default_1(apiId, config) {
if (!(config === null || config === void 0 ? void 0 : config.debug)) {
return undefined;
}
const logger = (config === null || config === void 0 ? void 0 : config.logger) ? config.logger : new console_1.default("bbg-market-data", { logLevel: config === null || config === void 0 ? void 0 : config.logLevel });
const messagePrefix = `_${apiId}_`;
const logWithMessagePrefix = (logFn) => (message) => logFn(`[${messagePrefix}] ${message}`);
return {
trace: logWithMessagePrefix(logger.trace.bind(logger)),
debug: logWithMessagePrefix(logger.debug.bind(logger)),
info: logWithMessagePrefix(logger.info.bind(logger)),
log: logWithMessagePrefix(logger.log.bind(logger)),
warn: logWithMessagePrefix(logger.warn.bind(logger)),
error: (message) => {
if (message instanceof Error) {
message = message.message + "\n" + message.stack;
}
logWithMessagePrefix(logger.error.bind(logger))(message);
},
};
}
exports.default = default_1;
//# sourceMappingURL=index.js.map