From b2d4d29f9f66b33d6cccc39acf6488223d0d145b Mon Sep 17 00:00:00 2001 From: Peter Varg <1753720+vargind@users.noreply.github.com> Date: Wed, 25 Mar 2020 13:29:40 +1300 Subject: [PATCH] Add typings for geopoint (#43158) This adds a type definition for the geopoint npm package --- types/geopoint/geopoint-tests.ts | 21 +++++++++++++++++++++ types/geopoint/index.d.ts | 26 ++++++++++++++++++++++++++ types/geopoint/tsconfig.json | 23 +++++++++++++++++++++++ types/geopoint/tslint.json | 1 + 4 files changed, 71 insertions(+) create mode 100644 types/geopoint/geopoint-tests.ts create mode 100644 types/geopoint/index.d.ts create mode 100644 types/geopoint/tsconfig.json create mode 100644 types/geopoint/tslint.json diff --git a/types/geopoint/geopoint-tests.ts b/types/geopoint/geopoint-tests.ts new file mode 100644 index 0000000000..454c8e1caa --- /dev/null +++ b/types/geopoint/geopoint-tests.ts @@ -0,0 +1,21 @@ +import GeoPoint = require("geopoint"); + +function test() { + const geopoint: GeoPoint = new GeoPoint(2.33, 4.66, false); + + const boundingCoords: [GeoPoint, GeoPoint] = geopoint.boundingCoordinates(5, 12, true); + + const distanceTo: number = geopoint.distanceTo(new GeoPoint(4.20, 6.9)); + + const latitude: number = geopoint.latitude(false); + + const longitude: number = geopoint.longitude(true); + + const degToRad: number = GeoPoint.degreesToRadians(1); + + const kmToMiles: number = GeoPoint.kilometersToMiles(13.33333); + + const milesToKm: number = GeoPoint.milesToKilometers(666); + + const radToDeg: number = GeoPoint.radiansToDegrees(3); +} diff --git a/types/geopoint/index.d.ts b/types/geopoint/index.d.ts new file mode 100644 index 0000000000..78e77834b1 --- /dev/null +++ b/types/geopoint/index.d.ts @@ -0,0 +1,26 @@ +// Type definitions for geopoint 1.0 +// Project: https://github.com/davidwood/node-geopoint +// Definitions by: Varg Industries +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = GeoPoint; + +declare class GeoPoint { + constructor(lat: number, lon: number, inRadians?: boolean); + + boundingCoordinates(distance: number, radius: number, inKilometers?: boolean): [GeoPoint, GeoPoint]; + + distanceTo(point: GeoPoint, inKilometers?: boolean): number; + + latitude(inRadians?: boolean): number; + + longitude(inRadians?: boolean): number; + + static degreesToRadians(value: number): number; + + static kilometersToMiles(value: number): number; + + static milesToKilometers(value: number): number; + + static radiansToDegrees(value: number): number; +} diff --git a/types/geopoint/tsconfig.json b/types/geopoint/tsconfig.json new file mode 100644 index 0000000000..94c1ed37b1 --- /dev/null +++ b/types/geopoint/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "geopoint-tests.ts" + ] +} diff --git a/types/geopoint/tslint.json b/types/geopoint/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/geopoint/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }