UNPKG

@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.

41 lines 2.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const request_types_1 = require("../../core/request-types"); const non_subscription_request_1 = require("../../core/non-subscription-request"); const request_configs_1 = require("../../request-configs"); const date_fns_1 = require("date-fns"); const constants_1 = require("../../constants"); const helpers_1 = require("../../core/helpers"); const message_types_1 = require("../../core/message-types"); const MESSAGE_TYPE = message_types_1.MessageTypes.IntradayTickResponse; const errorHandler = helpers_1.createResponseErrorHandler(MESSAGE_TYPE, function getError(message) { return message === null || message === void 0 ? void 0 : message.responseError; }, function test(message) { return (message === null || message === void 0 ? void 0 : message.responseError) != null; }); const dataHandler = helpers_1.createResponseDataHandler(MESSAGE_TYPE, function getData(message) { return message === null || message === void 0 ? void 0 : message.tickData; }, function test(message) { return (message === null || message === void 0 ? void 0 : message.tickData) != null; }); function convertToOperationArgs(args) { const startDateTime = date_fns_1.format(date_fns_1.parseISO(args.startDateTime), constants_1.BLOOMBERG_DATE_TIME_FORMAT); const endDateTime = date_fns_1.format(date_fns_1.parseISO(args.endDateTime), constants_1.BLOOMBERG_DATE_TIME_FORMAT); const requestArgs = Object.assign(Object.assign({}, args), { startDateTime, endDateTime }); const requestArgsAsArray = Object.entries(requestArgs).map(([key, value]) => ({ [key]: value })); return requestArgsAsArray; } exports.default = (sessionManager) => (args) => { const operationArgs = convertToOperationArgs(args); const handlers = { partialResponseData: dataHandler, responseData: dataHandler, responseError: errorHandler, }; return new non_subscription_request_1.NonSubscriptionRequestImpl(sessionManager, request_configs_1.getRequestConfig(request_types_1.RequestType.IntraDayTick), operationArgs, handlers).api; }; tslib_1.__exportStar(require("./request-args"), exports); tslib_1.__exportStar(require("./response"), exports); //# sourceMappingURL=index.js.map