forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			21 lines
		
	
	
		
			No EOL
		
	
	
		
			785 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			No EOL
		
	
	
		
			785 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /// Given a feature source, calculates a list of OSM-contributors who mapped the latest versions
 | |
| import FeatureSource from "./FeatureSource/FeatureSource";
 | |
| import {UIEventSource} from "./UIEventSource";
 | |
| 
 | |
| export default class ContributorCount {
 | |
| 
 | |
|     public readonly Contributors: UIEventSource<Map<string, number>>;
 | |
| 
 | |
|     constructor(featureSource: FeatureSource) {
 | |
|         this.Contributors = featureSource.features.map(features => {
 | |
|             const hist = new Map<string, number>();
 | |
|             for (const feature of features) {
 | |
|                 const contributor = feature.feature.properties["_last_edit:contributor"]
 | |
|                 const count = hist.get(contributor) ?? 0;
 | |
|                 hist.set(contributor, count + 1)
 | |
|             }
 | |
|             return hist;
 | |
|         })
 | |
|     }
 | |
| 
 | |
| } |