{"version":3,"sources":["jsdelivr-header.js","/npm/sexagesimal@0.5.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACAA,SAAS,QAAQ,EAAG,GAClB,OAAO,OAAO,EAAG,GAAM,GACzB,CAEA,SAAS,WAAW,GAClB,OAAO,OAAO,EAAE,IAAK,OAAS,IAAM,OAAO,EAAE,IAAK,MACpD,CAGA,SAAS,OAAO,EAAG,GACjB,IAAI,EAAM,WAAW,EAAE,GACvB,OAAO,EAAI,MAAQ,MAChB,EAAI,QAAU,EAAI,QAAU,KAAQ,KACpC,EAAI,QAAU,EAAI,QAAU,KAAO,IAAM,EAAI,GAClD,CAEA,SAAS,WAAW,EAAE,GACpB,IAIA,GAJW,CACT,IAAK,CAAC,IAAK,KACX,IAAK,CAAC,IAAK,MACX,IAAQ,IACC,GAAK,EAAI,EAAI,GACtB,EAAM,KAAK,IAAI,GACf,EAAQ,KAAK,MAAM,GAEnB,EAA6B,IADlB,EAAM,GAEjB,EAAU,KAAK,MAAM,GAGvB,MAAO,CACL,MAAO,EACP,QAAS,EACT,QALU,KAAK,MAAoC,IAA7B,EAAkB,IAMxC,IAAK,EAET,CAEA,SAAS,OAAO,EAAG,EAAM,GAEvB,GADK,IAAM,EAAO,QACD,iBAAN,EAAgB,MAAO,CAAE,IAAK,KAAM,MAAO,GAEtD,IAAI,GADJ,EAAI,GAAK,8FACC,KAAK,GACf,OAAK,EACI,EAAE,KAA8B,IAAxB,EAAK,QAAQ,EAAE,IAAmB,CAAE,IAAK,KAAM,MAAO,GAC3D,CACV,MAAQ,EAAE,GAAM,WAAW,EAAE,IAAM,IAC3B,EAAE,GAAK,WAAW,EAAE,IAAM,GAAK,IAC/B,EAAE,GAAK,WAAW,EAAE,IAAM,KAAO,KACjC,EAAE,IAAe,MAAT,EAAE,IAAuB,MAAT,EAAE,IAAe,EAAI,GACrD,MAAO,EACP,IAAK,EAAE,GACP,IAAK,EAAE,IATM,CAAE,IAAK,KAAM,MAAO,EAWrC,CAEA,SAAS,KAAK,EAAG,GAEf,IAAI,EAAM,OADV,EAAI,EAAE,OACc,GACpB,GAAgB,OAAZ,EAAI,IAAc,OAAO,KAC7B,IAAI,EAAM,OAAO,EAAG,EAAM,EAAI,OAC9B,OAAgB,OAAZ,EAAI,KAEJ,EAAI,IAAM,EAAI,MAAQ,EAFG,KAGzB,EAAI,IACC,QAAQ,EAAI,IAAK,EAAI,IAAK,EAAI,KAE9B,CAAC,EAAI,IAAK,EAAI,IAEzB,CAEA,SAAS,QAAQ,EAAG,EAAG,GACrB,MAAY,MAAR,GAAuB,MAAR,EAAoB,CAAC,EAAG,GAC/B,MAAR,GAAuB,MAAR,EAAoB,CAAC,EAAG,QAA3C,CACF,CA/EA,OAAO,QAAU,QACjB,OAAO,QAAQ,KAAO,KACtB,OAAO,QAAQ,OAAS,OACxB,OAAO,QAAQ,WAAa,WAC5B,OAAO,QAAQ,WAAa","file":"/npm/sexagesimal@0.5.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/sexagesimal@0.5.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","module.exports = element;\nmodule.exports.pair = pair;\nmodule.exports.format = format;\nmodule.exports.formatPair = formatPair;\nmodule.exports.coordToDMS = coordToDMS;\n\nfunction element(x, dims) {\n  return search(x, dims).val;\n}\n\nfunction formatPair(x) {\n  return format(x.lat, 'lat') + ' ' + format(x.lon, 'lon');\n}\n\n// Is 0 North or South?\nfunction format(x, dim) {\n  var dms = coordToDMS(x,dim);\n  return dms.whole + '° ' +\n    (dms.minutes ? dms.minutes + '\\' ' : '') +\n    (dms.seconds ? dms.seconds + '\" ' : '') + dms.dir;\n}\n\nfunction coordToDMS(x,dim) {\n  var dirs = {\n    lat: ['N', 'S'],\n    lon: ['E', 'W']\n  }[dim] || '',\n  dir = dirs[x >= 0 ? 0 : 1],\n    abs = Math.abs(x),\n    whole = Math.floor(abs),\n    fraction = abs - whole,\n    fractionMinutes = fraction * 60,\n    minutes = Math.floor(fractionMinutes),\n    seconds = Math.floor((fractionMinutes - minutes) * 60);\n\n  return {\n    whole: whole,\n    minutes: minutes,\n    seconds: seconds,\n    dir: dir\n  };\n}\n\nfunction search(x, dims, r) {\n  if (!dims) dims = 'NSEW';\n  if (typeof x !== 'string') return { val: null, regex: r };\n  r = r || /[\\s\\,]*([\\-|\\—|\\―]?[0-9.]+)°? *(?:([0-9.]+)['’′‘] *)?(?:([0-9.]+)(?:''|\"|”|″) *)?([NSEW])?/gi;\n  var m = r.exec(x);\n  if (!m) return { val: null, regex: r };\n  else if (m[4] && dims.indexOf(m[4]) === -1) return { val: null, regex: r };\n  else return {\n    val: (((m[1]) ? parseFloat(m[1]) : 0) +\n          ((m[2] ? parseFloat(m[2]) / 60 : 0)) +\n          ((m[3] ? parseFloat(m[3]) / 3600 : 0))) *\n          ((m[4] && m[4] === 'S' || m[4] === 'W') ? -1 : 1),\n    regex: r,\n    raw: m[0],\n    dim: m[4]\n  };\n}\n\nfunction pair(x, dims) {\n  x = x.trim();\n  var one = search(x, dims);\n  if (one.val === null) return null;\n  var two = search(x, dims, one.regex);\n  if (two.val === null) return null;\n  // null if one/two are not contiguous.\n  if (one.raw + two.raw !== x) return null;\n  if (one.dim) {\n    return swapdim(one.val, two.val, one.dim);\n  } else {\n    return [one.val, two.val];\n  }\n}\n\nfunction swapdim(a, b, dim) {\n  if (dim === 'N' || dim === 'S') return [a, b];\n  if (dim === 'W' || dim === 'E') return [b, a];\n}\n"]}