فهرست منبع

Increase random variable name length after name collision

sanex3339 8 سال پیش
والد
کامیت
6301f1c15d
2فایلهای تغییر یافته به همراه10 افزوده شده و 3595 حذف شده
  1. 0 3591
      dist/index.js
  2. 10 4
      src/utils/RandomGenerator.ts

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 3591
dist/index.js


+ 10 - 4
src/utils/RandomGenerator.ts

@@ -41,6 +41,11 @@ export class RandomGenerator implements IRandomGenerator, IInitializable {
      */
     private readonly options: IOptions;
 
+    /**
+     * @type {number}
+     */
+    private randomVariableNameAdditionalLength: number = 0;
+
     /**
      * @type {Set<string>}
      */
@@ -89,8 +94,6 @@ export class RandomGenerator implements IRandomGenerator, IInitializable {
 
         this.seed = this.options.seed !== 0 ? this.options.seed : getRandomInteger(0, 999999999);
         this.randomGenerator = new Chance(getSeed());
-
-        console.log(`seed is ${this.seed}`);
     }
 
     /**
@@ -151,10 +154,13 @@ export class RandomGenerator implements IRandomGenerator, IInitializable {
         const rangeMaxInteger: number = 99999999;
         const randomInteger: number = this.getRandomInteger(rangeMinInteger, rangeMaxInteger);
         const hexadecimalNumber: string = Utils.decToHex(randomInteger);
-        const randomVariableName: string = `${prefix}${hexadecimalNumber.substr(0, length)}`;
+        const randomVariableNameLength: number = length + this.randomVariableNameAdditionalLength;
+        const randomVariableName: string = `${prefix}${hexadecimalNumber.repeat(2).substr(0, randomVariableNameLength)}`;
 
         if (this.randomVariableNameSet.has(randomVariableName)) {
-            return this.getRandomVariableName(length);
+            this.randomVariableNameAdditionalLength++;
+
+            return this.getRandomVariableName(randomVariableNameLength);
         }
 
         this.randomVariableNameSet.add(randomVariableName);

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است