forked from MapComplete/MapComplete
		
	
		
			
	
	
		
			21 lines
		
	
	
	
		
			785 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			21 lines
		
	
	
	
		
			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; | ||
|  |         }) | ||
|  |     } | ||
|  | 
 | ||
|  | } |