123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import 'format-unicorn';
- import { TNodeWithBlockStatement } from '../../types/TNodeWithBlockStatement';
- import { TStatement } from '../../types/TStatement';
- import { IStackTraceData } from '../../interfaces/stack-trace-analyzer/IStackTraceData';
- import { AppendState } from '../../enums/AppendState';
- import { DomainLockNodeTemplate } from '../../templates/custom-nodes/domain-lock-nodes/domain-lock-node/DomainLockNodeTemplate';
- import { AbstractCustomNode } from '../AbstractCustomNode';
- import { CustomNodeAppender } from '../CustomNodeAppender';
- import { NodeUtils } from '../../NodeUtils';
- import { Utils } from '../../Utils';
- export class DomainLockNode extends AbstractCustomNode {
- /**
- * @type {AppendState}
- */
- protected appendState: AppendState = AppendState.BeforeObfuscation;
- /**
- * @param blockScopeNode
- * @param stackTraceData
- */
- public appendNode (blockScopeNode: TNodeWithBlockStatement, stackTraceData: IStackTraceData[]): void {
- CustomNodeAppender.appendNode(
- stackTraceData,
- blockScopeNode,
- this.getNode(),
- CustomNodeAppender.getRandomStackTraceIndex(stackTraceData.length)
- );
- }
- /**
- * @returns {TStatement[]}
- */
- protected getNodeStructure (): TStatement[] {
- let domainsString: string = this.options.domainLock.join(';'),
- [hiddenDomainsString, diff]: string[] = Utils.hideString(domainsString, domainsString.length * 3);
- return NodeUtils.convertCodeToStructure(
- DomainLockNodeTemplate().formatUnicorn({
- domainLockFunctionName: Utils.getRandomVariableName(),
- diff: diff,
- domains: hiddenDomainsString
- })
- );
- }
- }
|