@hastehaul/common 1.0.19 → 1.0.21

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/build/index.d.ts CHANGED
@@ -86,6 +86,7 @@ export * from "./utils/enums";
86
86
  */
87
87
  export * from "./utils/read-dir";
88
88
  export * from "./utils/schemas";
89
+ export * from "./utils/random-codes";
89
90
  /**
90
91
  *? Re-exports all the contents from the "base-producers" module.
91
92
  *
package/build/index.js CHANGED
@@ -113,6 +113,8 @@ __exportStar(require("./utils/enums"), exports);
113
113
  __exportStar(require("./utils/read-dir"), exports);
114
114
  //TODO: DOCUMENT
115
115
  __exportStar(require("./utils/schemas"), exports);
116
+ //TODO: DOCUMENT
117
+ __exportStar(require("./utils/random-codes"), exports);
116
118
  /**
117
119
  *? Re-exports all the contents from the "base-producers" module.
118
120
  *
@@ -5,8 +5,7 @@
5
5
  * @param {number} numberOfCodes - The total number of codes to generate.
6
6
  * @param {number} codeSize - The size of each individual code (number of characters).
7
7
  * @param {boolean} includeHyphens - Whether to include hyphens between codes.
8
- * @param {number} chunkSize - The number of codes to generate in each chunk (iteration).
9
8
  *
10
9
  * @returns {Promise<string>} - A Promise that resolves with the generated codes as a string.
11
10
  */
12
- declare function generateRandomCodesAsync(characters: string, numberOfCodes: number, codeSize: number, includeHyphens: boolean, chunkSize: number): Promise<string>;
11
+ export declare function generateRandomCodesAsync(characters?: string, numberOfCodes?: number, codeSize?: number, includeHyphens?: boolean): Promise<string>;
@@ -8,6 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.generateRandomCodesAsync = void 0;
11
13
  /**
12
14
  * Generates random codes as an async function using await.
13
15
  *
@@ -15,33 +17,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
15
17
  * @param {number} numberOfCodes - The total number of codes to generate.
16
18
  * @param {number} codeSize - The size of each individual code (number of characters).
17
19
  * @param {boolean} includeHyphens - Whether to include hyphens between codes.
18
- * @param {number} chunkSize - The number of codes to generate in each chunk (iteration).
19
20
  *
20
21
  * @returns {Promise<string>} - A Promise that resolves with the generated codes as a string.
21
22
  */
22
- function generateRandomCodesAsync(characters, numberOfCodes, codeSize, includeHyphens, chunkSize) {
23
+ function generateRandomCodesAsync(characters, numberOfCodes, codeSize, includeHyphens) {
23
24
  return __awaiter(this, void 0, void 0, function* () {
25
+ const chars = characters || "ABCDEFGHIJKLMNOPQURSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz!@#$%^&*()_+=-,./';[]?><:\"\"}{|";
26
+ const numOfCodes = numberOfCodes || 1;
27
+ const codeLength = codeSize || 6;
24
28
  let codes = "";
25
29
  let hyphen = includeHyphens ? "-" : "";
26
30
  let chunkStart = 0;
27
31
  let generatedCodes = new Set();
28
32
  function generateChunk() {
29
33
  return __awaiter(this, void 0, void 0, function* () {
30
- for (let i = chunkStart; i < chunkStart + chunkSize && i < numberOfCodes; i++) {
34
+ for (let i = chunkStart; i < chunkStart + codeLength && i < numOfCodes; i++) {
31
35
  let code = "";
32
- for (let j = 0; j < codeSize; j++) {
33
- code += characters.charAt(Math.floor(Math.random() * characters.length));
36
+ for (let j = 0; j < codeLength; j++) {
37
+ code += chars.charAt(Math.floor(Math.random() * chars.length));
34
38
  }
35
39
  if (!generatedCodes.has(code)) {
36
40
  generatedCodes.add(code);
37
- codes += code + (i === numberOfCodes - 1 ? "" : hyphen);
41
+ codes += code + (i === numOfCodes - 1 ? "" : hyphen);
38
42
  }
39
43
  else {
40
44
  i--;
41
45
  }
42
46
  }
43
- chunkStart += chunkSize;
44
- if (chunkStart < numberOfCodes && generatedCodes.size < numberOfCodes) {
47
+ chunkStart += codeLength;
48
+ if (chunkStart < numOfCodes && generatedCodes.size < numOfCodes) {
45
49
  yield generateChunk();
46
50
  }
47
51
  });
@@ -50,3 +54,4 @@ function generateRandomCodesAsync(characters, numberOfCodes, codeSize, includeHy
50
54
  return codes;
51
55
  });
52
56
  }
57
+ exports.generateRandomCodesAsync = generateRandomCodesAsync;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hastehaul/common",
3
- "version": "1.0.19",
3
+ "version": "1.0.21",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",