/** * @file Determine if a value is object like. * @version 1.6.0 * @author Xotic750 * @copyright Xotic750 * @license {@link MIT} * @module is-object-like-x */ 'use strict'; var isFunction = require('is-function-x'); var isPrimitive = require('is-primitive'); /** * Checks if `value` is object-like. A value is object-like if it's not a * primitive and not a function. * * @param {*} value - The value to check. * @returns {boolean} Returns `true` if `value` is object-like, else `false`. * @example * var isObjectLike = require('is-object-like-x'); * * isObjectLike({}); * // => true * * isObjectLike([1, 2, 3]); * // => true * * isObjectLike(_.noop); * // => false * * isObjectLike(null); * // => false */ module.exports = function isObjectLike(value) { return isPrimitive(value) === false && isFunction(value, true) === false; };