@validatem/is-positive

Validatem validator for ensuring that a value is a string

Usage no npm install needed!

<script type="module">
  import validatemIsPositive from 'https://cdn.skypack.dev/@validatem/is-positive';
</script>

README

@validatem/is-positive

This validator is designed to be used with Validatem, 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 to validate and parse it first.

License, donations, and other boilerplate

Licensed under either the WTFPL or CC0, 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 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.

Example

A runnable version of this example is included in the repository, as example.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 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.