@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.
35 lines • 1.91 kB
JavaScript
;
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 helpers_1 = require("../../core/helpers");
const message_types_1 = require("../../core/message-types");
function convertToOperationArgs(args) {
const requestArgsAsArray = Object.entries(args).map(([key, value]) => ({ [key]: value }));
return requestArgsAsArray;
}
const MESSAGE_TYPE = message_types_1.MessageTypes.ReferenceDataResponse;
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.securityData;
}, function test(message) {
return (message === null || message === void 0 ? void 0 : message.securityData) != null;
});
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.ReferenceData), operationArgs, handlers).api;
};
tslib_1.__exportStar(require("./request-args"), exports);
tslib_1.__exportStar(require("./response"), exports);
//# sourceMappingURL=index.js.map