123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { injectable } from 'inversify';
- import { TOptionsNormalizerRule } from '../types/options/TOptionsNormalizerRule';
- import { IOptions } from '../interfaces/options/IOptions';
- import { IOptionsNormalizer } from '../interfaces/options/IOptionsNormalizer';
- import { ControlFlowFlatteningThresholdRule } from './normalizer-rules/ControlFlowFlatteningThresholdRule';
- import { DeadCodeInjectionRule } from './normalizer-rules/DeadCodeInjectionRule';
- import { DeadCodeInjectionThresholdRule } from './normalizer-rules/DeadCodeInjectionThresholdRule';
- import { DomainLockRule } from './normalizer-rules/DomainLockRule';
- import { InputFileNameRule } from './normalizer-rules/InputFileNameRule';
- import { SelfDefendingRule } from './normalizer-rules/SelfDefendingRule';
- import { SourceMapBaseUrlRule } from './normalizer-rules/SourceMapBaseUrlRule';
- import { SourceMapFileNameRule } from './normalizer-rules/SourceMapFileNameRule';
- import { StringArrayRule } from './normalizer-rules/StringArrayRule';
- import { StringArrayEncodingRule } from './normalizer-rules/StringArrayEncodingRule';
- import { StringArrayThresholdRule } from './normalizer-rules/StringArrayThresholdRule';
- @injectable()
- export class OptionsNormalizer implements IOptionsNormalizer {
- /**
- * @type {TOptionsNormalizerRule[]}
- */
- private static readonly normalizerRules: TOptionsNormalizerRule[] = [
- ControlFlowFlatteningThresholdRule,
- DeadCodeInjectionRule,
- DeadCodeInjectionThresholdRule,
- DomainLockRule,
- InputFileNameRule,
- SelfDefendingRule,
- SourceMapBaseUrlRule,
- SourceMapFileNameRule,
- StringArrayRule,
- StringArrayEncodingRule,
- StringArrayThresholdRule,
- ];
- /**
- * @param {IOptions} options
- * @returns {IOptions}
- */
- public normalize (options: IOptions): IOptions {
- let normalizedOptions: IOptions = {
- ...options
- };
- for (const normalizerRule of OptionsNormalizer.normalizerRules) {
- normalizedOptions = normalizerRule(normalizedOptions);
- }
- return normalizedOptions;
- }
- }
|