@apillon/sdk
Version:
▶◀ Apillon SDK for NodeJS ▶◀
68 lines • 2.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.exceptionHandler = exports.constructUrlWithQueryParams = exports.toInteger = exports.toBoolean = exports.ApillonNetworkError = exports.ApillonRequestError = exports.ApillonApiError = void 0;
class ApillonApiError extends Error {
}
exports.ApillonApiError = ApillonApiError;
class ApillonRequestError extends Error {
}
exports.ApillonRequestError = ApillonRequestError;
class ApillonNetworkError extends Error {
}
exports.ApillonNetworkError = ApillonNetworkError;
/**
* Convert value to boolean if defined, else return undefined.
* @param value value converted
*/
function toBoolean(value) {
if (value === undefined) {
return undefined;
}
return value === 'true' || value === '1' || !!value;
}
exports.toBoolean = toBoolean;
/**
* Convert value to integer if defined, else return undefined.
* @param value value converted
*/
function toInteger(value) {
if (value === undefined) {
return undefined;
}
return parseInt(value);
}
exports.toInteger = toInteger;
/**
* Construct full URL from base URL and query parameters object.
* @param url url without query parameters
* @param parameters query parameters
*/
function constructUrlWithQueryParams(url, parameters) {
const cleanParams = {};
for (const key in parameters) {
const value = parameters[key];
if (value != null && value !== '') {
cleanParams[key] = value;
}
}
const queryParams = new URLSearchParams(cleanParams).toString();
return queryParams ? `${url}?${queryParams}` : url;
}
exports.constructUrlWithQueryParams = constructUrlWithQueryParams;
/**
* Exception handler for requests sent by CLI service.
* @param e exception
*/
function exceptionHandler(e) {
if (e instanceof ApillonApiError) {
console.error(`Apillon API error:\n${e.message}`);
}
else if (e instanceof ApillonNetworkError) {
console.error(`Error: ${e.message}`);
}
else {
console.error(e);
}
}
exports.exceptionHandler = exceptionHandler;
//# sourceMappingURL=common.js.map