Have you ever needed to implement password policies for your codebase? This module attempts to simplify that.
import { password, min, max, hasDigit, hasSpecial } from 'simple-password-rules'
const check = password(
min(8),
max(16),
hasDigit(1),
hasSpecial(1)
)
const errors = check('password1')
if (errors) {
throw new Error(errors) // The password provided does not contain enough "special" characters. Needs 1 more.
}
A function to create a password policy.
Returns function (str: any): string A string if there is an error, undefined otherwise.
num
number
Returns function (str: any): string A string if there is an error, undefined otherwise.
num
number
Returns function (str: any): string A string if there is an error, undefined otherwise.
charSet
string The characters to check for.num
number? The minimum characters required.name
string?
Returns function (str: any): string A string if there is an error, undefined otherwise.
num
number? The minimum characters required.
Returns function (str: any): string A string if there is an error, undefined otherwise.
num
number? The minimum characters required.
Returns function (str: any): string A string if there is an error, undefined otherwise.
num
number? The minimum characters required.
Returns function (str: any): string A string if there is an error, undefined otherwise.
num
number? The minimum characters required.
Returns function (str: any): string A string if there is an error, undefined otherwise.
Returns function (str: any): string A string if there is an error, undefined otherwise.
requiredText
(string | Array<string>)substitute
(string | boolean | function (text: string): string)?
Returns function (str: any): string A string if there is an error, undefined otherwise.
Checks if some of the rules were followed, if a number is included at the end, it will check if at least that many rules were followed.
Returns function (str: any): string A string if there is an error, undefined otherwise.
Inverts the result of a rule, allowing you to specify text.
Returns function (str: any): string A string if there is an error, undefined otherwise.
Parses the string template to make it simple to create templates. "$" is the magic symbol that lets you reference the argument. Only works with template functions with less than 10 arguments, and doesn't let you traverse (input to the function should be strings).
stringTemplate
string