vue3-maplibre-gl
Version:
Vue 3 components and composables for MapLibre GL JS - Build interactive maps with ease
43 lines (42 loc) • 1.48 kB
TypeScript
import { ComputedRef } from 'vue';
import { CreateGeoJsonSourceActions } from '..';
import { GeoJSONSource, GeoJSONSourceSpecification } from 'maplibre-gl';
import { Nullable } from '../../types';
/**
* GeoJSON source management status enum for better state tracking
*/
export declare enum GeoJsonSourceStatus {
NotRegistered = "not-registered",
Registered = "registered",
Error = "error"
}
/**
* Enhanced interface for GeoJSON source management methods
*/
interface GeoJsonSourceMethods {
sourceId: ComputedRef<string | undefined>;
getSource: ComputedRef<Nullable<GeoJSONSource>>;
setData: (data: GeoJSONSourceSpecification['data']) => void;
refreshSource: () => void;
isSourceReady: ComputedRef<boolean>;
sourceStatus: ComputedRef<GeoJsonSourceStatus>;
}
/**
* Configuration options for GeoJSON source management
*/
interface UseGeoJsonSourceProps {
debug?: boolean;
autoRefresh?: boolean;
}
/**
* Enhanced composable for managing GeoJSON source instances
* Provides reactive source management with improved error handling and performance optimizations
*
* @param props - Configuration options for the GeoJSON source manager
* @returns Enhanced methods and state for GeoJSON source management
*/
export declare function useGeoJsonSource(props?: UseGeoJsonSourceProps): GeoJsonSourceMethods & {
register: (instance: CreateGeoJsonSourceActions) => void;
};
export {};
//# sourceMappingURL=useGeoJsonSource.d.ts.map