import {UIEventSource} from "../UIEventSource"; import FilteredLayer from "../../Models/FilteredLayer"; import {BBox} from "../BBox"; export default interface FeatureSource { features: UIEventSource<{ feature: any, freshness: Date }[]>; /** * Mainly used for debuging */ name: string; } export interface Tiled { tileIndex: number, bbox: BBox } /** * A feature source which only contains features for the defined layer */ export interface FeatureSourceForLayer extends FeatureSource { readonly layer: FilteredLayer } /** * A feature source which is aware of the indexes it contains */ export interface IndexedFeatureSource extends FeatureSource { readonly containedIds: UIEventSource> } /** * A feature source which has some extra data about it's state */ export interface FeatureSourceState { readonly sufficientlyZoomed: UIEventSource; readonly runningQuery: UIEventSource; readonly timeout: UIEventSource; }