New option stringArrayWrappersType allows to select a type of the wrappers that are appending by the stringArrayWrappersCount option

This commit is contained in:
sanex
2020-09-15 11:09:22 +03:00
parent 47263a4c1c
commit d86ee4213c
42 changed files with 360 additions and 98 deletions
+4 -2
View File
@@ -2,6 +2,7 @@
import { NO_ADDITIONAL_NODES_PRESET } from '../../src/options/presets/NoCustomNodes';
import { IdentifierNamesGenerator } from '../../src/enums/generators/identifier-names-generators/IdentifierNamesGenerator';
import { StringArrayWrappersType } from '../../src/enums/node-transformers/string-array-transformers/StringArrayWrappersType';
(function () {
const JavaScriptObfuscator: any = require('../../index');
@@ -28,8 +29,9 @@ import { IdentifierNamesGenerator } from '../../src/enums/generators/identifier-
stringArray: true,
transformObjectKeys: true,
stringArrayThreshold: 1,
stringArrayWrappersChainedCalls: false,
stringArrayWrappersCount: 2
stringArrayWrappersChainedCalls: true,
stringArrayWrappersCount: 2,
stringArrayWrappersType: StringArrayWrappersType.Function
}
).getObfuscatedCode();
@@ -1,7 +1,7 @@
import { assert } from 'chai';
import { IdentifierNamesGenerator } from '../../../../src/enums/generators/identifier-names-generators/IdentifierNamesGenerator';
import { StringArrayEncoding } from '../../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { NO_ADDITIONAL_NODES_PRESET } from '../../../../src/options/presets/NoCustomNodes';
@@ -1,6 +1,6 @@
import { assert } from 'chai';
import { StringArrayEncoding } from '../../../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { IdentifierNamesGenerator } from '../../../../../src/enums/generators/identifier-names-generators/IdentifierNamesGenerator';
import { NO_ADDITIONAL_NODES_PRESET } from '../../../../../src/options/presets/NoCustomNodes';
@@ -8,7 +8,8 @@ import { TOptionsPreset } from '../../../src/types/options/TOptionsPreset';
import { IObfuscatedCode } from '../../../src/interfaces/source-code/IObfuscatedCode';
import { SourceMapMode } from '../../../src/enums/source-map/SourceMapMode';
import { StringArrayEncoding } from '../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { StringArrayWrappersType } from '../../../src/enums/node-transformers/string-array-transformers/StringArrayWrappersType';
import { JavaScriptObfuscator } from '../../../src/JavaScriptObfuscatorFacade';
@@ -853,6 +854,7 @@ describe('JavaScriptObfuscator', () => {
],
stringArrayWrappersChainedCalls: true,
stringArrayWrappersCount: 10,
stringArrayWrappersType: StringArrayWrappersType.Function,
stringArrayThreshold: 1,
transformObjectKeys: true,
unicodeEscapeSequence: false
@@ -1,7 +1,7 @@
import { assert } from 'chai';
import { IdentifierNamesGenerator } from '../../../../../src/enums/generators/identifier-names-generators/IdentifierNamesGenerator';
import { StringArrayEncoding } from '../../../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { NO_ADDITIONAL_NODES_PRESET } from '../../../../../src/options/presets/NoCustomNodes';
@@ -1,7 +1,7 @@
import { assert } from 'chai';
import { IdentifierNamesGenerator } from '../../../../../src/enums/generators/identifier-names-generators/IdentifierNamesGenerator';
import { StringArrayEncoding } from '../../../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { NO_ADDITIONAL_NODES_PRESET } from '../../../../../src/options/presets/NoCustomNodes';
@@ -10,7 +10,7 @@ import { IInversifyContainerFacade } from '../../../src/interfaces/container/IIn
import { IOptions } from '../../../src/interfaces/options/IOptions';
import { IOptionsNormalizer } from '../../../src/interfaces/options/IOptionsNormalizer';
import { StringArrayEncoding } from '../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { DEFAULT_PRESET } from '../../../src/options/presets/Default';
@@ -2,7 +2,7 @@ import { assert } from 'chai';
import { readFileAsString } from '../helpers/readFileAsString';
import { StringArrayEncoding } from '../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { JavaScriptObfuscator } from '../../src/JavaScriptObfuscatorFacade';
@@ -2,8 +2,9 @@ import { assert } from 'chai';
import { TInputOptions } from '../../src/types/options/TInputOptions';
import { StringArrayEncoding } from '../../src/enums/StringArrayEncoding';
import { IdentifierNamesGenerator } from '../../src/enums/generators/identifier-names-generators/IdentifierNamesGenerator';
import { StringArrayEncoding } from '../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { StringArrayWrappersType } from '../../src/enums/node-transformers/string-array-transformers/StringArrayWrappersType';
import { evaluateInWorker } from '../helpers/evaluateInWorker';
import { readFileAsString } from '../helpers/readFileAsString';
@@ -41,6 +42,7 @@ describe('JavaScriptObfuscator runtime eval', function () {
],
stringArrayWrappersChainedCalls: true,
stringArrayWrappersCount: 5,
stringArrayWrappersType: StringArrayWrappersType.Function,
stringArrayThreshold: 1,
transformObjectKeys: true,
unicodeEscapeSequence: true
@@ -11,7 +11,7 @@ import { IInversifyContainerFacade } from '../../../../src/interfaces/container/
import { IStringArrayStorageAnalyzer } from '../../../../src/interfaces/analyzers/string-array-storage-analyzer/IStringArrayStorageAnalyzer';
import { IStringArrayStorageItemData } from '../../../../src/interfaces/storages/string-array-transformers/IStringArrayStorageItem';
import { StringArrayEncoding } from '../../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { InversifyContainerFacade } from '../../../../src/container/InversifyContainerFacade';
import { NodeFactory } from '../../../../src/node/NodeFactory';
+1 -1
View File
@@ -2,7 +2,7 @@ import { assert } from 'chai';
import { TInputOptions } from '../../../../src/types/options/TInputOptions';
import { StringArrayEncoding } from '../../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { CLIUtils } from '../../../../src/cli/utils/CLIUtils';
@@ -10,7 +10,7 @@ import { TInputOptions } from '../../../../../src/types/options/TInputOptions';
import { IInversifyContainerFacade } from '../../../../../src/interfaces/container/IInversifyContainerFacade';
import { ILiteralNodesCacheStorage } from '../../../../../src/interfaces/storages/string-array-transformers/ILiteralNodesCacheStorage';
import { StringArrayEncoding } from '../../../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { NO_ADDITIONAL_NODES_PRESET } from '../../../../../src/options/presets/NoCustomNodes';
@@ -9,7 +9,7 @@ import { TInputOptions } from '../../../../../src/types/options/TInputOptions';
import { IInversifyContainerFacade } from '../../../../../src/interfaces/container/IInversifyContainerFacade';
import { IStringArrayStorage } from '../../../../../src/interfaces/storages/string-array-transformers/IStringArrayStorage';
import { StringArrayEncoding } from '../../../../../src/enums/StringArrayEncoding';
import { StringArrayEncoding } from '../../../../../src/enums/node-transformers/string-array-transformers/StringArrayEncoding';
import { NO_ADDITIONAL_NODES_PRESET } from '../../../../../src/options/presets/NoCustomNodes';