@toreda/verify
v0.12.3
Published
Automated validation. Eliminate edge cases with less code.
Downloads
25
Readme

verify
Automated verification for forms, fields, and objects. Eliminate common edge cases. Automate common type checks and validation checks.
Sections
Rulesets
// Create a ruleset using the expected type to be verified
const ruleset = new Ruleset<number>();
// Get a 'value' object from ruleset used to create rules.
const value = ruleset.value();lessThan
// Validate whether number input less than 0.
const ruleset = new Ruleset<number>();
const value = ruleset.value();
ruleset.add(value.must.be.between(0, 5));
// Tests input against all rules in ruleset.
const result = await ruleset.verify(-99);// Validate whether number input is not less than 0.
const ruleset = new Ruleset<number>();
const value = ruleset.value();
ruleset.add(value.must.not.be.lessThan(0));
// Tests input against all rules in ruleset.
const result = await ruleset.verify(1);between
// Validate whether number input is greater than 100.
const ruleset = new Ruleset<number>();
const value = ruleset.value();
ruleset.add(value.must.be.greaterThan(100));
// Tests input against all rules in ruleset.
const result = await ruleset.verify(20000);greaterThan
// Validate whether number input is greater than 100.
const ruleset = new Ruleset<number>();
const value = ruleset.value();
ruleset.add(value.must.be.greaterThan(100));
// Tests input against all rules in ruleset.
const result = await ruleset.verify(20000);equalTo
// Value must be equal to this
const ruleset = new Ruleset<number>();
const value = ruleset.value();
ruleset.add(value.must.be.equalTo(100));
// Tests input against all rules in ruleset.
const result = await ruleset.verify(100);number values
// Validate whether number input is exactly 10.
const ruleset = new Ruleset<number>();
const value = ruleset.value();
ruleset.add(value.must.be.equalTo(10));
// Tests input against all rules in ruleset.
const result = await ruleset.verify(0);string values
// Validate whether string input matches 'one'.
const ruleset = new Ruleset<string>();
const value = ruleset.value();
ruleset.add(value.must.be.equalTo('one'));
// Tests input against all rules in ruleset.
const result = await ruleset.verify('valuehere');Checks
verifyArray
Check that value is a valid array.
verifyArrayEmpty
Check that value is a valid array and empty.
verifyBigInt
Check that value is a BigInt type, is an integer, and is finite.
verifyBoolean
Check that value has a boolean value true or false. Does not use type coercion.
verifyStringId
Configurable validator for string-based ID values. Accepts a number of boundary condition parameters including min/max length, allow empty, allow nulls, auto-trim, etc.
verifyUrl
Configurable validator for URL values.
Rule Validators
Rule validators check for a single condition using one or more function arguments and return a strict boolean value true or false.
Maths
powOf
Determine if value is a power of exponent.
Use cases
- User uploaded image dimensions.
- Texture sizes with size requirements, e.g. the power of 2 rule.
- Cases where inputs may have non-number or non-finite values.
- Performs type and bound checks on values before attempting to use math functions and returns
falseif the call would otherwise fail.
// Determine if 0 is a power of 1.
const result = powOf(0, 1);// Determine if 100 is a power of 10.
const result = powOf(100, 10);
Collections
isArrayEmpty
Determine if value is an array and if so, whether it's empty. Does not throw. Returns false in all cases where value is not an array.
const value: string[] = ['one'];
// Result is FALSE.
const result = isArrayEmpty(value);// Result is FALSE.
const result = isArrayEmpty(null);// Result is FALSE.
const result = isArrayEmpty({});TypeScript Equivalent
const value: unknown = '081408';
const result = Array.isArray(value) && value.length === 0;
Package
@toreda/verify on NPM.
Source Code
@toreda/verify source on Github.
Contributions
Bug reports, comments, and pull requests are welcome.
Legal
License
MIT © Toreda, Inc.
Copyright
Copyright © 2019 - 2025 Toreda, Inc. All Rights Reserved.
Github
https://github.com/toreda
Website
https://www.toreda.com
