const fetchGeoJson = async (): Promise> => { const res = await fetch(`/api`) const json = await res.json() if (!json) return Err("could not get json from api") if (!validate(json.geo)) return Err("did not get valid geo json from api") return Ok(json.geo) } const geoJson = await fetchGeoJson() if (geoJson.ok) useGeoJson(geoJson.value) // ok else if (geoJson.error) console.trace(geoJson.error) // known error else console.trace("unknown error") // unknown error