lib/options.js
function isMergeable (val) {
  return val &&
    (typeof val === "object") &&
    !Array.isArray(val) &&
    !(val instanceof RegExp) &&
    !(val instanceof Date);
}
function isMergeable (val) {
  return val &&
    (typeof val === "object") &&
    !Array.isArray(val) &&
    !(val instanceof RegExp) &&
    !(val instanceof Date);
}
function isMergeable ( val ) { return val && ( typeof val === "object" ) && ! Array . isArray ( val ) && ! ( val instanceof RegExp ) && ! ( val instanceof Date ) ; }
Determines whether the given value can be merged,
or if it is a scalar value that should just override the target value.

@param   {*}  val
@returns {Boolean}
Determines whether the given value can be merged or if it is a scalar value that should just override the target value .