UNPKG

ts-randomstring

Version:

A library used for generating random strings, written in TypeScript and based on Node.

67 lines (66 loc) 2.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCharacterSet = exports.Capitalization = exports.Capitalisation = exports.CharacterSetType = void 0; /** * Enumerates through every supported character set type for random string generation. */ var CharacterSetType; (function (CharacterSetType) { CharacterSetType[CharacterSetType["Alphanumeric"] = 0] = "Alphanumeric"; CharacterSetType[CharacterSetType["Alphabetic"] = 1] = "Alphabetic"; CharacterSetType[CharacterSetType["Numeric"] = 2] = "Numeric"; CharacterSetType[CharacterSetType["Hex"] = 3] = "Hex"; CharacterSetType[CharacterSetType["Binary"] = 4] = "Binary"; CharacterSetType[CharacterSetType["Octal"] = 5] = "Octal"; })(CharacterSetType = exports.CharacterSetType || (exports.CharacterSetType = {})); /** * Enumerates through every supported capitalisation style for random string generation. */ var Capitalisation; (function (Capitalisation) { Capitalisation[Capitalisation["Mixed"] = 0] = "Mixed"; Capitalisation[Capitalisation["Uppercase"] = 1] = "Uppercase"; Capitalisation[Capitalisation["Lowercase"] = 2] = "Lowercase"; })(Capitalisation = exports.Capitalisation || (exports.Capitalisation = {})); exports.Capitalization = Capitalisation; /** * Gets the character set by virtue of the passed character set type and capitalisation style. * * @param charSetType The character set type to pull characters from. * @param capitalisation The character capitalisation style. * @returns Returns a string of unique characters which represent the character set. */ const getCharacterSet = (charSetType, capitalisation) => { let charSet = ""; const numbers = "0123456789"; const charsLower = "abcdefghijklmnopqrstuvwxyz"; const charsUpper = charsLower.toUpperCase(); switch (charSetType) { case CharacterSetType.Alphanumeric: charSet = numbers + charsLower + charsUpper; break; case CharacterSetType.Alphabetic: charSet = charsLower + charsUpper; break; case CharacterSetType.Numeric: charSet = numbers; break; case CharacterSetType.Hex: charSet = numbers + "abcdef"; break; case CharacterSetType.Binary: charSet = "01"; break; case CharacterSetType.Octal: charSet = "01234567"; break; } if (capitalisation === Capitalisation.Uppercase) { charSet = charSet.toUpperCase(); } else if (capitalisation === Capitalisation.Lowercase) { charSet = charSet.toLowerCase(); } return charSet; }; exports.getCharacterSet = getCharacterSet;