UNPKG

@apillon/sdk

Version:

▶◀ Apillon SDK for NodeJS ▶◀

68 lines 2.14 kB
"use strict"; 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