@alexisanzieu/passense
Version:
SOLID password to ensure robust security
25 lines (24 loc) • 892 B
JavaScript
;
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;