rpg-b
Version:
Simple Random password generator
103 lines (92 loc) • 3.62 kB
JavaScript
const processOption = (options) => {
if (typeof options == "undefined") {
options = {
LENGTH: 10,
ALLOW_ALPHABETS_LOWERCASE: true,
ALLOW_ALPHABETS_UPPERCASE: true,
ALLOW_NUMBERS: true,
ALLOW_SPECIAL_CHARACTERS: true,
EXCEPTIONS: "",
FIRST_CHARACTER_LOWERCASE: true,
FIRST_CHARACTER_UPPERCASE: false,
FIRST_CHARACTER_NUMBER: false,
FIRST_CHARACTER_SPECIAL_CHARACTER: false,
MIN_ALPHABETS_LOWERCASE: 1,
MIN_ALPHABETS_UPPERCASE: 1,
MIN_NUMBERS: 1,
MIN_SPECIAL_CHARACTERS: 1,
};
} else {
options.LENGTH = typeof options.LENGTH == "undefined" ? 10 : options.LENGTH;
options.ALLOW_ALPHABETS_LOWERCASE =
typeof options.ALLOW_ALPHABETS_LOWERCASE == "undefined"
? true
: options.ALLOW_ALPHABETS_LOWERCASE;
options.ALLOW_ALPHABETS_UPPERCASE =
typeof options.ALLOW_ALPHABETS_UPPERCASE == "undefined"
? true
: options.ALLOW_ALPHABETS_UPPERCASE;
options.ALLOW_NUMBERS =
typeof options.ALLOW_NUMBERS == "undefined"
? true
: options.ALLOW_NUMBERS;
options.ALLOW_SPECIAL_CHARACTERS =
typeof options.ALLOW_SPECIAL_CHARACTERS == "undefined"
? true
: options.ALLOW_SPECIAL_CHARACTERS;
if (options.ALLOW_ALPHABETS_LOWERCASE) {
options.FIRST_CHARACTER_LOWERCASE =
typeof options.FIRST_CHARACTER_LOWERCASE == "undefined"
? true
: options.FIRST_CHARACTER_LOWERCASE;
options.MIN_ALPHABETS_LOWERCASE =
typeof options.MIN_ALPHABETS_LOWERCASE == "undefined"
? 1
: options.MIN_ALPHABETS_LOWERCASE;
} else {
options.FIRST_CHARACTER_LOWERCASE = false;
options.MIN_ALPHABETS_LOWERCASE = 0;
}
if (options.ALLOW_ALPHABETS_UPPERCASE) {
options.FIRST_CHARACTER_UPPERCASE =
typeof options.FIRST_CHARACTER_UPPERCASE == "undefined"
? false
: options.FIRST_CHARACTER_UPPERCASE;
options.MIN_ALPHABETS_UPPERCASE =
typeof options.MIN_ALPHABETS_UPPERCASE == "undefined"
? 1
: options.MIN_ALPHABETS_UPPERCASE;
} else {
options.FIRST_CHARACTER_UPPERCASE = false;
options.MIN_ALPHABETS_UPPERCASE = 0;
}
if (options.ALLOW_NUMBERS) {
options.FIRST_CHARACTER_NUMBER =
typeof options.FIRST_CHARACTER_NUMBER == "undefined"
? false
: options.FIRST_CHARACTER_NUMBER;
options.MIN_NUMBERS =
typeof options.MIN_NUMBERS == "undefined" ? 1 : options.MIN_NUMBERS;
} else {
options.FIRST_CHARACTER_NUMBER = false;
options.MIN_NUMBERS = 0;
}
if (options.ALLOW_SPECIAL_CHARACTERS) {
options.FIRST_CHARACTER_SPECIAL_CHARACTER =
typeof options.FIRST_CHARACTER_SPECIAL_CHARACTER == "undefined"
? false
: options.FIRST_CHARACTER_SPECIAL_CHARACTER;
options.MIN_SPECIAL_CHARACTERS =
typeof options.MIN_NUMBERS == "undefined"
? 1
: options.MIN_SPECIAL_CHARACTERS;
} else {
options.FIRST_CHARACTER_SPECIAL_CHARACTER = false;
options.MIN_SPECIAL_CHARACTERS = 0;
}
options.EXCEPTIONS =
typeof options.EXCEPTIONS == "undefined" ? "" : options.EXCEPTIONS;
}
return options;
};
module.exports = processOption;