UNPKG

@emergentmethods/asknews-typescript-sdk

Version:
164 lines (143 loc) 5.23 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 { AbcAPIErrorModel45, AbcAPIErrorModel46, AbcAPIErrorModel47, AbcAPIErrorModel48, AsknewsApiErrorsAPIErrorModel, RedditResponse, ValidationErrorModel, } from '../models/index'; import { AbcAPIErrorModel45FromJSON, AbcAPIErrorModel45ToJSON, AbcAPIErrorModel46FromJSON, AbcAPIErrorModel46ToJSON, AbcAPIErrorModel47FromJSON, AbcAPIErrorModel47ToJSON, AbcAPIErrorModel48FromJSON, AbcAPIErrorModel48ToJSON, AsknewsApiErrorsAPIErrorModelFromJSON, AsknewsApiErrorsAPIErrorModelToJSON, RedditResponseFromJSON, RedditResponseToJSON, ValidationErrorModelFromJSON, ValidationErrorModelToJSON, } from '../models/index'; export interface SearchRedditRequest { keywords: Array<string>; nThreads?: number; method?: SearchRedditMethodEnum; deep?: boolean; returnType?: SearchRedditReturnTypeEnum; timeFilter?: SearchRedditTimeFilterEnum; sort?: SearchRedditSortEnum; } /** * */ export class RedditApi extends runtime.BaseAPI { /** * Go to Reddit, search threads, summarize the threads, return analysis. `deep`=True is a live web scrape, AskNews searches Reddit, finds threads, summarizes them, analyzes them, and returns the results. `deep`=False is a search in AskNews\' existing database of Reddit threads. * Search Reddit, summarize threads, and return analysis. */ async searchRedditRaw(requestParameters: SearchRedditRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RedditResponse> > { if (requestParameters['keywords'] == null) { throw new runtime.RequiredError( 'keywords', 'Required parameter "keywords" was null or undefined when calling searchReddit().' ); } const queryParameters: any = {}; if (requestParameters['keywords'] != null) { queryParameters['keywords'] = requestParameters['keywords']; } if (requestParameters['nThreads'] != null) { queryParameters['n_threads'] = requestParameters['nThreads']; } if (requestParameters['method'] != null) { queryParameters['method'] = requestParameters['method']; } if (requestParameters['deep'] != null) { queryParameters['deep'] = requestParameters['deep']; } if (requestParameters['returnType'] != null) { queryParameters['return_type'] = requestParameters['returnType']; } if (requestParameters['timeFilter'] != null) { queryParameters['time_filter'] = requestParameters['timeFilter']; } if (requestParameters['sort'] != null) { queryParameters['sort'] = requestParameters['sort']; } const headerParameters: runtime.HTTPHeaders = {}; const response = await this.request({ path: `/v1/reddit/search`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RedditResponseFromJSON(jsonValue)); } /** * Go to Reddit, search threads, summarize the threads, return analysis. `deep`=True is a live web scrape, AskNews searches Reddit, finds threads, summarizes them, analyzes them, and returns the results. `deep`=False is a search in AskNews\' existing database of Reddit threads. * Search Reddit, summarize threads, and return analysis. */ async searchReddit(requestParameters: SearchRedditRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RedditResponse> { const response = await this.searchRedditRaw(requestParameters, initOverrides); return await response.value(); } } /** * @export */ export const SearchRedditMethodEnum = { Nl: 'nl', Kw: 'kw' } as const; export type SearchRedditMethodEnum = typeof SearchRedditMethodEnum[keyof typeof SearchRedditMethodEnum]; /** * @export */ export const SearchRedditReturnTypeEnum = { Dicts: 'dicts', String: 'string', Both: 'both' } as const; export type SearchRedditReturnTypeEnum = typeof SearchRedditReturnTypeEnum[keyof typeof SearchRedditReturnTypeEnum]; /** * @export */ export const SearchRedditTimeFilterEnum = { Hour: 'hour', Day: 'day', Week: 'week', Month: 'month', Year: 'year', All: 'all' } as const; export type SearchRedditTimeFilterEnum = typeof SearchRedditTimeFilterEnum[keyof typeof SearchRedditTimeFilterEnum]; /** * @export */ export const SearchRedditSortEnum = { Relevance: 'relevance', Hot: 'hot', Top: 'top', New: 'new', Comments: 'comments' } as const; export type SearchRedditSortEnum = typeof SearchRedditSortEnum[keyof typeof SearchRedditSortEnum];