Fixed an error where incorrectly targeted effects would cause computation error

This commit is contained in:
Thaum Rystra
2020-05-15 17:27:34 +02:00
parent 3af48649f7
commit 2c988b8717
3 changed files with 9 additions and 4 deletions

View File

@@ -89,7 +89,7 @@ export default class ComputationMemo {
if (this.statsByVariableName[variableName]){
prop.value = NaN;
prop.computationDetails.error = 'variableNameCollision';
console.warn('variableNameCollision', prop);
if (Meteor.isClient) console.warn('variableNameCollision', prop);
return;
}
this.statsByVariableName[variableName] = prop;
@@ -111,7 +111,9 @@ export default class ComputationMemo {
prop = this.registerProperty(prop);
let targets = this.getEffectTargets(prop);
targets.forEach(target => {
target.computationDetails.effects.push(prop);
if (target.computationDetails.effects){
target.computationDetails.effects.push(prop);
}
});
if (!targets.size){
this.unassignedEffects.push(prop);

View File

@@ -13,7 +13,7 @@ export default function computeStat(stat, memo){
stat.value = NaN;
stat.computationDetails.busyComputing = false;
stat.computationDetails.error = 'dependencyLoop';
console.warn('dependencyLoop', stat);
if (Meteor.isClient) console.warn('dependencyLoop', stat);
return;
}
// Before doing any work, mark this stat as busy

View File

@@ -84,7 +84,10 @@ function bulkWriteProperties(bulkWriteOps){
bulkWriteOps,
{ordered : false},
function(e){
if (e) console.error(e);
if (e) {
console.error('Bulk write failed: ');
console.error(e);
}
}
);
} else {