@vanakaru/ekilex-api-client
Version:
A node api client for the Ekilex API
43 lines • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Meanings = void 0;
const http_client_1 = require("../http/http-client");
class Meanings {
constructor(httpClient) {
this.httpClient = httpClient;
}
getSearchPath(searchTerm, datasets) {
const sanitizedSearchTerm = encodeURIComponent(searchTerm);
const path = `meaning/search/${sanitizedSearchTerm}`;
const uniqueDatasetList = Array.from(new Set(datasets));
if (!uniqueDatasetList.length) {
return path;
}
return `${path}/${uniqueDatasetList.join(',')}`;
}
getMeaningDetailsPath(wordId, datasets) {
const sanitizedWordId = encodeURIComponent(wordId);
const path = `meaning/details/${sanitizedWordId}`;
const uniqueDatasetList = Array.from(new Set(datasets));
if (!uniqueDatasetList.length) {
return path;
}
return `${path}/${uniqueDatasetList.join(',')}`;
}
search(searchTerm, datasets = []) {
const request = {
method: http_client_1.Method.Get,
path: this.getSearchPath(searchTerm, datasets),
};
return this.httpClient.request(request);
}
getDetails(wordId, datasets = []) {
const request = {
method: http_client_1.Method.Get,
path: this.getMeaningDetailsPath(wordId, datasets),
};
return this.httpClient.request(request);
}
}
exports.Meanings = Meanings;
//# sourceMappingURL=meanings.js.map