objecture
Version:
❂ Objecture ⏣ Object Watcher, Property Manager ⊚ Capture property changes for object, array mutator methods. ⊚ Schematize and validate object, array properties. ⊚ Browser, NodeJS compatible. ⁘ Uses Core-Plex - Event Listener Manage
24 lines • 800 B
JavaScript
import Validator from '../../validator/index.js'
export default class RangeValidator extends Validator {
constructor($definition = {}, $schema) {
super(Object.assign($definition, {
type: 'range',
validate: ($key, $value) => {
const definition = this.definition
let pass
if(typeof $value !== 'number') { pass = false }
else {
const { min, max } = definition
let validMin, validMax
if(min !== undefined) { validMin = ($value >= min.value) }
else { validMin = true }
if(max !== undefined) { validMax = ($value <= max.value) }
else { validMax = true }
if(validMin && validMax) { pass = true }
else { pass = false}
}
return pass
}
}), $schema)
}
}