Installation
npm install --save @types/haversine
Summary
This package contains type definitions for haversine (https://github.com/njj/haversine).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/haversine.
declare namespace haversine {
interface CoordinateLongitudeLatitude {
longitude: number;
latitude: number;
}
interface CoordinateLonLat {
lon: number;
lat: number;
}
interface CoordinateLatLng {
lat: number;
lng: number;
}
type LatLonTuple = [number, number];
interface GeoJSON {
geometry: {
coordinates: number[];
};
}
type Coordinate = CoordinateLongitudeLatitude | CoordinateLonLat | CoordinateLatLng | LatLonTuple | GeoJSON;
interface Options {
unit?: "km" | "mile" | "meter" | "nmi" | undefined;
threshold?: number | null | undefined;
format?: "[lat,lon]" | "[lon,lat]" | "{lon,lat}" | "{lat,lng}" | "geojson" | undefined;
}
type ParamType<T extends Options | undefined> = T extends undefined ? CoordinateLongitudeLatitude
: T extends { format: "[lat,lon]" | "[lon,lat]" } ? [number, number]
: T extends { format: "{lat,lon}" } ? CoordinateLonLat
: T extends { format: "{lat,lng}" } ? CoordinateLatLng
: T extends { format: "geojson" } ? GeoJSON
: Coordinate;
type Return<T extends Options | undefined> = T extends { threshold: number } ? boolean : number;
}
declare function haversine<OptionsT extends haversine.Options | undefined = undefined>(
start: haversine.ParamType<OptionsT>,
end: haversine.ParamType<OptionsT>,
options?: OptionsT,
): haversine.Return<OptionsT>;
export = haversine;
Additional Details
- Last updated: Tue, 07 Nov 2023 03:09:37 GMT
- Dependencies: none
Credits
These definitions were written by Christian Rackerseder, and Dan Vanderkam.