js-generate-password 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -7
- package/dist/index.js +36 -0
- package/dist/lib/check-options-error.js +23 -0
- package/dist/lib/generate-random-number.js +8 -0
- package/dist/lib/password-generator.js +64 -0
- package/dist/lib/process-options.js +57 -0
- package/dist/lib/shuffle-string.js +16 -0
- package/dist/lib/types.js +2 -0
- package/package.json +3 -5
- package/{index.d.ts → src/index.d.ts} +1 -1
- package/src/index.ts +39 -0
- package/index.js +0 -16
- package/lib/check-options-error.js +0 -40
- package/lib/generate-random-number.js +0 -5
- package/lib/password-generator.js +0 -90
- package/lib/process-options.js +0 -72
- package/lib/shuffle-string.js +0 -14
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ or
|
|
|
25
25
|
For the password to be generated, **parameters** are able to pass as an optional **options** object.
|
|
26
26
|
|
|
27
27
|
```javascript
|
|
28
|
-
import GeneratePassword from "js-generate-password";
|
|
28
|
+
import { GeneratePassword } from "js-generate-password";
|
|
29
29
|
const password = GeneratePassword({
|
|
30
30
|
length: 14,
|
|
31
31
|
symbols: true,
|
|
@@ -74,7 +74,7 @@ Any of these can be passed into the options object for each function.
|
|
|
74
74
|
- **No Options passed.**
|
|
75
75
|
|
|
76
76
|
```javscript
|
|
77
|
-
const GeneratePassword = require("js-generate-password");
|
|
77
|
+
const {GeneratePassword} = require("js-generate-password");
|
|
78
78
|
const password = GeneratePassword();
|
|
79
79
|
console.log(password);
|
|
80
80
|
```
|
|
@@ -88,14 +88,11 @@ xDU6izb3PV;
|
|
|
88
88
|
- **Length parameter passed.**
|
|
89
89
|
|
|
90
90
|
```javascript
|
|
91
|
-
|
|
92
|
-
length : 25;
|
|
93
|
-
}
|
|
94
|
-
password = GeneratePassword(options);
|
|
91
|
+
const password = GeneratePassword({ length: 25 });
|
|
95
92
|
console.log(password);
|
|
96
93
|
```
|
|
97
94
|
|
|
98
|
-
The password generated is
|
|
95
|
+
The password generated is like this
|
|
99
96
|
|
|
100
97
|
```javascript
|
|
101
98
|
U4c3KpQP5UrbZgTcrqMgFeI3R;
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GeneratePassword = void 0;
|
|
4
|
+
const password_generator_1 = require("./lib/password-generator");
|
|
5
|
+
const check_options_error_1 = require("./lib/check-options-error");
|
|
6
|
+
const process_options_1 = require("./lib/process-options");
|
|
7
|
+
function GeneratePassword(options) {
|
|
8
|
+
let pswd;
|
|
9
|
+
if (options) {
|
|
10
|
+
options = (0, process_options_1.processOption)(options);
|
|
11
|
+
(0, check_options_error_1.checkError)(options);
|
|
12
|
+
pswd = (0, password_generator_1.generatePswd)(options);
|
|
13
|
+
return pswd;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
let opt = {
|
|
17
|
+
length: 10,
|
|
18
|
+
lowercase: true,
|
|
19
|
+
uppercase: true,
|
|
20
|
+
numbers: true,
|
|
21
|
+
symbols: false,
|
|
22
|
+
exclude: "",
|
|
23
|
+
minLengthLowercase: 1,
|
|
24
|
+
minLengthUppercase: 1,
|
|
25
|
+
minLengthNumbers: 1,
|
|
26
|
+
minLengthSymbols: 0,
|
|
27
|
+
};
|
|
28
|
+
options = (0, process_options_1.processOption)(opt);
|
|
29
|
+
(0, check_options_error_1.checkError)(options);
|
|
30
|
+
pswd = (0, password_generator_1.generatePswd)(options);
|
|
31
|
+
return pswd;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.GeneratePassword = GeneratePassword;
|
|
35
|
+
console.log(GeneratePassword({ minLengthLowercase: 4 }));
|
|
36
|
+
exports.default = { GeneratePassword };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkError = void 0;
|
|
4
|
+
const checkError = (options) => {
|
|
5
|
+
const { length, lowercase, uppercase, numbers, symbols, minLengthLowercase, minLengthUppercase, minLengthNumbers, minLengthSymbols, } = options;
|
|
6
|
+
//Checking if the sum of minimum characters of Lowercase, uppercase, numbers and special case is greater than the total password length.
|
|
7
|
+
if (minLengthLowercase +
|
|
8
|
+
minLengthUppercase +
|
|
9
|
+
minLengthNumbers +
|
|
10
|
+
minLengthSymbols >
|
|
11
|
+
length) {
|
|
12
|
+
throw new Error("Sum of Minimum Characters in the passwords greater than the length of the Password to be generated.");
|
|
13
|
+
}
|
|
14
|
+
//Checking if lowercase, uppercase , numbers and special characters have all been set to false.
|
|
15
|
+
if (lowercase == false &&
|
|
16
|
+
uppercase == false &&
|
|
17
|
+
numbers == false &&
|
|
18
|
+
symbols == false) {
|
|
19
|
+
throw new Error("Alphabets, Numbers and Symbols are all set to False. No valid Characters to generate the Password.");
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports.checkError = checkError;
|
|
23
|
+
// module.exports = checkError;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateRandomNumbers = void 0;
|
|
4
|
+
const generateRandomNumbers = (upperLimit) => {
|
|
5
|
+
return Math.floor(Math.random() * upperLimit);
|
|
6
|
+
};
|
|
7
|
+
exports.generateRandomNumbers = generateRandomNumbers;
|
|
8
|
+
// module.exports = generateRandomNumbers;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generatePswd = void 0;
|
|
4
|
+
// const generategenerateRandomNumberss = require("./generate-random-number");
|
|
5
|
+
// const shuffleString = require("./shuffle-string");
|
|
6
|
+
const generate_random_number_1 = require("./generate-random-number");
|
|
7
|
+
const shuffle_string_1 = require("./shuffle-string");
|
|
8
|
+
const generatePswd = (options) => {
|
|
9
|
+
let pswd = "";
|
|
10
|
+
let minChar = "";
|
|
11
|
+
let { length, lowercase, uppercase, numbers, symbols, minLengthLowercase, minLengthUppercase, minLengthNumbers, minLengthSymbols, exclude, } = options;
|
|
12
|
+
let lowercaseChar = "abcdefghijklmnopqrstuvwxyz";
|
|
13
|
+
lowercaseChar = removeExceptions(lowercaseChar, exclude);
|
|
14
|
+
let uppercaseChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
15
|
+
uppercaseChar = removeExceptions(uppercaseChar, exclude);
|
|
16
|
+
let numberChar = "0123456789";
|
|
17
|
+
numberChar = removeExceptions(numberChar, exclude);
|
|
18
|
+
let specialChar = "!#$%&'()*+,-./:;<=>?@[]^_{|}~";
|
|
19
|
+
specialChar = removeExceptions(specialChar, exclude);
|
|
20
|
+
// Generating a minChar string that holds minimum number of characters on the User Option Selection.
|
|
21
|
+
// The minChar variable will store the minimum number of characters for each type - lowercase, uppercase, numbers, and symbols.
|
|
22
|
+
// Then, the minChar variable is shuffled to make the password random.
|
|
23
|
+
let upperLimit = lowercaseChar.length;
|
|
24
|
+
for (let i = 0; i < minLengthLowercase; i++) {
|
|
25
|
+
minChar += lowercaseChar.charAt((0, generate_random_number_1.generateRandomNumbers)(upperLimit));
|
|
26
|
+
}
|
|
27
|
+
upperLimit = uppercaseChar.length;
|
|
28
|
+
for (let i = 0; i < minLengthUppercase; i++) {
|
|
29
|
+
minChar += uppercaseChar.charAt((0, generate_random_number_1.generateRandomNumbers)(upperLimit));
|
|
30
|
+
}
|
|
31
|
+
upperLimit = numberChar.length;
|
|
32
|
+
for (let i = 0; i < minLengthNumbers; i++) {
|
|
33
|
+
minChar += numberChar.charAt((0, generate_random_number_1.generateRandomNumbers)(upperLimit));
|
|
34
|
+
}
|
|
35
|
+
upperLimit = specialChar.length;
|
|
36
|
+
for (let i = 0; i < minLengthSymbols; i++) {
|
|
37
|
+
minChar += specialChar.charAt((0, generate_random_number_1.generateRandomNumbers)(upperLimit));
|
|
38
|
+
}
|
|
39
|
+
//Shuffling the minChar to generate a password that holds minimum criteria.
|
|
40
|
+
pswd = pswd + (0, shuffle_string_1.shuffleString)(minChar);
|
|
41
|
+
let characterString = "";
|
|
42
|
+
characterString = lowercase
|
|
43
|
+
? characterString + lowercaseChar
|
|
44
|
+
: characterString;
|
|
45
|
+
characterString = uppercase
|
|
46
|
+
? characterString + uppercaseChar
|
|
47
|
+
: characterString;
|
|
48
|
+
characterString = numbers ? characterString + numberChar : characterString;
|
|
49
|
+
characterString = symbols ? characterString + specialChar : characterString;
|
|
50
|
+
let remainingChar = length - pswd.length;
|
|
51
|
+
upperLimit = characterString.length;
|
|
52
|
+
for (let i = 0; i < remainingChar; i++) {
|
|
53
|
+
pswd += characterString.charAt((0, generate_random_number_1.generateRandomNumbers)(upperLimit));
|
|
54
|
+
}
|
|
55
|
+
return pswd;
|
|
56
|
+
};
|
|
57
|
+
exports.generatePswd = generatePswd;
|
|
58
|
+
const removeExceptions = (str, EXCEPTIONS) => {
|
|
59
|
+
EXCEPTIONS === null || EXCEPTIONS === void 0 ? void 0 : EXCEPTIONS.split("").forEach((char) => {
|
|
60
|
+
str = str.replace(char, "");
|
|
61
|
+
});
|
|
62
|
+
return str;
|
|
63
|
+
};
|
|
64
|
+
// module.exports = generatePassword;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processOption = void 0;
|
|
4
|
+
const processOption = (options) => {
|
|
5
|
+
{
|
|
6
|
+
options.length = typeof options.length == "undefined" ? 10 : options.length;
|
|
7
|
+
options.lowercase =
|
|
8
|
+
typeof options.lowercase == "undefined" ? true : options.lowercase;
|
|
9
|
+
options.uppercase =
|
|
10
|
+
typeof options.uppercase == "undefined" ? true : options.uppercase;
|
|
11
|
+
options.numbers =
|
|
12
|
+
typeof options.numbers == "undefined" ? true : options.numbers;
|
|
13
|
+
options.symbols =
|
|
14
|
+
typeof options.symbols == "undefined" ? false : options.symbols;
|
|
15
|
+
if (options.lowercase) {
|
|
16
|
+
options.minLengthLowercase =
|
|
17
|
+
typeof options.minLengthLowercase == "undefined"
|
|
18
|
+
? 1
|
|
19
|
+
: options.minLengthLowercase;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
options.minLengthLowercase = 0;
|
|
23
|
+
}
|
|
24
|
+
if (options.uppercase) {
|
|
25
|
+
options.minLengthUppercase =
|
|
26
|
+
typeof options.minLengthUppercase == "undefined"
|
|
27
|
+
? 1
|
|
28
|
+
: options.minLengthUppercase;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
options.minLengthUppercase = 0;
|
|
32
|
+
}
|
|
33
|
+
if (options.numbers) {
|
|
34
|
+
options.minLengthNumbers =
|
|
35
|
+
typeof options.minLengthNumbers == "undefined"
|
|
36
|
+
? 1
|
|
37
|
+
: options.minLengthNumbers;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
options.minLengthNumbers = 0;
|
|
41
|
+
}
|
|
42
|
+
if (options.symbols) {
|
|
43
|
+
options.minLengthSymbols =
|
|
44
|
+
typeof options.minLengthSymbols == "undefined"
|
|
45
|
+
? 1
|
|
46
|
+
: options.minLengthSymbols;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
options.minLengthSymbols = 0;
|
|
50
|
+
}
|
|
51
|
+
options.exclude =
|
|
52
|
+
typeof options.exclude == "undefined" ? "" : options.exclude;
|
|
53
|
+
}
|
|
54
|
+
return options;
|
|
55
|
+
};
|
|
56
|
+
exports.processOption = processOption;
|
|
57
|
+
// module.exports = processOption;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shuffleString = void 0;
|
|
4
|
+
const shuffleString = (str) => {
|
|
5
|
+
let arr = str.split("");
|
|
6
|
+
let n = arr.length;
|
|
7
|
+
for (let i = n - 1; i > 0; i--) {
|
|
8
|
+
let j = Math.floor(Math.random() * (i + 1));
|
|
9
|
+
let tmp = arr[i];
|
|
10
|
+
arr[i] = arr[j];
|
|
11
|
+
arr[j] = tmp;
|
|
12
|
+
}
|
|
13
|
+
return arr.join("");
|
|
14
|
+
};
|
|
15
|
+
exports.shuffleString = shuffleString;
|
|
16
|
+
// module.exports = shuffleString;
|
package/package.json
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "js-generate-password",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Password Generator for using in javascirpt/typscript based projects.",
|
|
6
|
-
"main": "index.js",
|
|
7
|
-
"bin": "index.js",
|
|
8
|
-
"exports": "./index.js",
|
|
9
|
-
"types": "index.d.ts",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"bin": "./dist/index.js",
|
|
10
8
|
"scripts": {
|
|
11
9
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
12
10
|
},
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { generatePswd } from "./lib/password-generator";
|
|
2
|
+
import { checkError } from "./lib/check-options-error";
|
|
3
|
+
import { processOption } from "./lib/process-options";
|
|
4
|
+
import { GenerateOptions } from "./lib/types";
|
|
5
|
+
|
|
6
|
+
function GeneratePassword(options?: GenerateOptions) {
|
|
7
|
+
let pswd;
|
|
8
|
+
if (options) {
|
|
9
|
+
options = processOption(options);
|
|
10
|
+
|
|
11
|
+
checkError(options);
|
|
12
|
+
|
|
13
|
+
pswd = generatePswd(options);
|
|
14
|
+
return pswd;
|
|
15
|
+
} else {
|
|
16
|
+
let opt = {
|
|
17
|
+
length: 10,
|
|
18
|
+
lowercase: true,
|
|
19
|
+
uppercase: true,
|
|
20
|
+
numbers: true,
|
|
21
|
+
symbols: false,
|
|
22
|
+
exclude: "",
|
|
23
|
+
minLengthLowercase: 1,
|
|
24
|
+
minLengthUppercase: 1,
|
|
25
|
+
minLengthNumbers: 1,
|
|
26
|
+
minLengthSymbols: 0,
|
|
27
|
+
};
|
|
28
|
+
options = processOption(opt);
|
|
29
|
+
|
|
30
|
+
checkError(options);
|
|
31
|
+
|
|
32
|
+
pswd = generatePswd(options);
|
|
33
|
+
return pswd;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
console.log(GeneratePassword({ minLengthLowercase: 4 }));
|
|
38
|
+
export { GeneratePassword };
|
|
39
|
+
export default { GeneratePassword };
|
package/index.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const passwords = require("./lib/password-generator.js");
|
|
2
|
-
const errorCheck = require("./lib/check-options-error");
|
|
3
|
-
const processOptions = require("./lib/process-options");
|
|
4
|
-
|
|
5
|
-
function GeneratePassword(options) {
|
|
6
|
-
options = processOptions(options);
|
|
7
|
-
|
|
8
|
-
errorCheck(options);
|
|
9
|
-
|
|
10
|
-
const pswd = passwords(options);
|
|
11
|
-
|
|
12
|
-
return pswd;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
exports.default = GeneratePassword;
|
|
16
|
-
module.exports = GeneratePassword;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
const checkError = (options) => {
|
|
2
|
-
const {
|
|
3
|
-
length,
|
|
4
|
-
lowercase,
|
|
5
|
-
uppercase,
|
|
6
|
-
numbers,
|
|
7
|
-
symbols,
|
|
8
|
-
minLengthLowercase,
|
|
9
|
-
minLengthUppercase,
|
|
10
|
-
minLengthNumbers,
|
|
11
|
-
minLengthSymbols,
|
|
12
|
-
} = options;
|
|
13
|
-
|
|
14
|
-
//Checking if the sum of minimum characters of Lowercase, uppercase, numbers and special case is greater than the total password length.
|
|
15
|
-
if (
|
|
16
|
-
minLengthLowercase +
|
|
17
|
-
minLengthUppercase +
|
|
18
|
-
minLengthNumbers +
|
|
19
|
-
minLengthSymbols >
|
|
20
|
-
length
|
|
21
|
-
) {
|
|
22
|
-
throw new Error(
|
|
23
|
-
"Sum of Minimum Characters in the passwords greater than the length of the Password to be generated."
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
//Checking if lowercase, uppercase , numbers and special characters have all been set to false.
|
|
28
|
-
if (
|
|
29
|
-
lowercase == false &&
|
|
30
|
-
uppercase == false &&
|
|
31
|
-
numbers == false &&
|
|
32
|
-
symbols == false
|
|
33
|
-
) {
|
|
34
|
-
throw new Error(
|
|
35
|
-
"Alphabets, Numbers and Symbols are all set to False. No valid Characters to generate the Password."
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
module.exports = checkError;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
const randomNumber = require("./generate-random-number");
|
|
2
|
-
const shuffleString = require("./shuffle-string");
|
|
3
|
-
|
|
4
|
-
const generatePassword = (options) => {
|
|
5
|
-
let pswd = "";
|
|
6
|
-
let minChar = "";
|
|
7
|
-
let {
|
|
8
|
-
length,
|
|
9
|
-
lowercase,
|
|
10
|
-
uppercase,
|
|
11
|
-
numbers,
|
|
12
|
-
symbols,
|
|
13
|
-
minLengthLowercase,
|
|
14
|
-
minLengthUppercase,
|
|
15
|
-
minLengthNumbers,
|
|
16
|
-
minLengthSymbols,
|
|
17
|
-
exclude,
|
|
18
|
-
} = options;
|
|
19
|
-
|
|
20
|
-
let lowercaseChar = "abcdefghijklmnopqrstuvwxyz";
|
|
21
|
-
lowercaseChar = removeExceptions(lowercaseChar, exclude);
|
|
22
|
-
|
|
23
|
-
let uppercaseChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
24
|
-
uppercaseChar = removeExceptions(uppercaseChar, exclude);
|
|
25
|
-
|
|
26
|
-
let numberChar = "0123456789";
|
|
27
|
-
numberChar = removeExceptions(numberChar, exclude);
|
|
28
|
-
|
|
29
|
-
let specialChar = "!#$%&'()*+,-./:;<=>?@[]^_{|}~";
|
|
30
|
-
specialChar = removeExceptions(specialChar, exclude);
|
|
31
|
-
|
|
32
|
-
// Generating a minChar string that holds minimum number of characters on the User Option Selection.
|
|
33
|
-
// The minChar variable will store the minimum number of characters for each type - lowercase, uppercase, numbers, and symbols.
|
|
34
|
-
// Then, the minChar variable is shuffled to make the password random.
|
|
35
|
-
|
|
36
|
-
upperLimit = lowercaseChar.length;
|
|
37
|
-
for (i = 0; i < minLengthLowercase; i++) {
|
|
38
|
-
minChar += lowercaseChar.charAt(randomNumber(upperLimit));
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
upperLimit = uppercaseChar.length;
|
|
42
|
-
for (i = 0; i < minLengthUppercase; i++) {
|
|
43
|
-
minChar += uppercaseChar.charAt(randomNumber(upperLimit));
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
upperLimit = numberChar.length;
|
|
47
|
-
for (i = 0; i < minLengthNumbers; i++) {
|
|
48
|
-
minChar += numberChar.charAt(randomNumber(upperLimit));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
upperLimit = specialChar.length;
|
|
52
|
-
for (i = 0; i < minLengthSymbols; i++) {
|
|
53
|
-
minChar += specialChar.charAt(randomNumber(upperLimit));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
//Shuffling the minChar to generate a password that holds minimum criteria.
|
|
57
|
-
pswd = pswd + shuffleString(minChar);
|
|
58
|
-
|
|
59
|
-
characterString = "";
|
|
60
|
-
|
|
61
|
-
characterString = lowercase
|
|
62
|
-
? characterString + lowercaseChar
|
|
63
|
-
: characterString;
|
|
64
|
-
|
|
65
|
-
characterString = uppercase
|
|
66
|
-
? characterString + uppercaseChar
|
|
67
|
-
: characterString;
|
|
68
|
-
|
|
69
|
-
characterString = numbers ? characterString + numberChar : characterString;
|
|
70
|
-
|
|
71
|
-
characterString = symbols ? characterString + specialChar : characterString;
|
|
72
|
-
|
|
73
|
-
remainingChar = length - pswd.length;
|
|
74
|
-
|
|
75
|
-
upperLimit = characterString.length;
|
|
76
|
-
|
|
77
|
-
for (i = 0; i < remainingChar; i++) {
|
|
78
|
-
pswd += characterString.charAt(randomNumber(upperLimit));
|
|
79
|
-
}
|
|
80
|
-
return pswd;
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
const removeExceptions = (str, EXCEPTIONS) => {
|
|
84
|
-
EXCEPTIONS?.split("").forEach((char) => {
|
|
85
|
-
str = str.replace(char, "");
|
|
86
|
-
});
|
|
87
|
-
return str;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
module.exports = generatePassword;
|
package/lib/process-options.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
const processOption = (options) => {
|
|
2
|
-
if (typeof options == "undefined") {
|
|
3
|
-
options = {
|
|
4
|
-
length: 10,
|
|
5
|
-
lowercase: true,
|
|
6
|
-
uppercase: true,
|
|
7
|
-
numbers: true,
|
|
8
|
-
symbols: false,
|
|
9
|
-
exclude: "",
|
|
10
|
-
minLengthLowercase: 1,
|
|
11
|
-
minLengthUppercase: 1,
|
|
12
|
-
minLengthNumbers: 1,
|
|
13
|
-
minLengthSymbols: 0,
|
|
14
|
-
};
|
|
15
|
-
} else {
|
|
16
|
-
options.length = typeof options.length == "undefined" ? 10 : options.length;
|
|
17
|
-
|
|
18
|
-
options.lowercase =
|
|
19
|
-
typeof options.lowercase == "undefined" ? true : options.lowercase;
|
|
20
|
-
|
|
21
|
-
options.uppercase =
|
|
22
|
-
typeof options.uppercase == "undefined" ? true : options.uppercase;
|
|
23
|
-
|
|
24
|
-
options.numbers =
|
|
25
|
-
typeof options.numbers == "undefined" ? true : options.numbers;
|
|
26
|
-
|
|
27
|
-
options.symbols =
|
|
28
|
-
typeof options.symbols == "undefined" ? false : options.symbols;
|
|
29
|
-
|
|
30
|
-
if (options.lowercase) {
|
|
31
|
-
options.minLengthLowercase =
|
|
32
|
-
typeof options.minLengthLowercase == "undefined"
|
|
33
|
-
? 1
|
|
34
|
-
: options.minLengthLowercase;
|
|
35
|
-
} else {
|
|
36
|
-
options.minLengthLowercase = 0;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
if (options.uppercase) {
|
|
40
|
-
options.minLengthUppercase =
|
|
41
|
-
typeof options.minLengthUppercase == "undefined"
|
|
42
|
-
? 1
|
|
43
|
-
: options.minLengthUppercase;
|
|
44
|
-
} else {
|
|
45
|
-
options.minLengthUppercase = 0;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (options.numbers) {
|
|
49
|
-
options.minLengthNumbers =
|
|
50
|
-
typeof options.minLengthNumbers == "undefined"
|
|
51
|
-
? 1
|
|
52
|
-
: options.minLengthNumbers;
|
|
53
|
-
} else {
|
|
54
|
-
options.minLengthNumbers = 0;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
if (options.symbols) {
|
|
58
|
-
options.minLengthSymbols =
|
|
59
|
-
typeof options.minLengthSymbols == "undefined"
|
|
60
|
-
? 1
|
|
61
|
-
: options.minLengthSymbols;
|
|
62
|
-
} else {
|
|
63
|
-
options.minLengthSymbols = 0;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
options.exclude =
|
|
67
|
-
typeof options.exclude == "undefined" ? "" : options.exclude;
|
|
68
|
-
}
|
|
69
|
-
return options;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
module.exports = processOption;
|
package/lib/shuffle-string.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const shuffleString = (str) => {
|
|
2
|
-
let arr = str.split("");
|
|
3
|
-
n = arr.length;
|
|
4
|
-
|
|
5
|
-
for (let i = n - 1; i > 0; i--) {
|
|
6
|
-
let j = Math.floor(Math.random() * (i + 1));
|
|
7
|
-
let tmp = arr[i];
|
|
8
|
-
arr[i] = arr[j];
|
|
9
|
-
arr[j] = tmp;
|
|
10
|
-
}
|
|
11
|
-
return arr.join("");
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
module.exports = shuffleString;
|