mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
refactor: separate map feature queries and source records
This commit is contained in:
1 parent
a8125ad917
commit
bf1d50f29b
28 files changed
+1128
-675
No files matched your search
@@ -1,3 +1,4 @@
|
||||
import { createOverpassFeatureSource } from '../sources/overpassFeatures.js';
|
||||
/** Parse bounded retry information from a service response. */
|
||||
function retryAfterMs(value) {
|
||||
if (value == null || String(value).trim() === '') return null;
|
||||
@@ -13,6 +14,7 @@ export function createApplicationRequestServices({
|
||||
fetchImpl = (...args) => fetch(...args),
|
||||
signal: lifetime,
|
||||
endpoints = {},
|
||||
features,
|
||||
} = {}) {
|
||||
const urls = {
|
||||
boundaries: '/api/overpass',
|
||||
@@ -62,7 +64,7 @@ export function createApplicationRequestServices({
|
||||
throw new Error(`${label} unavailable (${response.status})`);
|
||||
return response.data;
|
||||
}
|
||||
return {
|
||||
const services = {
|
||||
boundaries: {
|
||||
async query(query, { signal } = {}) {
|
||||
const response = await request(urls.boundaries, {
|
||||
@@ -125,4 +127,11 @@ export function createApplicationRequestServices({
|
||||
},
|
||||
},
|
||||
};
|
||||
services.features =
|
||||
features ??
|
||||
createOverpassFeatureSource({
|
||||
boundarySource: services.boundaries,
|
||||
signal: lifetime,
|
||||
});
|
||||
return services;
|
||||
}
|
||||
Reference in new issue
Block a user