UNPKG

@kwikpik/server-libs

Version:

Kwikpik-Server-Libs ===================================================================================================================================================================================================

35 lines (34 loc) 952 B
"use strict"; 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; }