@glue42/bbg-market-data
v0.5.0
Published
A high-level API that wraps existing Glue42 Bloomberg Bridge Market Data interop methods. The API is based on the jBloomberg open source wrapper.
Downloads
1,108
Readme
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 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.
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):
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.
});