27 lines
599 B
JavaScript
27 lines
599 B
JavaScript
'use strict'
|
|
|
|
const { func } = require('./symbols')
|
|
|
|
const numberPredicates = {
|
|
positive: (value) => (value > 0),
|
|
negative: (value) => (value < 0),
|
|
nonNegative: (value) => (value >= 0),
|
|
integer: (value) => (value === (value | 0)),
|
|
|
|
[func]: {
|
|
is: (fn) => fn,
|
|
eq: (v) => (value) => (value === v),
|
|
gt: (v) => (value) => (value > v),
|
|
gte: (v) => (value) => (value >= v),
|
|
lt: (v) => (value) => (value < v),
|
|
lte: (v) => (value) => (value <= v)
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
predicates: numberPredicates,
|
|
validator: (value) => {
|
|
return typeof value === 'number'
|
|
}
|
|
}
|