mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
refactor(app): share application components and request services
This commit is contained in:
1 parent
a0a0128a59
commit
a67bc60a29
84 files changed
+2798
-1731
No files matched your search
@@ -0,0 +1,43 @@
|
||||
import flights from '../data/flights.js';
|
||||
import military from '../data/militaryFlights.js';
|
||||
import vessels from '../data/aisLiveVessels.js';
|
||||
import { configureAlprSource } from '../data/alprCameras.js';
|
||||
import { configureCctvSource } from '../data/cctv.js';
|
||||
import { configureRadioSource } from '../data/radio.js';
|
||||
import { configureTrafficSource } from '../data/traffic.js';
|
||||
import { configureBikeshareSource } from '../data/bikeshare.js';
|
||||
import { configureInstallationSource } from '../data/militaryInstallations.js';
|
||||
import { configureSatelliteSource } from '../data/satellites.js';
|
||||
import { configureLaunchSource } from '../data/rocketLaunches.js';
|
||||
import { configureFirmsSource } from '../data/firmsHeatmap.js';
|
||||
import { configureMilitaryRegistrySource } from '../data/militaryRegistry.js';
|
||||
const configure = {
|
||||
alpr: configureAlprSource,
|
||||
cctv: configureCctvSource,
|
||||
radio: configureRadioSource,
|
||||
traffic: configureTrafficSource,
|
||||
bikeshare: configureBikeshareSource,
|
||||
installations: configureInstallationSource,
|
||||
satellites: configureSatelliteSource,
|
||||
launches: configureLaunchSource,
|
||||
firms: configureFirmsSource,
|
||||
};
|
||||
/** Configure sources before any registration or state restoration starts. */
|
||||
export function configureApplicationSources({
|
||||
layers = {},
|
||||
live = {},
|
||||
signal,
|
||||
defer,
|
||||
}) {
|
||||
for (const [name, source] of Object.entries(layers)) {
|
||||
if (!configure[name]) throw new TypeError(`Unknown layer source: ${name}`);
|
||||
defer(configure[name](source));
|
||||
}
|
||||
if (live.flights) flights.setSource(live.flights);
|
||||
if (live.military) {
|
||||
military.setSource(live.military);
|
||||
defer(configureMilitaryRegistrySource(live.military, { signal }));
|
||||
}
|
||||
if (live.vessels) vessels.setSource(live.vessels);
|
||||
}
|
||||
export const liveLayers = Object.freeze({ flights, military, vessels });
|
||||
Reference in new issue
Block a user