js-generate-password 0.1.2 → 0.1.4

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 CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # js-generate-password
5
5
 
6
- js-generate-password is usable for every javascript based project like react, vue, node, etc. it used to generate passwords that may contain alphabets, number and symbols. The options parameter enables the user to enable or disable the characters that are used to generate random password.
6
+ js-generate-password is usable for every javascript and typescript based project like react, vue, node, etc. it used to generate passwords that may contain alphabets, number and symbols. The options parameter enables the user to enable or disable the characters that are used to generate random password.
7
7
 
8
8
  The characters that may be choosen from are
9
9
 
@@ -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
- options={
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;
@@ -1,40 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkError = void 0;
1
4
  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
- }
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
+ }
38
21
  };
39
-
40
- module.exports = checkError;
22
+ exports.checkError = checkError;
23
+ // module.exports = checkError;
@@ -0,0 +1,42 @@
1
+ import { GenerateOptions } from "./types";
2
+
3
+ export const checkError = (options: GenerateOptions) => {
4
+ const {
5
+ length,
6
+ lowercase,
7
+ uppercase,
8
+ numbers,
9
+ symbols,
10
+ minLengthLowercase,
11
+ minLengthUppercase,
12
+ minLengthNumbers,
13
+ minLengthSymbols,
14
+ } = options;
15
+
16
+ //Checking if the sum of minimum characters of Lowercase, uppercase, numbers and special case is greater than the total password length.
17
+ if (
18
+ minLengthLowercase! +
19
+ minLengthUppercase! +
20
+ minLengthNumbers! +
21
+ minLengthSymbols! >
22
+ length!
23
+ ) {
24
+ throw new Error(
25
+ "Sum of Minimum Characters in the passwords greater than the length of the Password to be generated."
26
+ );
27
+ }
28
+
29
+ //Checking if lowercase, uppercase , numbers and special characters have all been set to false.
30
+ if (
31
+ lowercase == false &&
32
+ uppercase == false &&
33
+ numbers == false &&
34
+ symbols == false
35
+ ) {
36
+ throw new Error(
37
+ "Alphabets, Numbers and Symbols are all set to False. No valid Characters to generate the Password."
38
+ );
39
+ }
40
+ };
41
+
42
+ // module.exports = checkError;
@@ -1,5 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateRandomNumbers = void 0;
1
4
  const generateRandomNumbers = (upperLimit) => {
2
- return (randomNumber = Math.floor(Math.random() * upperLimit));
5
+ return Math.floor(Math.random() * upperLimit);
3
6
  };
4
-
5
- module.exports = generateRandomNumbers;
7
+ exports.generateRandomNumbers = generateRandomNumbers;
8
+ // module.exports = generateRandomNumbers;
@@ -0,0 +1,5 @@
1
+ export const generateRandomNumbers = (upperLimit: number) => {
2
+ return Math.floor(Math.random() * upperLimit);
3
+ };
4
+
5
+ // module.exports = generateRandomNumbers;
@@ -1,90 +1,64 @@
1
- const randomNumber = require("./generate-random-number");
2
- const shuffleString = require("./shuffle-string");
3
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePassword = 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");
4
8
  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;
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;
81
56
  };
82
-
57
+ exports.generatePassword = generatePassword;
83
58
  const removeExceptions = (str, EXCEPTIONS) => {
84
- EXCEPTIONS?.split("").forEach((char) => {
85
- str = str.replace(char, "");
86
- });
87
- return str;
59
+ EXCEPTIONS === null || EXCEPTIONS === void 0 ? void 0 : EXCEPTIONS.split("").forEach((char) => {
60
+ str = str.replace(char, "");
61
+ });
62
+ return str;
88
63
  };
89
-
90
- module.exports = generatePassword;
64
+ // module.exports = generatePassword;
@@ -0,0 +1,92 @@
1
+ // const generategenerateRandomNumberss = require("./generate-random-number");
2
+ // const shuffleString = require("./shuffle-string");
3
+ import { generateRandomNumbers } from "./generate-random-number";
4
+ import { shuffleString } from "./shuffle-string";
5
+ import { GenerateOptions } from "./types";
6
+ export const generatePswd = (options: GenerateOptions) => {
7
+ let pswd = "";
8
+ let minChar = "";
9
+ let {
10
+ length,
11
+ lowercase,
12
+ uppercase,
13
+ numbers,
14
+ symbols,
15
+ minLengthLowercase,
16
+ minLengthUppercase,
17
+ minLengthNumbers,
18
+ minLengthSymbols,
19
+ exclude,
20
+ } = options;
21
+
22
+ let lowercaseChar = "abcdefghijklmnopqrstuvwxyz";
23
+ lowercaseChar = removeExceptions(lowercaseChar, exclude!);
24
+
25
+ let uppercaseChar = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
26
+ uppercaseChar = removeExceptions(uppercaseChar, exclude!);
27
+
28
+ let numberChar = "0123456789";
29
+ numberChar = removeExceptions(numberChar, exclude!);
30
+
31
+ let specialChar = "!#$%&'()*+,-./:;<=>?@[]^_{|}~";
32
+ specialChar = removeExceptions(specialChar, exclude!);
33
+
34
+ // Generating a minChar string that holds minimum number of characters on the User Option Selection.
35
+ // The minChar variable will store the minimum number of characters for each type - lowercase, uppercase, numbers, and symbols.
36
+ // Then, the minChar variable is shuffled to make the password random.
37
+
38
+ let upperLimit = lowercaseChar.length;
39
+ for (let i = 0; i < minLengthLowercase!; i++) {
40
+ minChar += lowercaseChar.charAt(generateRandomNumbers(upperLimit));
41
+ }
42
+
43
+ upperLimit = uppercaseChar.length;
44
+ for (let i = 0; i < minLengthUppercase!; i++) {
45
+ minChar += uppercaseChar.charAt(generateRandomNumbers(upperLimit));
46
+ }
47
+
48
+ upperLimit = numberChar.length;
49
+ for (let i = 0; i < minLengthNumbers!; i++) {
50
+ minChar += numberChar.charAt(generateRandomNumbers(upperLimit));
51
+ }
52
+
53
+ upperLimit = specialChar.length;
54
+ for (let i = 0; i < minLengthSymbols!; i++) {
55
+ minChar += specialChar.charAt(generateRandomNumbers(upperLimit));
56
+ }
57
+
58
+ //Shuffling the minChar to generate a password that holds minimum criteria.
59
+ pswd = pswd + shuffleString(minChar);
60
+
61
+ let characterString = "";
62
+
63
+ characterString = lowercase
64
+ ? characterString + lowercaseChar
65
+ : characterString;
66
+
67
+ characterString = uppercase
68
+ ? characterString + uppercaseChar
69
+ : characterString;
70
+
71
+ characterString = numbers ? characterString + numberChar : characterString;
72
+
73
+ characterString = symbols ? characterString + specialChar : characterString;
74
+
75
+ let remainingChar = length! - pswd.length;
76
+
77
+ upperLimit = characterString.length;
78
+
79
+ for (let i = 0; i < remainingChar; i++) {
80
+ pswd += characterString.charAt(generateRandomNumbers(upperLimit));
81
+ }
82
+ return pswd;
83
+ };
84
+
85
+ const removeExceptions = (str: string, EXCEPTIONS: string) => {
86
+ EXCEPTIONS?.split("").forEach((char) => {
87
+ str = str.replace(char, "");
88
+ });
89
+ return str;
90
+ };
91
+
92
+ // module.exports = generatePassword;
@@ -1,72 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processOption = void 0;
1
4
  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;
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;
37
53
  }
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;
54
+ return options;
70
55
  };
71
-
72
- module.exports = processOption;
56
+ exports.processOption = processOption;
57
+ // module.exports = processOption;
@@ -0,0 +1,61 @@
1
+ import { GenerateOptions } from "./types";
2
+
3
+ export const processOption = (options: GenerateOptions) => {
4
+ {
5
+ options.length = typeof options.length == "undefined" ? 10 : options.length;
6
+
7
+ options.lowercase =
8
+ typeof options.lowercase == "undefined" ? true : options.lowercase;
9
+
10
+ options.uppercase =
11
+ typeof options.uppercase == "undefined" ? true : options.uppercase;
12
+
13
+ options.numbers =
14
+ typeof options.numbers == "undefined" ? true : options.numbers;
15
+
16
+ options.symbols =
17
+ typeof options.symbols == "undefined" ? false : options.symbols;
18
+
19
+ if (options.lowercase) {
20
+ options.minLengthLowercase =
21
+ typeof options.minLengthLowercase == "undefined"
22
+ ? 1
23
+ : options.minLengthLowercase;
24
+ } else {
25
+ options.minLengthLowercase = 0;
26
+ }
27
+
28
+ if (options.uppercase) {
29
+ options.minLengthUppercase =
30
+ typeof options.minLengthUppercase == "undefined"
31
+ ? 1
32
+ : options.minLengthUppercase;
33
+ } else {
34
+ options.minLengthUppercase = 0;
35
+ }
36
+
37
+ if (options.numbers) {
38
+ options.minLengthNumbers =
39
+ typeof options.minLengthNumbers == "undefined"
40
+ ? 1
41
+ : options.minLengthNumbers;
42
+ } else {
43
+ options.minLengthNumbers = 0;
44
+ }
45
+
46
+ if (options.symbols) {
47
+ options.minLengthSymbols =
48
+ typeof options.minLengthSymbols == "undefined"
49
+ ? 1
50
+ : options.minLengthSymbols;
51
+ } else {
52
+ options.minLengthSymbols = 0;
53
+ }
54
+
55
+ options.exclude =
56
+ typeof options.exclude == "undefined" ? "" : options.exclude;
57
+ }
58
+ return options;
59
+ };
60
+
61
+ // module.exports = processOption;
@@ -1,14 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shuffleString = void 0;
1
4
  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("");
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("");
12
14
  };
13
-
14
- module.exports = shuffleString;
15
+ exports.shuffleString = shuffleString;
16
+ // module.exports = shuffleString;
@@ -0,0 +1,14 @@
1
+ export const shuffleString = (str: string) => {
2
+ let arr = str.split("");
3
+ let 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;
package/lib/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/lib/types.ts ADDED
@@ -0,0 +1,52 @@
1
+ export interface GenerateOptions {
2
+ /**
3
+ * lenght of the password
4
+ * @default 10
5
+ */
6
+ length?: number;
7
+ /**
8
+ * Should the password include lowercase characters
9
+ * @default true
10
+ */
11
+ lowercase?: boolean;
12
+ /**
13
+ * Should the password include uppercase characters
14
+ * @default true
15
+ */
16
+ uppercase?: boolean;
17
+ /**
18
+ * Should the password include numbers
19
+ * @default true
20
+ */
21
+ numbers?: boolean;
22
+ /**
23
+ * Should the password include symbol characters
24
+ * @default false
25
+ */
26
+ symbols?: boolean;
27
+ /**
28
+ * List of characters to be excluded from the password
29
+ * @default ""
30
+ */
31
+ exclude?: string;
32
+ /**
33
+ * min lentgh of lowercase character
34
+ * @default 1
35
+ */
36
+ minLengthLowercase?: number;
37
+ /**
38
+ * min lentgh of uppercase character
39
+ * @default 1
40
+ */
41
+ minLengthUppercase?: number;
42
+ /**
43
+ * min length of numbers
44
+ * @default 1
45
+ */
46
+ minLengthNumbers?: number;
47
+ /**
48
+ * min length of symbols
49
+ * @default 0
50
+ */
51
+ minLengthSymbols?: number;
52
+ }
package/package.json CHANGED
@@ -1,12 +1,10 @@
1
1
  {
2
2
  "name": "js-generate-password",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
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": "./src/index.js",
7
+ "bin": "./src/index.js",
10
8
  "scripts": {
11
9
  "test": "echo \"Error: no test specified\" && exit 1"
12
10
  },
@@ -1,4 +1,4 @@
1
- interface GenerateOptions {
1
+ export interface GenerateOptions {
2
2
  /**
3
3
  * lenght of the password
4
4
  * @default 10
package/src/index.js ADDED
@@ -0,0 +1,37 @@
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
+ // const errorCheck = require("../../lib/check-options-error");
8
+ // const processOptions = require("../../lib/process-options");
9
+ function GeneratePassword(options) {
10
+ let pswd;
11
+ if (options) {
12
+ options = (0, process_options_1.processOption)(options);
13
+ (0, check_options_error_1.checkError)(options);
14
+ pswd = (0, password_generator_1.generatePassword)(options);
15
+ return pswd;
16
+ }
17
+ else {
18
+ let opt = {
19
+ length: 10,
20
+ lowercase: true,
21
+ uppercase: true,
22
+ numbers: true,
23
+ symbols: false,
24
+ exclude: "",
25
+ minLengthLowercase: 1,
26
+ minLengthUppercase: 1,
27
+ minLengthNumbers: 1,
28
+ minLengthSymbols: 0,
29
+ };
30
+ options = (0, process_options_1.processOption)(opt);
31
+ (0, check_options_error_1.checkError)(options);
32
+ pswd = (0, password_generator_1.generatePassword)(options);
33
+ return pswd;
34
+ }
35
+ }
36
+ exports.GeneratePassword = GeneratePassword;
37
+ exports.default = { GeneratePassword };
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;