const _toString = Object . prototype . toString ; export function isArray < T = any > ( value ) { return Array . isArray ( value ) ; } export function isDate ( date ) { return _toString . call ( date ) === '[object Date]' ; } export function isEmptyArray < T = any > ( value ) { return isArray < T > ( value ) && value . length === 0 ; } export function isEmptyObject < T = any > ( value ) { return isPlainObject < T > ( value ) && Object . keys ( value ) . length === 0 ; } export function isFunction < T extends Function = Function > ( value ) { return typeof value === 'function' ; } export function isNull ( value ) { return value === null ; } export function isPlainObject < T = never > ( value ) { return _toString . call ( value ) === '[object Object]' ; } export function isString ( value ) { return typeof value === 'string' ; } export function isUndefined ( value ) { return typeof value === 'undefined' ; }