feat: refactoring project

This commit is contained in:
Carlos
2024-11-23 14:56:07 -05:00
parent f0c2a50c18
commit 1c6db5818d
2351 changed files with 39323 additions and 60326 deletions

View File

@@ -21,8 +21,8 @@ const BasicEvaluatedExpression = require("./BasicEvaluatedExpression");
* @param {(string[] | null)=} runtimeRequirements runtime requirements
* @returns {function(Expression): true} plugin function
*/
exports.toConstantDependency = (parser, value, runtimeRequirements) => {
return function constDependency(expr) {
module.exports.toConstantDependency = (parser, value, runtimeRequirements) =>
function constDependency(expr) {
const dep = new ConstDependency(
value,
/** @type {Range} */ (expr.range),
@@ -32,43 +32,39 @@ exports.toConstantDependency = (parser, value, runtimeRequirements) => {
parser.state.module.addPresentationalDependency(dep);
return true;
};
};
/**
* @param {string} value the string value
* @returns {function(Expression): BasicEvaluatedExpression} plugin function
*/
exports.evaluateToString = value => {
return function stringExpression(expr) {
module.exports.evaluateToString = value =>
function stringExpression(expr) {
return new BasicEvaluatedExpression()
.setString(value)
.setRange(/** @type {Range} */ (expr.range));
};
};
/**
* @param {number} value the number value
* @returns {function(Expression): BasicEvaluatedExpression} plugin function
*/
exports.evaluateToNumber = value => {
return function stringExpression(expr) {
module.exports.evaluateToNumber = value =>
function stringExpression(expr) {
return new BasicEvaluatedExpression()
.setNumber(value)
.setRange(/** @type {Range} */ (expr.range));
};
};
/**
* @param {boolean} value the boolean value
* @returns {function(Expression): BasicEvaluatedExpression} plugin function
*/
exports.evaluateToBoolean = value => {
return function booleanExpression(expr) {
module.exports.evaluateToBoolean = value =>
function booleanExpression(expr) {
return new BasicEvaluatedExpression()
.setBoolean(value)
.setRange(/** @type {Range} */ (expr.range));
};
};
/**
* @param {string} identifier identifier
@@ -77,9 +73,14 @@ exports.evaluateToBoolean = value => {
* @param {boolean|null=} truthy is truthy, null if nullish
* @returns {function(Expression): BasicEvaluatedExpression} callback
*/
exports.evaluateToIdentifier = (identifier, rootInfo, getMembers, truthy) => {
return function identifierExpression(expr) {
let evaluatedExpression = new BasicEvaluatedExpression()
module.exports.evaluateToIdentifier = (
identifier,
rootInfo,
getMembers,
truthy
) =>
function identifierExpression(expr) {
const evaluatedExpression = new BasicEvaluatedExpression()
.setIdentifier(identifier, rootInfo, getMembers)
.setSideEffects(false)
.setRange(/** @type {Range} */ (expr.range));
@@ -97,15 +98,14 @@ exports.evaluateToIdentifier = (identifier, rootInfo, getMembers, truthy) => {
return evaluatedExpression;
};
};
/**
* @param {JavascriptParser} parser the parser
* @param {string} message the message
* @returns {function(Expression): boolean | undefined} callback to handle unsupported expression
*/
exports.expressionIsUnsupported = (parser, message) => {
return function unsupportedExpression(expr) {
module.exports.expressionIsUnsupported = (parser, message) =>
function unsupportedExpression(expr) {
const dep = new ConstDependency(
"(void 0)",
/** @type {Range} */ (expr.range),
@@ -122,8 +122,7 @@ exports.expressionIsUnsupported = (parser, message) => {
);
return true;
};
};
exports.skipTraversal = () => true;
module.exports.skipTraversal = () => true;
exports.approve = () => true;
module.exports.approve = () => true;