UNPKG

sequelize-querystring-converter

Version:

Enable filter, sort, paginate and search on your dataset by simply adding some query parameters on your API.

50 lines (40 loc) 1.1 kB
const parseValue = value => { try { if (['null', 'true', 'false'].includes(value)) { return JSON.parse(value); } return value; } catch (error) { return value; } } const uniqBy = (arr, predicate) => { const cb = typeof predicate === 'function' ? predicate : (o) => o[predicate]; return [...arr.reduce((map, item) => { const key = (item === null || item === undefined) ? item : cb(item); map.has(key) || map.set(key, item); return map; }, new Map()).values()]; }; const pickBy = (object) => { const obj = {}; for (const key in object) { if (object[key] !== null && object[key] !== false && object[key] !== undefined) { obj[key] = object[key]; } } return obj; }; const uniq = (array) => { return [...new Set(array)]; }; const pick = (object, keys) => { return keys.reduce((obj, key) => { if (object && object.hasOwnProperty(key)) { obj[key] = object[key]; } return obj; }, {}); }; module.exports = { parseValue, uniqBy, pickBy, uniq, pick };