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.

71 lines (57 loc) 1.96 kB
## Overview A high-level API that wraps existing Glue42 Bloomberg Bridge Market Data interop methods. The API is based on the jBloomberg open source wrapper. ## Initialization The BBGMarketData API depends on the Glue42 [Interop](https://docs.glue42.com/glue42-concepts/data-sharing-between-apps/interop/overview/index.html) API. It also accepts a config object to control logging behavior, optionally provide a custom logger implementation and session settings to overwrite default session options and session identity options. ```typescript import BBGMarketData, { BBGMarketDataAPI, SessionOptions, FieldSearchRequestArguments, FieldSearchRequest, ResponseData, FieldSearchData } from "@glue42/bbg-market-data"; import Glue from "@glue42/desktop"; const glue = await Glue(); const sessionOptions: SessionOptions = { connectTimeout: 15000 } const bbgMarketData: BBGMarketDataAPI = BBGMarketData(glue.interop, { debug: true, // Enable only if you need logging. sessionSettings: { options: sessionOptions } }); // Start using the library. ``` Example (creating a FieldSearchRequest request): ```typescript const requestArgs: FieldSearchRequestArguments = { searchSpec: "last price", returnFieldDocumentation: true }; const request: FieldSearchRequest = bbgMarketData.createFieldSearchRequest( requestArgs ); request.onData(function handleResponse( response: ResponseData<FieldSearchData> ): void { if (response.isLast) { // Handle final response } else { // Handle partial response } }); request.onError(function handleError(error): void { // Request failed. Process the error. }); // Send the actual request to Bloomberg. request .open() .then((response: FieldSearchData[] | undefined) => { //Request completed. Process aggregated response. }) .catch((error) => { // Request failed. Process the error. }); ```