@vanakaru/ekilex-api-client
Version:
A node api client for the Ekilex API
101 lines (100 loc) • 2.76 kB
TypeScript
import { HttpClient } from '../http/http-client';
import { DatasetCode } from './datasets';
export declare type MeaningWord = {
wordId: number;
wordValue: string;
wordValuePrese: string;
homonymNr: number;
lang: string;
wordTypeCodes: null | unknown;
prefixoid: boolean;
suffixoid: boolean;
foreign: boolean;
matchingWord: boolean;
mostPreferred: boolean;
leastPreferred: boolean;
datasetCodes: string[];
public: boolean;
};
export declare type Meaning = {
meaningId: number;
meaningDomains: null | unknown;
meaningWords: MeaningWord[];
meaningWordsExist: boolean;
};
export declare type MeaningSearchResponse = {
meaningCount: number;
wordCount: number;
resultCount: number;
results: Meaning[];
resultExist: boolean;
resultDownloadNow: boolean;
resultDownloadLater: boolean;
};
export declare type LangGroup = {
lang: string;
selected: boolean;
definitions: Array<{
id: number;
value: string;
lang: string;
complexity: string;
orderBy: 62504;
typeCode: string;
typeValue: string;
datasetCodes: string[];
notes: unknown[];
sourceLinks: unknown[];
editDisabled: boolean;
public: boolean;
}>;
};
export declare type Freeform = {
id: number;
parentId: number | null;
type: string;
valueText: string;
valuePrese: string;
valueDate: string | null;
lang: string | null;
complexity: unknown | null;
orderBy: unknown | null;
children: unknown[];
modifiedBy: unknown | null;
modifiedOn: unknown | null;
public: unknown | null;
};
export declare type MeaningDetailsResponse = {
meaningId: number;
lexemeIds: number[];
definitions: unknown | null;
definitionLangGroups: LangGroup[];
lexemes: unknown | null;
lexemeDatasetCodes: string[];
firstWordValue: string;
semanticTypes: Array<{
name: string;
code: string;
value: string;
}>;
freeforms: Freeform[];
learnerComments: string;
images: unknown[];
medias: unknown[];
forums: unknown[];
noteLangGroups: unknown[];
synonymLangGroups: unknown | null;
tags: unknown[];
activeTagComplete: boolean;
lastActivityEventOn: string | null;
lastApproveEventOn: string | null;
manualEventOn: string | null;
};
export declare class Meanings {
private httpClient;
constructor(httpClient: HttpClient);
private getSearchPath;
private getMeaningDetailsPath;
search(searchTerm: string, datasets?: Array<DatasetCode>): Promise<MeaningSearchResponse>;
getDetails(wordId: number, datasets?: Array<DatasetCode>): Promise<MeaningDetailsResponse>;
}