UNPKG

@emergentmethods/asknews-typescript-sdk

Version:
145 lines (127 loc) 4.64 kB
/* 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];