@akala/core
Version:
21 lines (20 loc) • 867 B
TypeScript
import type { Expressions, StrictExpressions } from "../expression.js";
import { MemberExpression } from "../member-expression.js";
import { NewExpression } from "../new-expression.js";
import { ExpressionVisitor } from "./expression-visitor.js";
/**
* Simplifies an expression.
* @param {any} expression - The expression to simplify.
* @returns {any} The simplified expression.
*/
export declare class ExpressionSimplifyer extends ExpressionVisitor {
private source;
/**
* Creates a new instance with the provided source expression.
* @param source - The original expression to simplify
*/
constructor(source: Expressions);
private contexttualSource;
visitMember<T, TMember extends keyof T>(arg0: MemberExpression<T, TMember, T[TMember]>): StrictExpressions;
visitNew<T>(expression: NewExpression<T>): StrictExpressions;
}