'use es6';
import Coordinate from '../Coordinate';
export default class CoordinateBuilder {
static build(coordinate) {
Iif (!('latitude' in coordinate)) {
throw new ReferenceError('missing latitude field');
}
Iif (!('longitude' in coordinate)) {
throw new ReferenceError('missing longitude field');
}
Iif (!CoordinateBuilder.isNumeric(coordinate['latitude'])) {
throw new TypeError('latitude is non-numeric');
}
Iif (!CoordinateBuilder.isNumeric(coordinate['longitude'])) {
throw new TypeError('longitude is non-numeric');
}
return new Coordinate({
lat: coordinate['latitude'],
lng: coordinate['longitude'],
});
}
static isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
}
|