UNPKG

@alexisanzieu/passense

Version:

SOLID password to ensure robust security

25 lines (24 loc) 892 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const TypeValidator_1 = require("./TypeValidator"); class Validator { validate(password) { return TypeValidator_1.default.isValid(password) && this.isValid(password); } mergeConfig(config, defaultConfig) { for (let attr in config) { if (!defaultConfig.hasOwnProperty(attr)) { throw new Error(`Invalid attribute '${attr}' not available on this config`); } } return Object.assign({}, defaultConfig, config); } ensureTyping(variable, type) { const typeOfVariable = typeof variable; if (typeOfVariable !== type) { throw new Error(`Invalid type for ${variable} : ${typeOfVariable}. Expected ${type}`); } return variable; } } exports.Validator = Validator;