Skip to content

Releases: 0xStarcat/Moshier-Ephemeris-JS

V1.2.1hotfix 1 - Fixes a typo in the demo

30 Mar 16:42
Compare
Choose a tag to compare

Thanks to Chris G. for catching the issue

Minify code

07 Nov 14:50
d742a4c
Compare
Choose a tag to compare

v1.2.1

Added
  • Properly minify the code, decreasing bundle size from 537kb to 235kb.

v1.2.0 - Retrograde!

07 Nov 02:31
Compare
Choose a tag to compare

v1.2.0

This version adds retrograde calculations for each heliocentric body (mercury, venus, etc).

Access the data from an ephemeris instance with ephemeris[bodyKey].motion

The retrograde calculations include an optional feature to determine if the body is currently within a retrograde pre/post shadow as well. This calculation is costly, so it's defaulted to off. To enable, Instantiate your ephemeris class with calculateShadows: true like new Ephemeris({...datetime, calculateShadows: true})

Added
  • Added .motion property to heliocentric bodies for reporting retrograde motion and pre/post shadow phases.
  • Added calculateShadows key to Ephemeris class constructor to toggle costly shadow calculations on / off.

v1.1.0 - Moon Update!

14 Oct 22:23
Compare
Choose a tag to compare

v1.1.0

Added
  • Added observerInstance.Date.dateString property which returns the formatted date string of the observer
  • Added new moon position properties include phase & shape descriptions and orbit calculations (mean ascending node + mean descending node and mean perigee + mean apogee):
new Ephemeris: {
  moon: {
    position: {
      phaseDecimal: float // property which returns a 0.0 - 0.99 representation of the phase.
      phaseDaysDistance: float // positive float indicating distance from closest phase quarter
      shapeDirectionString: string // 'Waxing' or 'Waning' depending on the phaseDecimal value
      shapeString: string // 'Crescent' or 'Gibbous' depending on the illuminatedFraction
      quarterApproximationValue: float // the amount (in days) in either direction of a quarter event to allow for determining the approximate quarter phase. Defaults to 1.5 days in either direction of a quarter event.
      quarterApproximationString: string // QUARTER EVENT<'New Moon', 'First Quarter', 'Full Moon', 'Last Quarter'> determined by the phaseDecimal and quarterApproximationValue
      quarterApproximationDirectionString: string // "Entering" or "Leaving" the quarter approximation
      withinQuarterApproximation: boolean // true/false determined by whether phaseDecimal is inside of quarterApproximationValue
    }
    orbit: {
      meanAscendingNode: {
        apparentLongitude: float
        apparentLongitudeString: string
        apparentLongitude30String: string
      },
      meanDescendingNode: {...},
      meanPerigee: {...},
      meanApogee: {...}
    }
  }
}

v1.0.0 release - ES6 re-implementation

06 Oct 17:33
Compare
Choose a tag to compare

v1.0.0

Fixed
  • Fixed Moon phaseQuarter bug where integer did not align with expected moon phase start.
Added
  • Added phaseQuarterString property to the moon result with a descriptor of the phase ("Full Moon", etc).
  • Complete test coverage for all calculated bodies.
Changed
  • Refactors much of the codebase into ES6 modules, classes, and OOP patterns where easy to do.
Breaking Changes
  • Added Ephemeris class to access calculations (see README for usage examples)
  • Requires month range 0 - 11 on instantiation