UNPKG

@vanakaru/ekilex-api-client

Version:

A node api client for the Ekilex API

43 lines 1.54 kB
"use strict"; 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