japan-map-selector
Version:
Interactive Japan map component for selecting prefectures and municipalities
40 lines (39 loc) • 1.41 kB
TypeScript
import { Prefecture, Municipality } from '../types';
export interface LazyDataLoaderOptions {
prefectureDataUrl: string;
municipalityDataUrl?: string;
preloadMunicipalities?: boolean;
onMunicipalityLoadStart?: () => void;
onMunicipalityLoadEnd?: () => void;
}
export declare class LazyDataLoader {
private prefectures;
private municipalities;
private municipalityDataUrl?;
private municipalitiesLoaded;
private municipalitiesLoading;
private municipalityLoadPromise?;
private options;
constructor(options: LazyDataLoaderOptions);
loadPrefectures(): Promise<Prefecture[]>;
loadMunicipalities(): Promise<Municipality[]>;
preloadMunicipalities(): Promise<void>;
getPrefectures(): Prefecture[];
getMunicipalities(): Municipality[];
isMunicipalitiesLoaded(): boolean;
isMunicipalitiesLoading(): boolean;
}
export declare class SplitDataLoader {
private prefectureDataUrl;
private prefectures;
private municipalityCache;
private loadingCache;
private baseUrl;
constructor(prefectureDataUrl: string, baseUrl: string);
loadPrefectures(): Promise<Prefecture[]>;
loadMunicipalitiesForPrefecture(prefectureCode: string): Promise<Municipality[]>;
private calculateBounds;
getPrefectures(): Prefecture[];
getMunicipalitiesForPrefecture(prefectureCode: string): Municipality[];
clearCache(): void;
}