fix: keep transit snapshot parsing within request lifetime

This commit is contained in:
Sameh Khamis committed 2026-09-15 08:01:30 -07:00
1 parent 3155e4e0bf
commit 30e01890e7
2 files changed
+46 -3

No files matched your search

+17 -3
View File
@@ -13,9 +13,23 @@ export function createTransitSource({
signal?.throwIfAborted();
if (typeof feedId !== 'string' || !feedId || feedId.length > 160)
throw new TypeError('A transit feed identifier is required');
return fetchImpl(`/api/transit/vehicles/${encodeURIComponent(feedId)}`, {
signal,
headers: { Accept: 'application/json' },
return Promise.resolve(
fetchImpl(`/api/transit/vehicles/${encodeURIComponent(feedId)}`, {
signal,
headers: { Accept: 'application/json' },
}),
).then((response) => {
signal?.throwIfAborted();
return {
ok: response.ok,
status: response.status,
headers: response.headers,
async json() {
const body = await response.json();
signal?.throwIfAborted();
return body;
},
};
});
},
};