function isSet(obj, prop) {
          var value = obj[prop];
          if (value != null && obj.hasOwnProperty(prop))
            // eslint-disable-line eqeqeq, no-prototype-builtins
            return (
              typeof value !== "object" ||
              (Array.isArray(value)
                ? value.length
                : Object.keys(value).length) > 0
            );
          return false;
        }
/**
         * Checks if a property on a message is considered to be present.
         * @param {Object} obj Plain object or message instance
         * @param {string} prop Property name
         * @returns {boolean} `true` if considered to be present, otherwise `false`
         */
Checks if a property on a message is considered to be present.
@param {Object} obj Plain object or message instance
@param {string} prop Property name
@returns {boolean} `true` if considered to be present, otherwise `false`
Checks if a property on a message is considered to be present . @param { Object } obj Plain object or message instance @param { string } prop Property name @returns { boolean } ` true ` if considered to be present otherwise ` false `
function isSet(obj, prop) {
          var value = obj[prop];
          if (value != null && obj.hasOwnProperty(prop))
            return (
              typeof value !== "object" ||
              (Array.isArray(value)
                ? value.length
                : Object.keys(value).length) > 0
            );
          return false;
        }
function isSet ( obj , prop ) { var value = obj [ prop ] ; if ( value != null && obj . hasOwnProperty ( prop ) ) return ( typeof value !== "object" || ( Array . isArray ( value ) ? value . length : Object . keys ( value ) . length ) > 0 ) ; return false ; }
Checks if a property on a message is considered to be present.
Checks if a property on a message is considered to be present .
// eslint-disable-line eqeqeq, no-prototype-builtins