in packages/geofire-common/src/index.ts [71:96]
export function validateLocation(location: Geopoint): void {
let error: string;
if (!Array.isArray(location)) {
error = 'location must be an array';
} else if (location.length !== 2) {
error = 'expected array of length 2, got length ' + location.length;
} else {
const latitude = location[0];
const longitude = location[1];
if (typeof latitude !== 'number' || isNaN(latitude)) {
error = 'latitude must be a number';
} else if (latitude < -90 || latitude > 90) {
error = 'latitude must be within the range [-90, 90]';
} else if (typeof longitude !== 'number' || isNaN(longitude)) {
error = 'longitude must be a number';
} else if (longitude < -180 || longitude > 180) {
error = 'longitude must be within the range [-180, 180]';
}
}
if (typeof error !== 'undefined') {
throw new Error('Invalid GeoFire location \'' + location + '\': ' + error);
}
}