@kwikpik/server-libs
Version:
Kwikpik-Server-Libs ===================================================================================================================================================================================================
35 lines (34 loc) • 952 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generate = generate;
var digits = "0123456789";
var alphabets = "abcdefghijklmnopqrstuvwxyz";
var upperCase = alphabets.toUpperCase();
var specialChar = "#!&@";
function randomNumber(min, max) {
return Math.floor(Math.random() * (max - min) + min);
}
function generate(length, options) {
if (length === void 0) {
length = 6;
}
if (options === void 0) {
options = {
digits: true,
alphabets: true,
upperCase: true,
specialChar: false,
};
}
var allowedCharacters =
((options.digits || "") && digits) +
((options.alphabets || "") && alphabets) +
((options.upperCase || "") && upperCase) +
((options.specialChar || "") && specialChar);
var code = "";
while (code.length < length) {
var index = randomNumber(0, allowedCharacters.length - 1);
code += allowedCharacters[index];
}
return code;
}