Added deduplication
This commit is contained in:
		@@ -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();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user