From 1d171091375529ab7fa796035227228fd22ea400 Mon Sep 17 00:00:00 2001 From: sanex3339 Date: Sun, 22 Mar 2026 13:28:20 +0700 Subject: [PATCH] Adjust logic --- .../AbstractIdentifierNamesGenerator.ts | 2 +- .../MangledIdentifierNamesGenerator.ts | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts b/src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts index 5b032088..329b7f41 100644 --- a/src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts +++ b/src/generators/identifier-names-generators/AbstractIdentifierNamesGenerator.ts @@ -14,7 +14,7 @@ export abstract class AbstractIdentifierNamesGenerator implements IIdentifierNam /** * @type {number} */ - private static readonly maxGenerationAttempts: number = 1000; + private static readonly maxGenerationAttempts: number = 10000; /** * @type {IOptions} diff --git a/src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts b/src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts index de3784ba..f76c71c9 100644 --- a/src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts +++ b/src/generators/identifier-names-generators/MangledIdentifierNamesGenerator.ts @@ -282,14 +282,25 @@ export class MangledIdentifierNamesGenerator extends AbstractIdentifierNamesGene }; let identifierName: string = previousMangledName; - let isValidIdentifierName: boolean; - let attempts: number = 0; + let isValidIdentifierName: boolean = false; + let reservedNameAttempts: number = 0; do { - this.checkGenerationAttempts(attempts); identifierName = generateNewMangledName(identifierName); + + if ( + this.preservedNamesSet.has(identifierName) || + MangledIdentifierNamesGenerator.reservedNamesSet.has(identifierName) + ) { + continue; + } + isValidIdentifierName = validationFunction?.(identifierName) ?? this.isValidIdentifierName(identifierName); - attempts++; + + if (!isValidIdentifierName) { + this.checkGenerationAttempts(reservedNameAttempts); + reservedNameAttempts++; + } } while (!isValidIdentifierName); return identifierName;