UNPKG

@enonic/js-utils

Version:
59 lines (52 loc) 1.21 kB
// 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) ]); } // value/isGeoPoint.ts function isGeoPoint(v) { return isString(v) ? isGeoPointString(v) : isGeoPointArray(v); } export { isGeoPoint };