universal-geocoder
Version:
Universal geocoding abstraction server-side and client-side with multiple built-in providers
37 lines (29 loc) • 813 B
text/typescript
import Geocoded, { GeocodedObject } from "Geocoded";
export interface MapboxGeocodedObject extends GeocodedObject {
readonly types?: string[];
}
export default class MapboxGeocoded extends Geocoded {
private readonly types?: string[];
protected constructor({ types, ...geocodedObject }: MapboxGeocodedObject) {
super(geocodedObject);
this.types = types;
}
public static create(object: MapboxGeocodedObject): MapboxGeocoded {
return new this(object);
}
public toObject(): MapboxGeocodedObject {
return {
...super.toObject(),
types: this.types,
};
}
public withTypes(types: string[]): MapboxGeocoded {
return new MapboxGeocoded({
...this.toObject(),
types,
});
}
public getTypes(): undefined | string[] {
return this.types;
}
}