index.js
function hasOwnProperties(exclude) {
    const arg = this;
    if (!isObjectLike(arg)) return false;

    if (!isValid(exclude)) {
        const keys = Object.keys(arg);
        return keys.length > 0;
    }
    return !!eachProp.call(arg, resolveTestFunc(exclude, objectHasNotOwnPropertyBreakTrue, arrayContainsNotKeyBreakTrue, testFuncNotBreakTrue, alwaysBreakTrue, keyNotEqualsBreakTrue), exclude);
}
function hasOwnProperties(exclude) {
    const arg = this;
    if (!isObjectLike(arg)) return false;

    if (!isValid(exclude)) {
        const keys = Object.keys(arg);
        return keys.length > 0;
    }
    return !!eachProp.call(arg, resolveTestFunc(exclude, objectHasNotOwnPropertyBreakTrue, arrayContainsNotKeyBreakTrue, testFuncNotBreakTrue, alwaysBreakTrue, keyNotEqualsBreakTrue), exclude);
}
function hasOwnProperties ( exclude ) { const arg = this ; if ( ! isObjectLike ( arg ) ) return false ; if ( ! isValid ( exclude ) ) { const keys = Object . keys ( arg ) ; return keys . length > 0 ; } return ! ! eachProp . call ( arg , resolveTestFunc ( exclude , objectHasNotOwnPropertyBreakTrue , arrayContainsNotKeyBreakTrue , testFuncNotBreakTrue , alwaysBreakTrue , keyNotEqualsBreakTrue ) , exclude ) ; }
test if this has own properties ie. not empty object, optionally apply exclusion filter to
ignore some properties
@this {*}            value to test
@param exclude {*}   function, array, object or value containing keys to be excluded
@return {boolean}
test if this has own properties ie . not empty object optionally apply exclusion filter to ignore some properties