Removed evaluateCalculation.js

This commit is contained in:
ThaumRystra
2023-11-09 18:43:13 +02:00
parent 9e5b6b11e1
commit 2117a63945
4 changed files with 6 additions and 19 deletions

View File

@@ -37,7 +37,6 @@ export function resolveCalculationNode(calculation, parseNode, scope) {
calculation.valueNode = resultNode;
}
function linkCalculationEffects(node, computation) {
const calcObj = node.data;
delete calcObj.effectIds;

View File

@@ -1,4 +1,5 @@
import { has } from 'lodash';
import resolveCalculationNode from 'imports/api/engine/computation/computeComputation/computeByType/computeCalculation.js';
export default function computePointBuy(computation, node) {
const prop = node.data;
@@ -25,7 +26,9 @@ export default function computePointBuy(computation, node) {
}
// Evaluate the cost function
if (!costFunction) return;
evaluateCalculation(costFunction, { ...computation.scope, value: row.value });
resolveCalculationNode(costFunction, costFunction.parseNode, {
...computation.scope, value: row.value
});
// Write calculation errors
costFunction.errors?.forEach(error => {
if (error?.message) {

View File

@@ -1,15 +0,0 @@
import resolve, { toPrimitiveOrString } from '/imports/parser/resolve.js';
console.warn('evaluateCalculation is deprecated use resolveCalculationNode instead')
// TODO everywhere this is used, replace with more specific code to recalculate fields
export default function evaluateCalculation(calculation, scope, givenContext) {
const parseNode = calculation.parseNode;
const fn = calculation._parseLevel;
const calculationScope = { ...calculation._localScope, ...scope };
const { result: resultNode, context } = resolve(fn, parseNode, calculationScope, givenContext);
calculation.errors = context.errors;
calculation.valueNode = resultNode;
calculation.value = toPrimitiveOrString(resultNode);
// remove the working fields
delete calculation._parseLevel;
delete calculation._localScope;
}

View File

@@ -93,7 +93,7 @@
<script lang="js">
import propertyFormMixin from '/imports/client/ui/properties/forms/shared/propertyFormMixin.js';
import CalculationErrorList from '/imports/client/ui/properties/forms/shared/CalculationErrorList.vue';
import evaluateCalculation from '/imports/api/engine/computation/utility/evaluateCalculation.js';
import resolveCalculationNode from 'imports/api/engine/computation/computeComputation/computeByType/computeCalculation.js';
import { Tracker } from 'meteor/tracker'
export default {
@@ -120,7 +120,7 @@ export default {
const costFunction = EJSON.clone(row.cost || this.model.cost);
if (!costFunction?.parseNode) return;
if (costFunction) costFunction.parseLevel = 'reduce';
evaluateCalculation(costFunction, { value });
resolveCalculationNode(costFunction, costFunction.parseNode, { value });
if (Number.isFinite(costFunction.value)) {
newSpent += costFunction.value;
if (this.useEstimate) this.estimatedCost = newSpent;