@alexisanzieu/passense
Version:
SOLID password to ensure robust security
26 lines (19 loc) • 634 B
text/typescript
import { Validator } from './Validator';
const defaultConfig = {
minimum: 7
}
interface config {
minimum?: number;
}
export default class LengthValidator extends Validator {
private minimum: number;
constructor(config?: config) {
super();
const mergedConfig = this.mergeConfig(config, defaultConfig);
this.minimum = this.ensureTyping(mergedConfig.minimum, 'number');
}
public isValid(password: string): boolean {
if (password.length < this.minimum) { throw new Error(`The min lenght is ${this.minimum} characters`); }
return true;
}
}