openalex-client
Version:
TypeScript SDK for OpenAlex academic database API
58 lines • 2.07 kB
TypeScript
import { BaseService } from "./base";
import { Work, QueryParams, OpenAlexResponse } from "../types";
export declare class WorksService extends BaseService<Work> {
protected readonly endpoint = "works";
/**
* Get works cited by a specific work
*/
getCitedBy(workId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get works that cite a specific work
*/
getCitations(workId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get works related to a specific work
*/
getRelated(workId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Search works by DOI
*/
getByDoi(doi: string, params?: Pick<QueryParams, "select" | "mailto">): Promise<Work>;
/**
* Search works by multiple DOIs
*/
getByDois(dois: string[], params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get works by author
*/
getByAuthor(authorId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get works by institution
*/
getByInstitution(institutionId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get works by source (journal/venue)
*/
getBySource(sourceId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get works by concept
*/
getByConcept(conceptId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get open access works
*/
getOpenAccess(params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get works published in a specific year range
*/
getByYearRange(startYear: number, endYear: number, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get highly cited works (top percentile)
*/
getHighlyCited(params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get recent works
*/
getRecent(params?: QueryParams): Promise<OpenAlexResponse<Work>>;
}
//# sourceMappingURL=works.d.ts.map