UNPKG

@password-generator/package

Version:
39 lines (38 loc) 1.4 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const checkErros_1 = __importDefault(require("./checkErros")); const generateCharacter_1 = __importDefault(require("./generateCharacter")); const generatePronounceableString_1 = __importDefault(require("./generatePronounceableString")); const generatePassword = ({ length, initialText = '', useChars, }) => { let password = ''; checkErros_1.default({ length, initialText, useChars }); const checks = Object.entries(useChars); if (useChars.pronounceable) { password = `${initialText}${generatePronounceableString_1.default(length)}`; return password; } for (let c = 0, i = 0; c < length - initialText.length; c += 1) { const target = checks[i][0]; const value = checks[i][1]; if (value === true) { password += generateCharacter_1.default[target](); } else { c -= 1; } if (i === checks.length - 1) i = 0; else i += 1; } password = password .split('') .sort(() => 0.5 - Math.random()) .join(''); password = `${initialText}${password}`; return password; }; exports.default = generatePassword;