1 const AccuracyLevel = {
  2     Approximate: 'Approximate',
  3     Precise: 'Precise'
  4 };
  5 
  6 /**
  7  * Angle measurement units
  8  */
  9 const AngleMeasure = {
 10     Degrees: 'Degrees',
 11     Hours: 'Hours'
 12 };
 13 
 14 const CoordinateType = {
 15     True: 'True',
 16     Apparent: 'Apparent'
 17 };
 18 
 19 const LunarEclipseOccurrence = {
 20     None: "No lunar eclipse",
 21     Possible: "Lunar eclipse possible",
 22     Certain: "Lunar eclipse certain"
 23 };
 24 
 25 const RiseSetCalcStatus = {
 26     OK: 'OK',
 27     ConversionWarning: 'GST to UT conversion warning'
 28 };
 29 
 30 const RiseSetStatus = {
 31     OK: 'OK',
 32     NeverRises: 'NeverRises',
 33     Circumpolar: 'Circumpolar'
 34 };
 35 
 36 const SolarEclipseOccurrence = {
 37     None: "No solar eclipse",
 38     Possible: "Solar eclipse possible",
 39     Certain: "Solar eclipse certain"
 40 };
 41 
 42 const TwilightStatus = {
 43     OK: 'OK',
 44     AllNight: 'Lasts all night',
 45     TooFarBelowHorizon: 'Sun too far below horizon',
 46     ConversionWarning: 'GST to UT conversion warning'
 47 };
 48 
 49 const TwilightType = {
 50     Civil: 6,
 51     Nautical: 12,
 52     Astronomical: 18
 53 };
 54 
 55 /**
 56  * Warning flags for calculation results
 57  */
 58 const WarningFlag = {
 59     OK: 'OK',
 60     Warning: 'Warning'
 61 };
 62 
 63 module.exports = {
 64     AccuracyLevel,
 65     AngleMeasure,
 66     CoordinateType,
 67     LunarEclipseOccurrence,
 68     RiseSetCalcStatus,
 69     RiseSetStatus,
 70     SolarEclipseOccurrence,
 71     TwilightStatus,
 72     TwilightType,
 73     WarningFlag
 74 };