Sha256: 466a17b5428dabc65dac2988d91dcbf9d61196d5c15c70f5d70c76fb7138ce69

Contents?: true

Size: 969 Bytes

Versions: 211

Compression:

Stored size: 969 Bytes

Contents

const EARTH_TO_OTHER_PLANETS = {
  mercury: 0.2408467,
  venus: 0.61519726,
  earth: 1,
  mars: 1.8808158,
  jupiter: 11.862615,
  saturn: 29.447498,
  uranus: 84.016846,
  neptune: 164.79132
};

class SpaceAge {

  constructor(seconds) {
    this.seconds = seconds;
    this.earthYears = seconds / 31557600;
  }

  yearsOnPlanet(planet) {
    const years = this.earthYears / EARTH_TO_OTHER_PLANETS[planet];
    return parseFloat(years.toFixed(2));
  }

  onMercury() {
    return this.yearsOnPlanet('mercury');
  }

  onVenus() {
    return this.yearsOnPlanet('venus');
  }

  onEarth() {
    return this.yearsOnPlanet('earth');
  }

  onMars() {
    return this.yearsOnPlanet('mars');
  }

  onJupiter() {
    return this.yearsOnPlanet('jupiter');
  }

  onSaturn() {
    return this.yearsOnPlanet('saturn');
  }

  onUranus() {
    return this.yearsOnPlanet('uranus');
  }

  onNeptune() {
    return this.yearsOnPlanet('neptune');
  }

}

export default SpaceAge;

Version data entries

211 entries across 211 versions & 1 rubygems

Version Path
trackler-2.1.0.36 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.34 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.33 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.32 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.31 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.30 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.29 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.28 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.27 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.26 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.25 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.24 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.23 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.22 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.21 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.20 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.19 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.18 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.17 tracks/ecmascript/exercises/space-age/example.js
trackler-2.1.0.16 tracks/ecmascript/exercises/space-age/example.js