aiparking_api/node_modules/ow-lite/lib/object.js
2020-02-02 15:24:30 +07:00

27 lines
590 B
JavaScript

'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'
}
}