UNPKG

identi-recognition

Version:

identiRecognition

132 lines (109 loc) 3.15 kB
const codes = require('./codes') const { validationResult } = require('express-validator') // _ _ ___ _ ___ ___ _ _ _ ___ _ _ _ _ ___ _____ ___ ___ _ _ ___ // | || | __| | | _ \ __| | | | | | __| | | | \| |/ __|_ _|_ _/ _ \| \| / __| // | __ | _|| |__| _/ _|| |_| | |__ | _|| |_| | .` | (__ | | | | (_) | .` \__ \ // |_||_|___|____|_| |_| \___/|____| |_| \___/|_|\_|\___| |_| |___\___/|_|\_|___/ // *************** HELPER FUNCIONTS ******************// function getHeaders(form) { return new Promise((resolve, reject) => { form.getLength((err, length) => { if (err) { reject(err) } let headers = Object.assign({ 'Content-Length': length }, form.getHeaders()) resolve(headers) }) }) } function validateIPaddress(ipaddress) { try { if ( /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test( ipaddress ) ) { return true } return false } catch (e) { console.error('Couldnt validate Ip Address') return false } } function isNull(value) { return value === null } function isUndefined(value) { return value === undefined } function isObject(value) { return typeof value === 'object' && value !== null && !Array.isArray(value) } function isString(value) { return typeof value === 'string' } function isFunction(value) { return typeof value === 'function' } function isError(value) { switch (Object.prototype.toString.call(value)) { case '[object Error]': return true case '[object Exception]': return true case '[object DOMException]': return true default: return value instanceof Error } } function isNumber(value) { return !isNaN(parseFloat(value)) && !isNaN(value - 0) } function errorHandler(err, _req, res, _next) { const { status, name, ...data } = err return res.status(status).send(data) } function isValidDate(str) { const date = new Date(str) const ans = date instanceof Date && !isNaN(date) return ans } function formatTime(dateChange, diff_time = 5 * 60 * 60 * 1000) { if (dateChange) { var date = new Date(dateChange.getTime() + diff_time) var hour = date.getHours() hour = (hour < 10 ? '0' : '') + hour var min = date.getMinutes() min = (min < 10 ? '0' : '') + min var sec = date.getSeconds() sec = (sec < 10 ? '0' : '') + sec var year = date.getFullYear() var month = date.getMonth() + 1 month = (month < 10 ? '0' : '') + month var day = date.getDate() day = (day < 10 ? '0' : '') + day return year + '-' + month + '-' + day + ' ' + hour + ':' + min + ':' + sec + ': ' } else { console.error('No date passed to function') return false } } // const myDate = '6-26-2012 16:00' // console.log(isValidDate(myDate)) // console.log(new Date(myDate).getTime()) module.exports = { getHeaders, isNull, isUndefined, isObject, isString, isFunction, isError, isNumber, formatTime, isValidDate, errorHandler, validateIPaddress }