javascript-obfuscator
Version:
JavaScript obfuscator
43 lines (33 loc) • 1.13 kB
text/typescript
import { injectable } from 'inversify';
import * as ESTree from 'estree';
import { TNodeGuard } from '../../../types/node/TNodeGuard';
import { IObfuscatingGuard } from '../../../interfaces/node-transformers/preparing-transformers/obfuscating-guards/IObfuscatingGuard';
import { NodeGuards } from '../../../node/NodeGuards';
()
export class BlackListObfuscatingGuard implements IObfuscatingGuard {
/**
* @type {((node: Node) => boolean)[]}
*/
private static readonly blackListGuards: TNodeGuard[] = [
NodeGuards.isUseStrictOperator
];
/**
* @type {number}
*/
private readonly blackListGuardsLength: number;
public constructor () {
this.blackListGuardsLength = BlackListObfuscatingGuard.blackListGuards.length;
}
/**
* @returns {boolean}
* @param node
*/
public check (node: ESTree.Node): boolean {
for (let i: number = 0; i < this.blackListGuardsLength; i++) {
if (BlackListObfuscatingGuard.blackListGuards[i](node)) {
return false;
}
}
return true;
}
}