openalex-client
Version:
TypeScript SDK for OpenAlex academic database API
78 lines • 2.8 kB
TypeScript
import { BaseService } from "./base";
import { Source, Work, QueryParams, OpenAlexResponse } from "../types";
export declare class SourcesService extends BaseService<Source> {
protected readonly endpoint = "sources";
/**
* Get works published in a specific source
*/
getWorks(sourceId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
/**
* Get source by ISSN
*/
getByIssn(issn: string, params?: Pick<QueryParams, "select" | "mailto">): Promise<Source>;
/**
* Search sources by multiple ISSNs
*/
getByIssns(issns: string[], params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get open access sources
*/
getOpenAccess(params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get sources in DOAJ (Directory of Open Access Journals)
*/
getDoajSources(params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get sources by publisher
*/
getByPublisher(publisher: string, params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get sources by type (journal, repository, etc.)
*/
getByType(type: string, params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get journal sources
*/
getJournals(params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get repository sources
*/
getRepositories(params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get conference sources
*/
getConferences(params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get book series sources
*/
getBookSeries(params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get highly cited sources
*/
getHighlyCited(params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get sources with most works
*/
getMostProlific(params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get sources by country
*/
getByCountry(countryCode: string, params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get sources by concept (subject area)
*/
getByConcept(conceptId: string, params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get sources with APC (Article Processing Charges) information
*/
getWithApc(params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get sources by APC price range
*/
getByApcRange(minUsd: number, maxUsd: number, params?: QueryParams): Promise<OpenAlexResponse<Source>>;
/**
* Get sources by host organization
*/
getByHostOrganization(organizationId: string, params?: QueryParams): Promise<OpenAlexResponse<Source>>;
}
//# sourceMappingURL=sources.d.ts.map