mirror of
https://github.com/javascript-obfuscator/javascript-obfuscator
synced 2026-08-09 12:42:29 +00:00
New obfuscateMultiple method
This commit is contained in:
@@ -3,6 +3,8 @@ import 'reflect-metadata';
|
||||
import { ServiceIdentifiers } from './container/ServiceIdentifiers';
|
||||
|
||||
import { TInputOptions } from './types/options/TInputOptions';
|
||||
import { TObfuscationResultsObject } from './types/TObfuscationResultsObject';
|
||||
import { TObject } from './types/TObject';
|
||||
|
||||
import { IInversifyContainerFacade } from './interfaces/container/IInversifyContainerFacade';
|
||||
import { IJavaScriptObfuscator } from './interfaces/IJavaScriptObfsucator';
|
||||
@@ -34,6 +36,34 @@ class JavaScriptObfuscatorFacade {
|
||||
|
||||
return obfuscatedCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {TSourceCodesObject} sourceCodesObject
|
||||
* @param {TInputOptions} inputOptions
|
||||
* @returns {TObfuscationResultsObject<TSourceCodesObject>}
|
||||
*/
|
||||
public static obfuscateMultiple <TSourceCodesObject extends TObject<string>> (
|
||||
sourceCodesObject: TSourceCodesObject,
|
||||
inputOptions: TInputOptions = {}
|
||||
): TObfuscationResultsObject<TSourceCodesObject> {
|
||||
if (typeof sourceCodesObject !== 'object') {
|
||||
throw new Error('Source codes object should be a plain object');
|
||||
}
|
||||
|
||||
return Object
|
||||
.keys(sourceCodesObject)
|
||||
.reduce(
|
||||
(acc: TObfuscationResultsObject<TSourceCodesObject>, sourceCodeIdentifier: keyof TSourceCodesObject) => {
|
||||
const sourceCode: string = sourceCodesObject[sourceCodeIdentifier];
|
||||
|
||||
return {
|
||||
...acc,
|
||||
[sourceCodeIdentifier]: JavaScriptObfuscatorFacade.obfuscate(sourceCode, inputOptions)
|
||||
};
|
||||
},
|
||||
<TObfuscationResultsObject<TSourceCodesObject>>{}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export { JavaScriptObfuscatorFacade as JavaScriptObfuscator };
|
||||
|
||||
Reference in New Issue
Block a user