import { IOptions } from "./interfaces/IOptions";
import { IObfuscatorOptions } from "./interfaces/IObfuscatorOptions";
import { OptionsNormalizer } from "./OptionsNormalizer";
import { DEFAULT_PRESET } from "./preset-options/DefaultPreset";
export class Options implements IOptions {
/**
* @type {IObfuscatorOptions}
*/
private options: IObfuscatorOptions;
/**
* @param options
*/
constructor (options: IObfuscatorOptions) {
this.options = Object.freeze(
OptionsNormalizer.normalizeOptionsPreset(
Object.assign({}, DEFAULT_PRESET, options)
)
);
}
/**
* @param optionName
* @returns {T}
*/
public get <T> (optionName: string): T {
return this.options[optionName];
}
}
|