mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-14 08:53:11 +00:00
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
/**
|
|
* Lazy loaders for Bahia map geometries (B3 / B5 F1).
|
|
*
|
|
* TopoJSON decode runs only when a map surface mounts — not on the default `/campanha` graph.
|
|
* Submodules: `bahiaMunicipalityGeometries.ts`, `bahiaTerritoryGeometries.ts`.
|
|
*/
|
|
|
|
export type {
|
|
MunicipalityGeometryModule,
|
|
TerritoryGeometryModule,
|
|
} from '@/lib/bahiaGeometriesTypes'
|
|
|
|
import type {
|
|
MunicipalityGeometryModule,
|
|
TerritoryGeometryModule,
|
|
} from '@/lib/bahiaGeometriesTypes'
|
|
|
|
let municipalityModulePromise: Promise<MunicipalityGeometryModule> | null = null
|
|
let territoryModulePromise: Promise<TerritoryGeometryModule> | null = null
|
|
|
|
export const loadMunicipalityGeometryModule = (): Promise<MunicipalityGeometryModule> => {
|
|
municipalityModulePromise ??= import('@/lib/bahiaMunicipalityGeometries').then(
|
|
(module) => module.municipalityGeometryModule,
|
|
)
|
|
return municipalityModulePromise
|
|
}
|
|
|
|
export const loadTerritoryGeometryModule = (): Promise<TerritoryGeometryModule> => {
|
|
territoryModulePromise ??= import('@/lib/bahiaTerritoryGeometries').then(
|
|
(module) => module.territoryGeometryModule,
|
|
)
|
|
return territoryModulePromise
|
|
}
|