@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.
32 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const stringifyNestedObjects_js_1 = require("../utils/stringifyNestedObjects.js");
const _query_string_1 = tslib_1.__importDefault(require("query-string-cjs"));
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 = (0, stringifyNestedObjects_js_1.stringifyNestedObjects)(parameters);
}
const requestURL = _query_string_1.default.stringify(parameters, { ...defaultOptions, ...userOptions });
return requestURL.length ? `?${requestURL}` : '';
}
}
}
exports.default = Resource;
//# sourceMappingURL=Resource.js.map