You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
2.1 KiB
Markdown
51 lines
2.1 KiB
Markdown
4 years ago
|
# @validatem/is-positive
|
||
|
|
||
|
*This validator is designed to be used with [Validatem](https://validatem.cryto.net/), the universal and composable validation library.*
|
||
|
|
||
|
Validates that a given input is a positive number.
|
||
|
|
||
|
Note that this only works on numbers, not numeric strings; if you have a numeric string, you should use [@validatem/is-numeric](https://www.npmjs.com/package/@validatem/is-numeric) to validate and parse it first.
|
||
|
|
||
|
## License, donations, and other boilerplate
|
||
|
|
||
|
Licensed under either the [WTFPL](http://www.wtfpl.net/txt/copying/) or [CC0](https://creativecommons.org/publicdomain/zero/1.0/), at your choice. In practice, that means it's more or less public domain, and you can do whatever you want with it. Giving credit is *not* required, but still very much appreciated! I'd love to [hear from you](mailto:admin@cryto.net) if this module was useful to you.
|
||
|
|
||
|
Creating and maintaining open-source modules is a lot of work. A donation is also not required, but much appreciated! You can donate [here](http://cryto.net/~joepie91/donate.html).
|
||
|
|
||
|
## Example
|
||
|
|
||
|
A runnable version of this example is included in the repository, as `example.js`.
|
||
|
|
||
|
```js
|
||
|
"use strict";
|
||
|
|
||
|
const { validateValue } = require("@validatem/core");
|
||
|
const isPositive = require("@validatem/is-positive");
|
||
|
|
||
|
console.log(validateValue(42, [ isPositive ])); // 42
|
||
|
|
||
|
console.log(validateValue(-12, [ isPositive ])); /*
|
||
|
AggregrateValidationError: One or more validation errors occurred:
|
||
|
- At (root): Must be a positive number
|
||
|
*/
|
||
|
```
|
||
|
|
||
|
## API
|
||
|
|
||
|
__If you are new to Validatem,__ please read the documentation on the [Validatem website](https://validatem.cryto.net/) first - it will explain how the general API works, and how you should use validator modules with it.
|
||
|
|
||
|
### isPositive
|
||
|
|
||
|
Not callable. Validates that the input is a positive number. When validation passes, it returns the original number as-is.
|
||
|
|
||
|
Possible error codes:
|
||
|
- __validatem.is-number.number:__ The input was not a number.
|
||
|
- __validatem.is-number.nan:__ The input was NaN.
|
||
|
- __validatem.is-positive:__ The input was a number, but not a positive one.
|
||
|
|
||
|
## Changelog
|
||
|
|
||
|
### 1.0.0 (August 8, 2020)
|
||
|
|
||
|
Initial release.
|