ajv-formats-strong-password
Version:
Easy way to add configurable strong password format to ajv to use in schema validations
26 lines (23 loc) • 1.27 kB
TypeScript
import Ajv from 'ajv';
type GeneratePasswordStrengthValidatorOptions = {
minUpper?: number;
upperCharacters?: string;
minLower?: number;
lowerCharacters?: string;
minDigit?: number;
digitCharacters?: string;
minSpecial?: number;
specialCharacters?: string;
minLength?: number;
};
declare const defaultUpperCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
declare const defaultLowerCharacters = "abcdefghijklmnopqrstuvwxyz";
declare const defaultDigitCharacters = "0123456789";
declare const defaultSpecialCharacters = " !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
declare const generatePasswordStrengthValidator: ({ minUpper, minLower, minDigit, minSpecial, minLength, upperCharacters, lowerCharacters, digitCharacters, specialCharacters, }?: GeneratePasswordStrengthValidatorOptions) => (password: string) => boolean;
type AddStrongPasswordFormatParams = {
ajvInstance: Ajv;
passwordCriteria: GeneratePasswordStrengthValidatorOptions;
};
declare const addStrongPasswordFormat: ({ ajvInstance, passwordCriteria, }: AddStrongPasswordFormatParams) => void;
export { addStrongPasswordFormat as default, defaultDigitCharacters, defaultLowerCharacters, defaultSpecialCharacters, defaultUpperCharacters, generatePasswordStrengthValidator };