Add StationDataModule, implementing getNearestStations & a Geohash generator method
All checks were successful
Publish Package / build-and-publish (push) Successful in 6s
All checks were successful
Publish Package / build-and-publish (push) Successful in 6s
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
/**
|
||||
* Checks if a string is a valid CRS
|
||||
* Checks if a string is a valid CRS (Syntactically Only)
|
||||
* using byte level checking for max performance
|
||||
* @param CRS The CRS Code to be validated
|
||||
*/
|
||||
export const IsValidCrs = (CRS: string): boolean => {
|
||||
if (CRS.length !== 3) return false;
|
||||
@@ -15,8 +16,9 @@ export const IsValidCrs = (CRS: string): boolean => {
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a string is a valid TIPLOC
|
||||
* Checks if a string is a valid TIPLOC (Syntactically Only)
|
||||
* using byte level checking for max performance
|
||||
* @param TIPLOC The TIPLOC to be validated
|
||||
*/
|
||||
export const IsValidTiploc = (TIPLOC: string): boolean => {
|
||||
const l = TIPLOC.length;
|
||||
@@ -33,9 +35,10 @@ export const IsValidTiploc = (TIPLOC: string): boolean => {
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a string is a valid PIS Code
|
||||
* Checks if a string is a valid PIS Code (Syntactically Only)
|
||||
* using byte level checking for max performance
|
||||
* ONLY GWR (4-digit) CODES SUPPORTED
|
||||
* @param PIS The PIS Code to be validated
|
||||
*/
|
||||
export const IsValidPis = (PIS: string): boolean => {
|
||||
if (PIS.length !== 4) return false;
|
||||
@@ -44,4 +47,15 @@ export const IsValidPis = (PIS: string): boolean => {
|
||||
if (!(char >= 48 && char <= 57)) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates Geohash string against standard b32 alphabet
|
||||
* (Syntactically Only validation)
|
||||
* @param hash The geohash to be validated
|
||||
* @param maxLen Defaults to 6 - which is enforced by the server, should not need changing
|
||||
*/
|
||||
export const IsValidGeoHash = (hash: string, maxLen: number = 6): boolean => {
|
||||
const geoHashRegex = new RegExp(`^[0-9bcdefghjkmnpqrstuvwxyz]{1,${maxLen}}$`, 'i');
|
||||
return geoHashRegex.test(hash);
|
||||
}
|
||||
Reference in New Issue
Block a user