Semver extension for the Joi validation library
npm install joi-extension-semver![version][npm]
![license][npm]
![build][build]
[npm]: https://www.npmjs.com/package/joi-extension-semver
[build]: https://travis-ci.org/dszakallas/joi-extension-semver
Semver extension for the [Joi][] validation library
[joi]: https://github.com/sideway/joi
``js
const { semver, semverRange } = require('joi-extension-semver')
const Joi = require('joi')
.extend(semver)
.extend(semverRange)
Joi.attempt('1.2.3', Joi.semver().valid()) // '1.2.3'
Joi.attempt('>=1.2.3', Joi.semverRange().valid()) // '>=1.2.3'
Joi.attempt('1.2.3', Joi.semver().gte('1.2.3')) // '1.2.3'
Joi.attempt('1.2.3', Joi.semver().lt('1.2.3')) // throws ValidationError
Joi.attempt('1.2.3', Joi.semver().satisfies('^1.0.0')) // '1.2.3'
`
See semver documentation. All boolean
returning comparisons are supported.
- Joi
- semver
- semver.valid()
- semver.gt(exp)
- semver.gte(exp)
- semver.lt(exp)
- semver.lte(exp)
- semver.eq(exp)
- semver.neq(exp)
- semver.cmp(cmp, exp)
- semver.satisfies(rng)
- semver.gtr(rng)
- semver.ltr(rng)
- semver.outside(hilo, rng)
- semverRange
- semverRange.valid()
Starts the chain.
#### semver.valid()valid(value)
Asserts .semver.gt(exp)
#### gt(value, exp)
Asserts .semver.gte(exp)
#### gte(value, exp)
Asserts .semver.lt(exp)
#### lt(value, exp)
Asserts .semver.lte(exp)
#### lte(value, exp)
Asserts .semver.eq(exp)
#### eq(value, exp)
Asserts .semver.neq(exp)
#### neq(value, exp)
Asserts .semver.cmp(comp, exp)
#### cmp(value, comp, exp)
Asserts .semver.satisfies(rng)
#### satisfies(value, rng)
Asserts .semver.gtr(rng)
#### gtr(value, rng)
Asserts .semver.ltr(rng)
#### ltr(value, rng)
Asserts .semver.outside(hilo, rng)
#### outside(value, hilo, rng)
Asserts .
Starts the chain.
#### semverRange.valid()validRange(value)`.
Asserts