@enonic/js-utils
Version:
Enonic XP JavaScript Utils
54 lines (48 loc) • 1.1 kB
JavaScript
// value/isNumber.ts
function isNumber(value) {
return typeof value === "number" && isFinite(value);
}
// value/isGeoPointArray.ts
function isGeoPointArray(v) {
if (!Array.isArray(v) || v.length !== 2) {
return false;
}
const [lat, lon] = v;
if (!isNumber(lat) && !isNumber(lon)) {
return false;
}
if (lat < -90 || lat > 90) {
return false;
}
if (lon < -180 || lon > 180) {
return false;
}
return true;
}
// value/isStringLiteral.ts
var isStringLiteral = (value) => typeof value === "string";
// value/isStringObject.ts
var isStringObject = (value) => value instanceof String;
// value/isString.ts
var isString = (value) => isStringLiteral(value) || isStringObject(value);
// value/isGeoPointString.ts
function isGeoPointString(v) {
if (!isString(v)) {
return false;
}
const array = v.split(",");
if (array.length !== 2) {
return false;
}
const [lat, lon] = array;
if (!isString(lat) || !isString(lon)) {
return false;
}
return isGeoPointArray([
parseFloat(lat),
parseFloat(lon)
]);
}
export {
isGeoPointString
};