orchidmap-front/backend/utils/parse.js
2019-03-20 14:15:08 +07:00

30 lines
1.1 KiB
JavaScript

module.exports.parseRoute = route => route.filter(el => (
Object.keys(el).length === 2
&& el.lat
&& parseInt(el.lat, 10) > 0
&& parseInt(el.lat, 10) < 1000
&& el.lng
&& parseInt(el.lng, 10) > 0
&& parseInt(el.lng, 10) < 1000
));
module.exports.parseStickers = stickers => stickers.filter(el => (
Object.keys(el).length === 5
&& el.latlng
&& Object.keys(el.latlng).length === 2
&& el.latlng.lat
&& parseInt(el.latlng.lat, 10) > 0
&& parseInt(el.latlng.lat, 10) < 1000
&& el.latlng.lng
&& parseInt(el.latlng.lng, 10) > 0
&& parseInt(el.latlng.lng, 10) < 1000
));
// .map(el => ((el.text && String(el.text).substr(0, 100)) || ''));
const parseString = (value, size) => (value && String(value).substr(0, size)) || '';
module.exports.parseNumber = (value, min, max) => (value && Number(value) && Math.min(max, Math.max(min, value))) || 0;
module.exports.parseString = parseString;
module.exports.parseAddress = (value, size) => (
parseString(value, size).replace(/[^A-Za-z\-_0-9]/ig, '_').replace(/_{2,}/ig, '_')
);