1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import * as ESTree from 'estree';
- import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement';
- import { AppendState } from '../../enums/AppendState';
- import { NO_CUSTOM_NODES_PRESET } from '../../preset-options/NoCustomNodesPreset';
- import { SelfDefendingTemplate } from '../../templates/custom-nodes/self-defending-nodes/self-defending-unicode-node/SelfDefendingTemplate';
- import { AbstractCustomNode } from '../AbstractCustomNode';
- import { JavaScriptObfuscator } from '../../JavaScriptObfuscator';
- import { NodeUtils } from '../../NodeUtils';
- import { HiddenNodeAppender } from '../../hidden-node-appender/HiddenNodeAppender';
- export class SelfDefendingUnicodeNode extends AbstractCustomNode {
- /**
- * @type {AppendState}
- */
- protected appendState: AppendState = AppendState.AfterObfuscation;
- /**
- * @param blockScopeNode
- */
- public appendNode (blockScopeNode: TNodeWithBlockStatement): void {
- HiddenNodeAppender.appendNode(
- blockScopeNode.body,
- this.getNode(),
- HiddenNodeAppender.getIndexByThreshold(blockScopeNode.body.length)
- );
- }
- /**
- * @returns {ESTree.Node}
- */
- protected getNodeStructure (): ESTree.Node {
- return NodeUtils.convertCodeToStructure(
- JavaScriptObfuscator.obfuscate(
- SelfDefendingTemplate(),
- NO_CUSTOM_NODES_PRESET
- ).getObfuscatedCode()
- );
- }
- }
|