@coveo/platform-client
Version:
The main goal of this package is to provide an easy to configure and straightforward way of querying Coveo Cloud APIs using JavaScript.
29 lines • 1.06 kB
JavaScript
import { stringifyNestedObjects } from '../utils/stringifyNestedObjects.js';
import queryString from 'query-string-esm';
const defaultOptions = { skipEmptyString: true, skipNull: true, sort: false };
class Resource {
api;
serverlessApi;
static baseUrl;
constructor(api, serverlessApi) {
this.api = api;
this.serverlessApi = serverlessApi;
}
buildPath(route, parameters, options) {
return parameters ? route + this.convertObjectToQueryString(parameters, options) : route;
}
convertObjectToQueryString(parameters, userOptions) {
if (!parameters) {
return '';
}
else {
if (typeof parameters === 'object' && !Array.isArray(parameters)) {
parameters = stringifyNestedObjects(parameters);
}
const requestURL = queryString.stringify(parameters, { ...defaultOptions, ...userOptions });
return requestURL.length ? `?${requestURL}` : '';
}
}
}
export default Resource;
//# sourceMappingURL=Resource.js.map