astronomy-bundle
Version:
Bundle for astronomical calculations such as position of moon, sun and planets, sunrise, sunset or solar eclipses. Most of the calculations are based on Jean Meeus 'Astronomical Algorithms' book and the VSOP87 theory.
56 lines (55 loc) • 2.12 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromJulianCenturiesJ2000 = exports.fromJulianDay = exports.fromYearOfDay = exports.fromDate = exports.fromTime = exports.fromCurrentTime = void 0;
const calculations_1 = require("../time/calculations");
const TimeOfInterest_1 = __importDefault(require("./TimeOfInterest"));
function default_1() {
return fromCurrentTime();
}
exports.default = default_1;
function fromCurrentTime() {
const date = new Date(Date.now());
return new TimeOfInterest_1.default({
year: date.getUTCFullYear(),
month: date.getUTCMonth() + 1,
day: date.getUTCDate(),
hour: date.getUTCHours(),
min: date.getUTCMinutes(),
sec: date.getUTCSeconds(),
});
}
exports.fromCurrentTime = fromCurrentTime;
function fromTime(year, month, day, hour = 0, min = 0, sec = 0) {
return new TimeOfInterest_1.default({ year, month, day, hour, min, sec });
}
exports.fromTime = fromTime;
function fromDate(date) {
return new TimeOfInterest_1.default({
year: date.getUTCFullYear(),
month: date.getUTCMonth() + 1,
day: date.getUTCDate(),
hour: date.getUTCHours(),
min: date.getUTCMinutes(),
sec: date.getUTCSeconds(),
});
}
exports.fromDate = fromDate;
function fromYearOfDay(year, dayOfYear) {
const time = calculations_1.timeCalc.dayOfYear2time(year, dayOfYear);
return new TimeOfInterest_1.default(time);
}
exports.fromYearOfDay = fromYearOfDay;
function fromJulianDay(jd) {
const time = calculations_1.timeCalc.julianDay2time(jd);
return new TimeOfInterest_1.default(time);
}
exports.fromJulianDay = fromJulianDay;
function fromJulianCenturiesJ2000(T) {
const jd = calculations_1.timeCalc.julianCenturiesJ20002julianDay(T);
const time = calculations_1.timeCalc.julianDay2time(jd);
return new TimeOfInterest_1.default(time);
}
exports.fromJulianCenturiesJ2000 = fromJulianCenturiesJ2000;