maxProperties (value, schema, opts) {
    // validate only objects
    if (!utils.isObject(value)) return
    const maxProperties = schema.maxProperties
    const length = Object.keys(value).length
    if (length > maxProperties) {
      return makeError(length, `no more than ${maxProperties} properties`, opts)
    }
  }
Validates the count of the provided object's properties against a maximum value defined in the Schema's `maxProperties` keyword.
Validation succeeds if the object's property count is less than, or equal to the value of this keyword.
see http://json-schema.org/latest/json-schema-validation.html#anchor54

@name Schema.validationKeywords.maxProperties
@method
@param {*} value Object to be validated.
@param {object} schema Schema containing the `maxProperties` keyword.
@param {object} [opts] Configuration options.
@returns {(array|undefined)} Array of errors or `undefined` if valid.