All files / lib/helpers data-type-utils.js

100% Statements 9/9
100% Branches 10/10
100% Functions 2/2
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 271x       1x     33x 5x     28x 5x     23x       32x     1x        
const _ = require('lodash')
const {
  isValidISODateString,
  isValidDate
} = require('iso-datestring-validator')
 
function getDataTypeFromValue (value) {
  if (_.isNumber(value)) {
    return Number.isInteger(value) ? 'Integer' : 'Double'
  }
 
  if (isDate(value)) {
    return 'Date'
  }
 
  return 'String'
}
 
function isDate (value) {
  return value instanceof Date || ((typeof value === 'string') && (isValidDate(value) || isValidISODateString(value)))
}
 
module.exports = {
  getDataTypeFromValue,
  isDate
}