UNPKG

universal-geocoder

Version:

Universal geocoding abstraction server-side and client-side with multiple built-in providers

140 lines (111 loc) 2.88 kB
import { MapQuestCoordinates } from "provider"; export interface MapQuestLocationObject { latLng?: MapQuestCoordinates; street?: string; adminArea1?: string; country?: string; adminArea3?: string; state?: string; adminArea4?: string; county?: string; adminArea5?: string; city?: string; postalCode?: string; type?: "s" | "v"; } export default class MapQuestLocation { private readonly latLng?: MapQuestCoordinates; private readonly street?: string; private readonly adminArea1?: string; private readonly country?: string; private readonly adminArea3?: string; private readonly state?: string; private readonly adminArea4?: string; private readonly county?: string; private readonly adminArea5?: string; private readonly city?: string; private readonly postalCode?: string; private readonly type?: "s" | "v"; protected constructor({ latLng, street, adminArea1, country, adminArea3, state, adminArea4, county, adminArea5, city, postalCode, type, }: MapQuestLocationObject) { this.latLng = latLng; this.street = street; this.adminArea1 = adminArea1; this.country = country; this.adminArea3 = adminArea3; this.state = state; this.adminArea4 = adminArea4; this.county = county; this.adminArea5 = adminArea5; this.city = city; this.postalCode = postalCode; this.type = type; } public static create(object: MapQuestLocationObject): MapQuestLocation { return new this(object); } public toObject(): MapQuestLocationObject { return { latLng: this.latLng, street: this.street, adminArea1: this.adminArea1, country: this.country, adminArea3: this.adminArea3, state: this.state, adminArea4: this.adminArea4, county: this.county, adminArea5: this.adminArea5, city: this.city, postalCode: this.postalCode, type: this.type, }; } public getLatLng(): undefined | MapQuestCoordinates { return this.latLng; } public getStreet(): undefined | string { return this.street; } public getAdminArea1(): undefined | string { return this.adminArea1; } public getCountry(): undefined | string { return this.country; } public getAdminArea3(): undefined | string { return this.adminArea3; } public getState(): undefined | string { return this.state; } public getAdminArea4(): undefined | string { return this.adminArea4; } public getCounty(): undefined | string { return this.county; } public getAdminArea5(): undefined | string { return this.adminArea5; } public getCity(): undefined | string { return this.city; } public getPostalCode(): undefined | string { return this.postalCode; } public getType(): undefined | "s" | "v" { return this.type; } }