Added deduplication

This commit is contained in:
Tim Stallard 2016-12-13 23:49:17 +00:00
parent 2672c3e3d6
commit fc905134c9

View File

@ -100,11 +100,15 @@ function nextSetOfScenarios(scenarios, callback){
} }
return true; return true;
}; };
scenarioSort = (scenario)=>{ scenarioSort = (scenario)=>{
scenario.floors.forEach((a)=>(a.sort())); scenario.floors.forEach((a)=>(a.sort()));
return scenario; return scenario;
} }
scenarioToJson = (scenario)=>(JSON.stringify(scenario));
scenarioFromJson = (scenario)=>(JSON.parse(scenario));
scenarioDuplicate = (scenario, i, scenarios)=>{
return [scenarios.indexOf(scenario) == i, scenario];
};
@ -122,10 +126,29 @@ function nextSetOfScenarios(scenarios, callback){
console.log("valid", scenarios.length); console.log("valid", scenarios.length);
p.map(scenarios, scenarioSort, (err, scenarios)=>{ p.map(scenarios, scenarioSort, (err, scenarios)=>{
console.log("sorted", scenarios.length); console.log("sorted", scenarios.length);
p.map(scenarios, scenarioToJson, (err, scenarios)=>{
console.log("inJSON", scenarios.length);
p.map(scenarios, scenarioDuplicate, (err, scenarios)=>{
scenarios = scenarios.filter((scenario)=>(scenario[0]));
scenarios = scenarios.map((scenario)=>(scenario[1]));
console.log("deduped", scenarios.length);
p.map(scenarios, scenarioFromJson, (err, scenarios)=>{
console.log("fromJSON", scenarios.length);
callback(scenarios); callback(scenarios);
}); });
}); });
}) });
});
});
});
/*
Standard code to copy
p.map(scenarios, scenarioSort, (err, scenarios)=>{
callback(scenarios);
});
*/
//p.map(possibleScenarios).reduce(merge).spawn(forceMerge).then(callback); //p.map(possibleScenarios).reduce(merge).spawn(forceMerge).then(callback);
@ -180,7 +203,7 @@ var callback = (scenarios)=>{
nextSetOfScenarios(scenarios, callback); nextSetOfScenarios(scenarios, callback);
} }
else{ else{
console.log(possibilities); console.log(scenarios);
p.destroy(); p.destroy();
} }
} }