'use strict' const { func } = require('./symbols') const objectPredicates = { plain: (value) => { if (typeof value !== 'object') return false const proto = Object.getPrototypeOf(value) return proto === null || proto === Object.getPrototypeOf({}) }, empty: (value) => Object.keys(value).length === 0, nonEmpty: (value) => Object.keys(value).length > 0, [func]: { is: (fn) => fn, instanceOf: (v) => (value) => (value instanceof v) } } module.exports = { predicates: objectPredicates, validator: (value) => { return typeof value === 'object' } }