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

# @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.