UNPKG

addsearch-js-client

Version:

AddSearch API JavaScript client

59 lines 2.21 kB
"use strict"; 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