@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
Markdown
A high-level API that wraps existing Glue42 Bloomberg Bridge Market Data interop methods. The API is based on the jBloomberg open source wrapper.
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.
});
```