geolib
Version:
Library to provide basic geospatial operations like distance calculation, decoding of sexagesimal coordinates etc.
1 lines • 1.21 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _isDecimal=_interopRequireDefault(require("./isDecimal"));var _isSexagesimal=_interopRequireDefault(require("./isSexagesimal"));var _sexagesimalToDecimal=_interopRequireDefault(require("./sexagesimalToDecimal"));var _isValidCoordinate=_interopRequireDefault(require("./isValidCoordinate"));var _getCoordinateKeys=_interopRequireDefault(require("./getCoordinateKeys"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const toDecimal=value=>{if((0,_isDecimal.default)(value)){return Number(value)}if((0,_isSexagesimal.default)(value)){return(0,_sexagesimalToDecimal.default)(value)}if((0,_isValidCoordinate.default)(value)){const keys=(0,_getCoordinateKeys.default)(value);if(Array.isArray(value)){return value.map((v,index)=>[0,1].includes(index)?toDecimal(v):v)}return{...value,...(keys.latitude&&{[keys.latitude]:toDecimal(value[keys.latitude])}),...(keys.longitude&&{[keys.longitude]:toDecimal(value[keys.longitude])})}}if(Array.isArray(value)){return value.map(point=>(0,_isValidCoordinate.default)(point)?toDecimal(point):point)}return value};var _default=exports.default=toDecimal;