@emergentmethods/asknews-typescript-sdk
Version:
Typescript SDK for AskNews API
145 lines (127 loc) • 4.64 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* AskNews API
* AskNews API
*
* The version of the OpenAPI document: 0.21.1
* Contact: contact@emergentmethods.ai
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import * as runtime from '../runtime';
import type {
AbcAPIErrorModel37,
AbcAPIErrorModel38,
AbcAPIErrorModel39,
AbcAPIErrorModel40,
AsknewsApiErrorsAPIErrorModel,
FinanceResponse,
ValidationErrorModel,
} from '../models/index';
import {
AbcAPIErrorModel37FromJSON,
AbcAPIErrorModel37ToJSON,
AbcAPIErrorModel38FromJSON,
AbcAPIErrorModel38ToJSON,
AbcAPIErrorModel39FromJSON,
AbcAPIErrorModel39ToJSON,
AbcAPIErrorModel40FromJSON,
AbcAPIErrorModel40ToJSON,
AsknewsApiErrorsAPIErrorModelFromJSON,
AsknewsApiErrorsAPIErrorModelToJSON,
FinanceResponseFromJSON,
FinanceResponseToJSON,
ValidationErrorModelFromJSON,
ValidationErrorModelToJSON,
} from '../models/index';
export interface GetAssetSentimentRequest {
asset: GetAssetSentimentAssetEnum;
metric?: GetAssetSentimentMetricEnum;
dateFrom?: Date;
dateTo?: Date;
}
/**
*
*/
export class AnalyticsApi extends runtime.BaseAPI {
/**
* Get the news sentiment for a given asset during a provided period of time. This endpoint is good for narrow AI, like using in combination with a regressor to forecast prices etc.
* Get a timeseries of finance news sentiment for assets
*/
async getAssetSentimentRaw(requestParameters: GetAssetSentimentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FinanceResponse> > {
if (requestParameters['asset'] == null) {
throw new runtime.RequiredError(
'asset',
'Required parameter "asset" was null or undefined when calling getAssetSentiment().'
);
}
const queryParameters: any = {};
if (requestParameters['asset'] != null) {
queryParameters['asset'] = requestParameters['asset'];
}
if (requestParameters['metric'] != null) {
queryParameters['metric'] = requestParameters['metric'];
}
if (requestParameters['dateFrom'] != null) {
queryParameters['date_from'] = (requestParameters['dateFrom'] as any).toISOString();
}
if (requestParameters['dateTo'] != null) {
queryParameters['date_to'] = (requestParameters['dateTo'] as any).toISOString();
}
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/analytics/finance/sentiment`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => FinanceResponseFromJSON(jsonValue));
}
/**
* Get the news sentiment for a given asset during a provided period of time. This endpoint is good for narrow AI, like using in combination with a regressor to forecast prices etc.
* Get a timeseries of finance news sentiment for assets
*/
async getAssetSentiment(requestParameters: GetAssetSentimentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FinanceResponse> {
const response = await this.getAssetSentimentRaw(requestParameters, initOverrides);
return await response.value();
}
}
/**
* @export
*/
export const GetAssetSentimentAssetEnum = {
Bitcoin: 'bitcoin',
Ethereum: 'ethereum',
Cardano: 'cardano',
Uniswap: 'uniswap',
Ripple: 'ripple',
Solana: 'solana',
Polkadot: 'polkadot',
Polygon: 'polygon',
Chainlink: 'chainlink',
Tether: 'tether',
Dogecoin: 'dogecoin',
Monero: 'monero',
Tron: 'tron',
Binance: 'binance',
Aave: 'aave',
Tesla: 'tesla',
Microsoft: 'microsoft',
Amazon: 'amazon'
} as const;
export type GetAssetSentimentAssetEnum = typeof GetAssetSentimentAssetEnum[keyof typeof GetAssetSentimentAssetEnum];
/**
* @export
*/
export const GetAssetSentimentMetricEnum = {
NewsPositive: 'news_positive',
NewsNegative: 'news_negative',
NewsTotal: 'news_total',
NewsPositiveWeighted: 'news_positive_weighted',
NewsNegativeWeighted: 'news_negative_weighted',
NewsTotalWeighted: 'news_total_weighted'
} as const;
export type GetAssetSentimentMetricEnum = typeof GetAssetSentimentMetricEnum[keyof typeof GetAssetSentimentMetricEnum];