export const meta = {
	title: "Validator index"
};

import Module from "./components/module";

# Validator index

## Basic operations

<div class="moduleList">
	<Module
		name="required"
		type="validator"
		validates="Marks a value as being required"
	/>
	<Module
		name="anything"
		type="validator"
		validates="Allows any value (no-op)"
	/>
	<Module
		name="forbidden"
		type="validator"
		validates="Disallows any non-null value"
	/>
	<Module
		name="is-value"
		type="validator"
		validates="A given value is exactly a specific value"
	/>
	<Module
		name="one-of"
		type="validator"
		validates="A given value is one of a set of valid values"
	/>
</div>

## Basic types

<div class="moduleList">
	<Module
		name="is-string"
		type="validator"
		validates="Strings"
	/>
	<Module
		name="is-number"
		type="validator"
		validates="Numbers"
	/>
	<Module
		name="is-boolean"
		type="validator"
		validates="Booleans"
	/>
	<Module
		name="is-buffer"
		type="validator"
		validates="Buffer objects"
	/>
	<Module
		name="is-date"
		type="validator"
		validates="Date objects"
	/>
	<Module
		name="is-regular-expression"
		type="validator"
		validates="RegExp objects"
	/>
	<Module
		name="is-arguments"
		type="validator"
		validates="arguments objects"
	/>
	<Module
		name="is-function"
		type="validator"
		validates="Functions"
	/>
	<Module
		name="is-array"
		type="validator"
		validates="Arrays"
	/>
	<Module
		name="is-plain-object"
		type="validator"
		validates="Plain objects (eg. literals)"
	/>
</div>

## Numeric values

<div class="moduleList">
	<Module
		name="is-integer"
		type="validator"
		validates="A given number is an integer"
	/>
	<Module
		name="is-numeric"
		type="validator"
		validates="A given string represents a valid numeric value"
	/>
</div>

## String values

<div class="moduleList">
	<Module
		name="is-lowercase"
		type="validator"
		validates="A given string is all-lowercase"
	/>
	<Module
		name="is-uppercase"
		type="validator"
		validates="A given string is all-uppercase"
	/>
	<Module
		name="is-non-empty-string"
		type="validator"
		validates="A given string is not completely empty"
	/>
</div>

## Data structures

<div class="moduleList">
	<Module
		name="has-shape"
		type="combinator"
		validates="Object structures"
	/>
	<Module
		name="array-of"
		type="combinator"
		validates="Array contents"
	/>
</div>

## Networking

<div class="moduleList">
	<Module
		name="is-email-address"
		type="validator"
		validates="E-mail addresses"
	/>
</div>

## String formats

<div class="moduleList">
	<Module
		name="is-country-code-2"
		type="validator"
		validates="A given string is an ISO-3166-1 alpha-2 (2 character) country code"
	/>
	<Module
		name="is-country-code-3"
		type="validator"
		validates="A given string is an ISO-3166-1 alpha-3 (3 character) country code"
	/>
</div>

## Other libraries


<div class="moduleList">
	<Module
		name="is-postcss-plugin"
		type="validator"
		validates="PostCSS plugins"
	/>
</div>
