@sickrin/openalex-sdk
Version:
A TypeScript SDK for interacting with the OpenAlex API - forked and enhanced version
93 lines (92 loc) • 1.99 kB
TypeScript
export type Topic = {
description: string;
display_name: string;
domain: Domain;
fields: Field;
id: string;
ids: Ids;
keywords: string[];
subfield: SubField;
updated_date: string;
works_count: number;
};
type Domain = {
id: number;
display_name: string;
};
type Field = {
id: number;
display_name: string;
};
type Ids = {
openalex: string;
wikidata: string;
};
type SubField = {
id: number;
display_name: string;
};
type Meta = {
count: number;
db_response_time_ms: number;
page?: number;
per_page: number;
next_cursor: string;
groups_count?: number;
};
export type Topics = {
meta: Meta;
results: Topic[];
group_by?: GroupBy[];
};
type GroupBy = {
key: string;
key_display_name: string;
count: number;
};
export type SearchParametersTopics = {
search?: string;
searchField?: SearchFieldTopics;
perPage?: number;
page?: number;
retriveAllPages?: boolean;
toCsv?: string;
toJson?: string;
startPage?: number;
filter?: TopicsFilterParameters;
endPage?: number;
groupBy?: GroupByTopics;
sortBy?: SortByTopics;
AbstractArrayToString?: boolean;
};
type SearchFieldTopics = 'display_name' | 'description' | 'keywords';
export type TopicsFilterParameters = {
cited_by_count?: string | string[];
domain?: {
id: number;
} | {
id: number;
}[];
fields?: {
id: number;
} | {
id: number;
}[];
ids?: {
openalex: number;
} | {
openalex: number;
}[];
subfield?: {
id: number;
} | {
id: number;
}[];
works_count?: string | string[];
};
export type GroupByTopics = 'cited_by_count' | 'domain.id' | 'fields.id' | 'subfield.id' | 'works_count';
export type SortByTopics = {
field: 'display_name' | 'cited_by_count' | 'works_count' | 'publication_date' | 'relevance_score';
order: 'asc' | 'desc';
};
export {};