Added dependency grouping, but commented out for now until it's needed
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import buildCreatureComputation from './computation/buildCreatureComputation.js';
|
||||
import buildCreatureComputation, { buildDependencyGroupComputation } from './computation/buildCreatureComputation.js';
|
||||
import computeCreatureComputation from './computation/computeCreatureComputation.js';
|
||||
import writeAlteredProperties from './computation/writeComputation/writeAlteredProperties.js';
|
||||
import writeScope from './computation/writeComputation/writeScope.js';
|
||||
@@ -7,21 +7,31 @@ import writeErrors from './computation/writeComputation/writeErrors.js';
|
||||
export default function computeCreature(creatureId){
|
||||
if (Meteor.isClient) return;
|
||||
const computation = buildCreatureComputation(creatureId);
|
||||
computeComputation(computation, creatureId);
|
||||
}
|
||||
|
||||
// Recompute only some groups of the dependency tree
|
||||
export function computeCreatureDependencyGroup(depGroupIds, creatureId) {
|
||||
const computation = buildDependencyGroupComputation(depGroupIds, creatureId);
|
||||
computeComputation(computation, creatureId);
|
||||
}
|
||||
|
||||
function computeComputation(computation, creatureId) {
|
||||
try {
|
||||
computeCreatureComputation(computation);
|
||||
writeAlteredProperties(computation);
|
||||
writeScope(creatureId, computation.scope);
|
||||
} catch (e){
|
||||
} catch (e) {
|
||||
const errorText = e.reason || e.message || e.toString();
|
||||
computation.errors.push({
|
||||
type: 'crash',
|
||||
details: {error: errorText},
|
||||
details: { error: errorText },
|
||||
});
|
||||
const logError = {
|
||||
creatureId,
|
||||
computeError: errorText,
|
||||
};
|
||||
if (e.stack){
|
||||
if (e.stack) {
|
||||
logError.location = e.stack.split('\n')[1];
|
||||
}
|
||||
console.error(logError);
|
||||
@@ -29,10 +39,3 @@ export default function computeCreature(creatureId){
|
||||
writeErrors(creatureId, computation.errors);
|
||||
}
|
||||
}
|
||||
|
||||
// For now just recompute the whole creature, TODO only recompute a single
|
||||
// connected section of the depdendency graph
|
||||
export function computeCreatureDependencyGroup(property){
|
||||
let creatureId = property.ancestors[0].id;
|
||||
computeCreature(creatureId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user