addsearch-js-client
Version:
AddSearch API JavaScript client
59 lines • 2.21 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.isEmptyObject = exports.generateUUID = exports.validateSetPagingParams = exports.base64 = exports.isFunction = void 0;
const buffer_1 = require("buffer/");
const uuid_1 = require("uuid");
const isFunction = (fn) => {
return typeof fn === 'function';
};
exports.isFunction = isFunction;
const base64 = (s) => {
if (typeof window !== 'undefined' && window.btoa) {
return window.btoa(s);
}
else if (buffer_1.Buffer) {
return buffer_1.Buffer.from(s).toString('base64');
}
return undefined;
};
exports.base64 = base64;
const validateSetPagingParams = (page, pageSize, sortBy, sortOrder) => {
if (page < 1) {
throw new Error('Page must be 1 or bigger');
}
if (pageSize < 1 || pageSize > 300) {
throw new Error('PageSize must be between 1 and 300');
}
if (!sortBy || !sortOrder) {
throw new Error(`Invalid values for sortBy or sortOrder:`);
}
if (!((typeof sortBy === 'string' && typeof sortOrder === 'string') ||
(Array.isArray(sortBy) && Array.isArray(sortOrder)))) {
throw new Error('sortBy and sortOrder must have the same type: string or Array');
}
if (Array.isArray(sortBy) && sortBy.length !== sortOrder.length) {
throw new Error('sortBy and sortOrder must have the same size');
}
if (typeof sortOrder === 'string' && sortOrder !== 'asc' && sortOrder !== 'desc') {
throw new Error('sortOrder must be asc or desc');
}
if (Array.isArray(sortOrder) && sortOrder.some((e) => e !== 'desc' && e !== 'asc')) {
throw new Error('All values of sortOrder array must be asc or desc');
}
};
exports.validateSetPagingParams = validateSetPagingParams;
const generateUUID = () => {
return (0, uuid_1.v4)().replace(/-/g, '');
};
exports.generateUUID = generateUUID;
const isEmptyObject = (obj) => {
if (obj == null) {
return true;
}
if (Array.isArray(obj) || Object.prototype.toString.call(obj) !== '[object Object]') {
return true;
}
return Object.keys(obj).length === 0;
};
exports.isEmptyObject = isEmptyObject;
//# sourceMappingURL=util.js.map
;