import FeatureSource from "./FeatureSource"; import {UIEventSource} from "../UIEventSource"; import State from "../../State"; export default class RegisteringFeatureSource implements FeatureSource { public readonly features: UIEventSource<{ feature: any; freshness: Date }[]>; public readonly name; constructor(source: FeatureSource) { this.features = source.features; this.name = "RegisteringSource of "+source.name; this.features.addCallbackAndRun(features => { for (const feature of features ?? []) { if (!State.state.allElements.has(feature.feature.properties.id)) { State.state.allElements.addOrGetElement(feature.feature) } } }) } }