forked from gabzim/circle-to-polygon
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
68 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
var validateCenter = require("./validateCenter").validateCenter; | ||
var validateRadius = require("./validateRadius").validateRadius; | ||
var validateNumberOfSegments = require("./validateNumberOfSegments") | ||
.validateNumberOfSegments; | ||
|
||
function validateInput({ center, radius, numberOfSegments }) { | ||
validateCenter(center); | ||
validateRadius(radius); | ||
validateNumberOfSegments(numberOfSegments); | ||
} | ||
|
||
exports.validateCenter = validateCenter; | ||
exports.validateRadius = validateRadius; | ||
exports.validateNumberOfSegments = validateNumberOfSegments; | ||
exports.validateInput = validateInput; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
exports.validateCenter = function validateCenter(center) { | ||
const validCenterLengths = [2, 3] | ||
if (!Array.isArray(center) || !validCenterLengths.includes(center.length)) { | ||
throw new Error("ERROR! Center has to be an array of length two or three"); | ||
} | ||
const [lng, lat] = center; | ||
if (typeof lng !== "number" || typeof lat !== "number") { | ||
throw new Error( | ||
`ERROR! Longitude and Latitude has to be numbers but where ${typeof lng} and ${typeof lat}` | ||
); | ||
} | ||
if (lng > 180 || lng < -180) { | ||
throw new Error( | ||
`ERROR! Longitude has to be between -180 and 180 but was ${lng}` | ||
); | ||
} | ||
|
||
if (lat > 90 || lat < -90) { | ||
throw new Error( | ||
`ERROR! Latitude has to be between -90 and 90 but was ${lat}` | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
exports.validateNumberOfSegments = function validateNumberOfSegments( | ||
numberOfSegments | ||
) { | ||
if (typeof numberOfSegments !== "number" && numberOfSegments !== undefined) { | ||
throw new Error( | ||
`ERROR! Number of segments has to be a number but was: ${typeof numberOfSegments}` | ||
); | ||
} | ||
|
||
if (numberOfSegments < 3) { | ||
throw new Error( | ||
`ERROR! Number of segments has to be at least 3 but was: ${numberOfSegments}` | ||
); | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
exports.validateRadius = function validateRadius(radius) { | ||
if (typeof radius !== "number") { | ||
throw new Error( | ||
`ERROR! Radius has to be a positive number but was: ${typeof radius}` | ||
); | ||
} | ||
|
||
if (radius <= 0) { | ||
throw new Error( | ||
`ERROR! Radius has to be a positive number but was: ${radius}` | ||
); | ||
} | ||
}; |