index.js
function (value) {
    value += '';

    if (value.search(/^\-?\d+$/) > -1) {
      return 'integer';
    }

    if (value.search(/^\-?\d+\.\d+[\d.]*$/) > -1) {
      return 'float';
    }

    if ('false' === value || 'true' === value) {
      return 'boolean';
    }

    if (value.search(/^\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z?$/) > -1) {
      return 'datetime';
    }

    return 'string';
  }
function (value) {
    value += '';

    if (value.search(/^\-?\d+$/) > -1) {
      return 'integer';
    }

    if (value.search(/^\-?\d+\.\d+[\d.]*$/) > -1) {
      return 'float';
    }

    if ('false' === value || 'true' === value) {
      return 'boolean';
    }

    if (value.search(/^\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z?$/) > -1) {
      return 'datetime';
    }

    return 'string';
  }
function ( value ) { value += '' ; if ( value . search ( / ^\-?\d+$ / ) > - 1 ) { return 'integer' ; } if ( value . search ( / ^\-?\d+\.\d+[\d.]*$ / ) > - 1 ) { return 'float' ; } if ( 'false' === value || 'true' === value ) { return 'boolean' ; } if ( value . search ( / ^\d{4}\-\d{2}\-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z?$ / ) > - 1 ) { return 'datetime' ; } return 'string' ; }
Detect the type of `value`. Returns 'integer', 'float', 'boolean' or 'string'; defaults to 'string'.

@param {*} value

@returns {String}
Detect the type of value . Returns integer float boolean or string ; defaults to string .