ObfuscatingTargetSanitizer.ts 626 B

123456789101112131415161718192021
  1. import { TCLISanitizer } from '../../types/cli/TCLISanitizer';
  2. import { ObfuscationTarget } from '../../enums/ObfuscationTarget';
  3. /**
  4. * @param {string} value
  5. * @returns {string}
  6. */
  7. export const ObfuscationTargetSanitizer: TCLISanitizer <string> = (value: string): string => {
  8. const isCorrectTarget: boolean = Object
  9. .keys(ObfuscationTarget)
  10. .some((key: string): boolean => {
  11. return ObfuscationTarget[<keyof typeof ObfuscationTarget>key] === value;
  12. });
  13. if (!isCorrectTarget) {
  14. throw new ReferenceError('Invalid value of `--target` option');
  15. }
  16. return value;
  17. };