export class Street { name: string; city: string; constructor(name: string, city: string) { this.name = name; this.city = city; } } export class Ivago { base_url: string; constructor(url: string) { this.base_url = url; } async search(search_term: string): Promise { var r = await fetch(`${this.base_url}/ivago/search?` + new URLSearchParams({ q: search_term, })); if (!r.ok) { return Promise.reject(); } var json = await r.json(); return json.map((o: {name: string, city: string}) => new Street(o.name, o.city)); } }