diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4973704 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +.git/ +public/ diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json deleted file mode 100644 index dda461a..0000000 --- a/node_modules/.package-lock.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "site", - "lockfileVersion": 2, - "requires": true, - "packages": { - "node_modules/lunarphase-js": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/lunarphase-js/-/lunarphase-js-1.0.10.tgz", - "integrity": "sha512-+A+G3WzB2y+xcCfhVRLxbdOnTe/Ujmbx/ptS0cjUnb9zRAEfRpu6U3D1o+IaStpRu91++kFoVqOYKhyT1m3ywg==" - } - } -} diff --git a/node_modules/lunarphase-js/LICENSE b/node_modules/lunarphase-js/LICENSE deleted file mode 100644 index 6fd4f98..0000000 --- a/node_modules/lunarphase-js/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -Copyright (c) 2021 Jason Sturges - -Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/lunarphase-js/README.md b/node_modules/lunarphase-js/README.md deleted file mode 100644 index fe6f3a4..0000000 --- a/node_modules/lunarphase-js/README.md +++ /dev/null @@ -1,197 +0,0 @@ -# Lunar phase - -Calculate phase of the moon using Julian date. - -# Getting Started - -To install, execute: - - npm i lunarphase-js - -Then, import into a project as: - -```js -import { Moon } from "lunarphase-js"; -``` - -# Usage - -In the lunar calendar there are 8 phases each synodic month, which is the number of days to complete the cycle. This time between two identical syzygies is equivalent to 29.53059 Earth days. - -Lunar phases, in order: - -| Phase | Northern Hemisphere | Southern Hemisphere | -| --------------- | ------------------- | ------------------- | -| New | 🌑 | 🌑 | -| Waxing Crescent | 🌒 | 🌘 | -| First Quarter | 🌓 | 🌗 | -| Waxing Gibbous | 🌔 | 🌖 | -| Full | 🌕 | 🌕 | -| Waning Gibbous | 🌖 | 🌔 | -| Last Quarter | 🌗 | 🌓 | -| Waning Crescent | 🌘 | 🌒 | - -## Julian Day - -Convert to and from Gregorian Dates to Julian Days via the `JulianDay` module. - -API Reference: - -| Function | Output | Description | -| ---------- | ------------------------ | -------------------------- | -| fromDate() | 2459357.5380029744 | Convert date to Julian Day | -| toDate() | 2021-05-23T05:56:10.418Z | Convert Julian Day to date | - -To convert a date to Julian Day: - -```js -import { JulianDay } from "lunarphase-js"; - -const date = new Date(); -const julian = JulianDay.fromDate(date); -``` - -To convert a Julian Day to a date: - -```js -import { JulianDay } from "lunarphase-js"; - -const julian = 2459356.529302257; -const date = JulianDay.toDate(julian); -``` - -## Lunar Phases - -API Reference: - -| Function | Output | Description | -| ----------------- | ------------------- | ----------------------------------------------------- | -| lunarPhase() | Waxing Gibbous | Get lunar phase for a given date | -| lunarPhaseEmoji() | 🌖 | Get emoji of lunar phase for a given date | -| isWaxing() | true | Whether the moon is waxing | -| isWaning() | false | Whether the moon is waning | -| lunarAge() | 11.367344279004676 | Earth days since the last new moon | -| lunarAgePercent() | 0.38497186542446116 | Percentage through the lunar synodic month | -| lunarDistance() | 56.04166690080031 | Distance to the moon measured in units of Earth radii | -| lunationNumber() | 1217 | Brown Lunation Number (BLN) | - -For a specific date, pass a date object to a function - -```js -import { Moon } from "lunarphase-js"; - -const date = new Date(); -const phase = Moon.lunarPhase(date); -``` - -Otherwise, current date will be used - -```js -import { Moon } from "lunarphase-js"; - -const phase = Moon.lunarPhase(); -``` - -### Lunar Phase - -To get the current lunar phase from the `LunarPhase` enum (ex: "FULL") - -```js -const phase = Moon.lunarPhase(); -``` - -### Lunar Phase Emoji - -To get the current lunar phase emoji from the `LunarEmoji` (ex: "🌕"): - -```js -const phaseEmoji = Moon.lunarPhaseEmoji(); -``` - -As phases are inverted between Northern and Southern Hemispheres, optionally pass a `Hemisphere` to the function: - -```js -import { Moon } from "lunarphase-js"; -import { Hemisphere } from "lunarphase-js"; - -const date = new Date(); -Moon.lunarPhaseEmoji(date, Hemisphere.NORTHERN); -``` - -To get emoji for other lunar phases, pass a `LunarPhase` enum: - -```js -const emoji = Moon.emojiForLunarPhase(Moon.LunarPhase.Full); -``` - -Optionally pass a `Hemisphere` to the function: - -```js -import { Moon } from "lunarphase-js"; -import { LunarPhase } from "lunarphase-js"; -import { Hemisphere } from "lunarphase-js"; - -Moon.emojiForLunarPhase(LunarPhase.FIRST_QUARTER, Hemisphere.SOUTHERN); -``` - -### Waxing - -Whether the moon is waxing (ex: false) - -```js -const waxing = Moon.isWaxing(); -``` - -### Waning - -Whether the moon is waning (ex: true) - -```js -const waning = Moon.isWaning(); -``` - -### Lunar Age - -Age in Earth days through the current lunar cycle, equivalent to 29.53059 Earth days, based on Mean Synodic Month, 2000 AD mean solar days. - -| Phase | Start | Event | End | -| --------------- | -------------- | -------------- | -------------- | -| New | | 0 | 1.84566173161 | -| Waxing Crescent | 1.84566173161 | 3.69132346322 | 5.53698519483 | -| First Quarter | 5.53698519483 | 7.38264692644 | 9.22830865805 | -| Waxing Gibbous | 9.22830865805 | 11.07397038966 | 12.91963212127 | -| Full | 12.91963212127 | 14.76529385288 | 16.61095558449 | -| Waning Gibbous | 16.61095558449 | 18.4566173161 | 20.30227904771 | -| Last Quarter | 20.30227904771 | 22.14794077932 | 23.99360251093 | -| Waning Crescent | 23.99360251093 | 25.83926424254 | 27.68492597415 | -| New | 27.68492597415 | 29.53058770576 | | - -To get the lunar age (ex: 16.54412413414952) - -```js -const age = Moon.lunarAge(); -``` - -### Lunar Age Percent - -To get the percentage through the lunar cycle (ex: 0.5602368519132597) - -```js -const agePercent = Moon.lunarAgePercent(); -``` - -### Lunation Number - -Brown Lunation Number (BLN), per Ernest William Brown's lunar theory, defining Lunation 1 as the first new moon of 1923 at approximately 02:41 UTC, January 17, 1923 - -```js -const lunationNumber = Moon.lunationNumber(); -``` - -### Lunar Distance - -Distance to the moon measured in units of Earth radii, with perigee at 56 and apogee at 63.8. - -```js -const distance = Moon.lunarDistance(); -``` diff --git a/node_modules/lunarphase-js/dist/browser/lunarphase-js..js b/node_modules/lunarphase-js/dist/browser/lunarphase-js..js deleted file mode 100644 index c33add9..0000000 --- a/node_modules/lunarphase-js/dist/browser/lunarphase-js..js +++ /dev/null @@ -1,352 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.LunarPhase = {})); -})(this, (function (exports) { 'use strict'; - - /** - * Earth's hemispheres. - * - * @typedef {string} Hemisphere - * @enum {Hemisphere} - */ - const Hemisphere = { - NORTHERN: "Northern", - SOUTHERN: "Southern", - }; - - /** - * Enumeration of lunar phases as emoji - * - * @typedef {string} LunarEmoji - */ - const LunarEmoji = { - /** - * Enumeration of lunar phases as emoji for the Northern Hemisphere. - * @num {LunarPhase} - */ - NorthernHemisphere: { - NEW: "🌑", - WAXING_CRESCENT: "🌒", - FIRST_QUARTER: "🌓", - WAXING_GIBBOUS: "🌔", - FULL: "🌕", - WANING_GIBBOUS: "🌖", - LAST_QUARTER: "🌗", - WANING_CRESCENT: "🌘", - }, - - /** - * Enumeration of lunar phases as emoji for the Southern Hemisphere. - * @num {LunarPhase} - */ - SouthernHemisphere: { - NEW: "🌑", - WAXING_CRESCENT: "🌘", - FIRST_QUARTER: "🌗", - WAXING_GIBBOUS: "🌖", - FULL: "🌕", - WANING_GIBBOUS: "🌔", - LAST_QUARTER: "🌓", - WANING_CRESCENT: "🌒", - }, - }; - - /** - * Lunar month, time between two successive syzygies of the - * same type: new moons or full moons - * - * @typedef {string} LunarMonth - * @enum {LunarMonth} - */ - const LunarMonth = { - ANOMALISTIC: "Anomalistic", - DRACONIC: "Draconic", - SIDEREAL: "Sidereal", - SYNODIC: "Synodic", - TROPICAL: "Tropical", - }; - - /** - * Enumeration of lunar phases - * - * @typedef {string} LunarPhase - * @enum {LunarPhase} - */ - const LunarPhase = { - NEW: "New", - WAXING_CRESCENT: "Waxing Crescent", - FIRST_QUARTER: "First Quarter", - WAXING_GIBBOUS: "Waxing Gibbous", - FULL: "Full", - WANING_GIBBOUS: "Waning Gibbous", - LAST_QUARTER: "Last Quarter", - WANING_CRESCENT: "Waning Crescent", - }; - - /** - * Units of measure - * - * @typedef {string} Unit - * @enum {Unit} - */ - const Unit = { - EARTH_RADII: "Earth Radii", - KILOMETERS: "km", - MILES: "m", - }; - - /** - * Timestamp epoch, January 1, 1970, in Julian Days. - * @type {number} - */ - const EPOCH = 2440587.5; - - /** - * Lunation 1 as the first new moon of 1923 at approximately - * 02:41 UTC, January 17, 1923 per Ernest William Brown's lunar theory. - * @type {number} - */ - const LUNATION_BASE_JULIAN_DAY = 2423436.6115277777; - - /** - * Length of one phase (1/8 of a synodic month) in Earth days. - * @type {number} - */ - const PHASE_LENGTH = 3.69132346322; - - /** - * Orbital period of the Moon from perigee to apogee and back to perigee - * @type {number} - */ - const ANOMALISTIC_MONTH = 27.55454988; - - /** - * Length of one synodic month - lunation, or days for the phases to complete a cycle. - * Time between two identical syzygies, equivalent of 29.53059 Earth days. - * - * Based on Mean Synodic Month, 2000 AD mean solar days. - * @type {number} - */ - const SYNODIC_MONTH = 29.53058770576; - - var Time = /*#__PURE__*/Object.freeze({ - __proto__: null, - EPOCH: EPOCH, - LUNATION_BASE_JULIAN_DAY: LUNATION_BASE_JULIAN_DAY, - PHASE_LENGTH: PHASE_LENGTH, - ANOMALISTIC_MONTH: ANOMALISTIC_MONTH, - SYNODIC_MONTH: SYNODIC_MONTH - }); - - /** - * Normalization utility for percentage calculations. - * - * @param {number} value Percent value. - * @returns {number} Normalized value - */ - const normalize = (value) => { - value -= Math.floor(value); - if (value < 0) { - value += 1; - } - - return value; - }; - - /** - * Julian day from Gregorian date. - * @param {Date} date Gregorian date to convert to Julian day. - * @returns {number} Julian Day - */ - const fromDate = (date = new Date()) => { - const time = date.getTime(); - return time / 86400000 - date.getTimezoneOffset() / 1440 + EPOCH; - }; - - /** - * Gregorian date from Julian day - * @param {number} julian Julian dat to convert to Gregorian date - * @returns {Date} Gregorian date - */ - const toDate = (julian) => { - let date = new Date(); - date.setTime((julian - EPOCH + date.getTimezoneOffset() / 1440) * 86400000); - return date; - }; - - var JulianDay = /*#__PURE__*/Object.freeze({ - __proto__: null, - fromDate: fromDate, - toDate: toDate - }); - - /** - * Moon's age, or Earth days since the last new moon. - * - * @param {Date} date Date used for calculation. - * @returns {number} Age of the moon, normalized within a 29.53059 Earth days calendar. - */ - const lunarAge = (date = new Date()) => { - const percent = lunarAgePercent(date); - return percent * SYNODIC_MONTH; - }; - - /** - * Percentage through the lunar synodic month. - * - * @param {Date} date Date used for calculation. - * @returns {number} Percentage through the lunar month. - */ - const lunarAgePercent = (date = new Date()) => { - return normalize((fromDate(date) - 2451550.1) / SYNODIC_MONTH); - }; - - /** - * Brown Lunation Number (BLN), per Ernest William Brown's lunar theory, - * defining Lunation 1 as the first new moon of 1923 at - * approximately 02:41 UTC, January 17, 1923. - * - * @param {Date} date Date used for calculation. - * @returns {number} Lunation Number - */ - const lunationNumber = (date = new Date()) => { - return Math.round((fromDate(date) - LUNATION_BASE_JULIAN_DAY) / SYNODIC_MONTH) + 1; - }; - - /** - * Distance to the moon measured in units of Earth radii, with - * perigee at 56 and apogee at 63.8. - * - * @param {Date} date Date used for calculation - * @returns {number} Distance to the moon in Earth radii - */ - const lunarDistance = (date = new Date()) => { - const julian = fromDate(date); - const agePercent = lunarAgePercent(date); - const radians = agePercent * 2 * Math.PI; - const percent = 2 * Math.PI * normalize((julian - 2451562.2) / ANOMALISTIC_MONTH); - - return 60.4 - 3.3 * Math.cos(percent) - 0.6 * Math.cos(2 * radians - percent) - 0.5 * Math.cos(2 * radians); - }; - - /** - * Name of the lunar phase per date submitted. - * - * @param {Date} date Date used to calculate lunar phase. - * @returns {string} Name as string of the current lunar phase. - */ - const lunarPhase = (date = new Date()) => { - const age = lunarAge(date); - - if (age < 1.84566173161) return LunarPhase.NEW; - else if (age < 5.53698519483) return LunarPhase.WAXING_CRESCENT; - else if (age < 9.22830865805) return LunarPhase.FIRST_QUARTER; - else if (age < 12.91963212127) return LunarPhase.WAXING_GIBBOUS; - else if (age < 16.61095558449) return LunarPhase.FULL; - else if (age < 20.30227904771) return LunarPhase.WANING_GIBBOUS; - else if (age < 23.99360251093) return LunarPhase.LAST_QUARTER; - else if (age < 27.68492597415) return LunarPhase.WANING_CRESCENT; - - return LunarPhase.NEW; - }; - - /** - * Emoji of the lunar phase per date submitted. - * - * @param {Date} date Date used to calculate lunar phase. - * @param {Hemisphere} hemisphere Northern or Southern Hemisphere. - * @returns Emoji of the current lunar phase. - */ - const lunarPhaseEmoji = (date = new Date(), hemisphere = Hemisphere.NORTHERN) => { - const phase = lunarPhase(date); - - return emojiForLunarPhase(phase, hemisphere); - }; - - /** - * Emoji for specified lunar phase. - * - * @param {LunarPhase} phase Lunar phase, per the LunarPhase enum - * @param {Hemisphere} hemisphere Northern or Southern Hemisphere. - * @returns {string} Emoji of the current lunar phase. - */ - const emojiForLunarPhase = (phase, hemisphere = Hemisphere.NORTHERN) => { - let emoji; - - if (hemisphere === Hemisphere.SOUTHERN) { - emoji = LunarEmoji.SouthernHemisphere; - } else { - emoji = LunarEmoji.NorthernHemisphere; - } - - switch (phase) { - case LunarPhase.WANING_CRESCENT: - return emoji["WANING_CRESCENT"]; - case LunarPhase.LAST_QUARTER: - return emoji["LAST_QUARTER"]; - case LunarPhase.WANING_GIBBOUS: - return emoji["WANING_GIBBOUS"]; - case LunarPhase.FULL: - return emoji["FULL"]; - case LunarPhase.WAXING_GIBBOUS: - return emoji["WAXING_GIBBOUS"]; - case LunarPhase.FIRST_QUARTER: - return emoji["FIRST_QUARTER"]; - case LunarPhase.WAXING_CRESCENT: - return emoji["WAXING_CRESCENT"]; - - default: - case LunarPhase.NEW: - return emoji["NEW"]; - } - }; - - /** - * Whether the moon is currently waxing (growing). - * - * @param {Date} date Date used for calculation. - * @returns {boolean} True if moon is waxing. - */ - const isWaxing = (date = new Date()) => { - const age = lunarAge(date); - return age <= 14.765; - }; - - /** - * Whether the moon is currently waning (shrinking). - * - * @param {Date} date Date used for calculation. - * @returns {boolean} True if moon is waning. - */ - const isWaning = (date = new Date()) => { - const age = lunarAge(date); - return age > 14.765; - }; - - var Moon = /*#__PURE__*/Object.freeze({ - __proto__: null, - lunarAge: lunarAge, - lunarAgePercent: lunarAgePercent, - lunationNumber: lunationNumber, - lunarDistance: lunarDistance, - lunarPhase: lunarPhase, - lunarPhaseEmoji: lunarPhaseEmoji, - emojiForLunarPhase: emojiForLunarPhase, - isWaxing: isWaxing, - isWaning: isWaning - }); - - exports.Hemisphere = Hemisphere; - exports.JulianDay = JulianDay; - exports.LunarEmoji = LunarEmoji; - exports.LunarMonth = LunarMonth; - exports.LunarPhase = LunarPhase; - exports.Moon = Moon; - exports.Time = Time; - exports.Unit = Unit; - - Object.defineProperty(exports, '__esModule', { value: true }); - -})); -//# sourceMappingURL=lunarphase-js..js.map diff --git a/node_modules/lunarphase-js/dist/browser/lunarphase-js..js.map b/node_modules/lunarphase-js/dist/browser/lunarphase-js..js.map deleted file mode 100644 index eab29a1..0000000 --- a/node_modules/lunarphase-js/dist/browser/lunarphase-js..js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"lunarphase-js..js","sources":["../../src/enum/Hemisphere.js","../../src/enum/LunarEmoji.js","../../src/enum/LunarMonth.js","../../src/enum/LunarPhase.js","../../src/enum/Unit.js","../../src/constants/Time.js","../../src/utils/MathUtil.js","../../src/JulianDay.js","../../src/Moon.js"],"sourcesContent":["/**\n * Earth's hemispheres.\n *\n * @typedef {string} Hemisphere\n * @enum {Hemisphere}\n */\nexport const Hemisphere = {\n NORTHERN: \"Northern\",\n SOUTHERN: \"Southern\",\n};\n","/**\n * Enumeration of lunar phases as emoji\n *\n * @typedef {string} LunarEmoji\n */\nexport const LunarEmoji = {\n /**\n * Enumeration of lunar phases as emoji for the Northern Hemisphere.\n * @num {LunarPhase}\n */\n NorthernHemisphere: {\n NEW: \"🌑\",\n WAXING_CRESCENT: \"🌒\",\n FIRST_QUARTER: \"🌓\",\n WAXING_GIBBOUS: \"🌔\",\n FULL: \"🌕\",\n WANING_GIBBOUS: \"🌖\",\n LAST_QUARTER: \"🌗\",\n WANING_CRESCENT: \"🌘\",\n },\n\n /**\n * Enumeration of lunar phases as emoji for the Southern Hemisphere.\n * @num {LunarPhase}\n */\n SouthernHemisphere: {\n NEW: \"🌑\",\n WAXING_CRESCENT: \"🌘\",\n FIRST_QUARTER: \"🌗\",\n WAXING_GIBBOUS: \"🌖\",\n FULL: \"🌕\",\n WANING_GIBBOUS: \"🌔\",\n LAST_QUARTER: \"🌓\",\n WANING_CRESCENT: \"🌒\",\n },\n};\n","/**\n * Lunar month, time between two successive syzygies of the\n * same type: new moons or full moons\n *\n * @typedef {string} LunarMonth\n * @enum {LunarMonth}\n */\nexport const LunarMonth = {\n ANOMALISTIC: \"Anomalistic\",\n DRACONIC: \"Draconic\",\n SIDEREAL: \"Sidereal\",\n SYNODIC: \"Synodic\",\n TROPICAL: \"Tropical\",\n};\n","/**\n * Enumeration of lunar phases\n *\n * @typedef {string} LunarPhase\n * @enum {LunarPhase}\n */\nexport const LunarPhase = {\n NEW: \"New\",\n WAXING_CRESCENT: \"Waxing Crescent\",\n FIRST_QUARTER: \"First Quarter\",\n WAXING_GIBBOUS: \"Waxing Gibbous\",\n FULL: \"Full\",\n WANING_GIBBOUS: \"Waning Gibbous\",\n LAST_QUARTER: \"Last Quarter\",\n WANING_CRESCENT: \"Waning Crescent\",\n};\n","/**\n * Units of measure\n *\n * @typedef {string} Unit\n * @enum {Unit}\n */\nexport const Unit = {\n EARTH_RADII: \"Earth Radii\",\n KILOMETERS: \"km\",\n MILES: \"m\",\n};\n","/**\n * Timestamp epoch, January 1, 1970, in Julian Days.\n * @type {number}\n */\nexport const EPOCH = 2440587.5;\n\n/**\n * Lunation 1 as the first new moon of 1923 at approximately\n * 02:41 UTC, January 17, 1923 per Ernest William Brown's lunar theory.\n * @type {number}\n */\nexport const LUNATION_BASE_JULIAN_DAY = 2423436.6115277777;\n\n/**\n * Length of one phase (1/8 of a synodic month) in Earth days.\n * @type {number}\n */\nexport const PHASE_LENGTH = 3.69132346322;\n\n/**\n * Orbital period of the Moon from perigee to apogee and back to perigee\n * @type {number}\n */\nexport const ANOMALISTIC_MONTH = 27.55454988;\n\n/**\n * Length of one synodic month - lunation, or days for the phases to complete a cycle.\n * Time between two identical syzygies, equivalent of 29.53059 Earth days.\n *\n * Based on Mean Synodic Month, 2000 AD mean solar days.\n * @type {number}\n */\nexport const SYNODIC_MONTH = 29.53058770576;\n","/**\n * Normalization utility for percentage calculations.\n *\n * @param {number} value Percent value.\n * @returns {number} Normalized value\n */\nexport const normalize = (value) => {\n value -= Math.floor(value);\n if (value < 0) {\n value += 1;\n }\n\n return value;\n};\n","import { EPOCH } from \"./constants/Time\";\n\n/**\n * Julian day from Gregorian date.\n * @param {Date} date Gregorian date to convert to Julian day.\n * @returns {number} Julian Day\n */\nexport const fromDate = (date = new Date()) => {\n const time = date.getTime();\n return time / 86400000 - date.getTimezoneOffset() / 1440 + EPOCH;\n};\n\n/**\n * Gregorian date from Julian day\n * @param {number} julian Julian dat to convert to Gregorian date\n * @returns {Date} Gregorian date\n */\nexport const toDate = (julian) => {\n let date = new Date();\n date.setTime((julian - EPOCH + date.getTimezoneOffset() / 1440) * 86400000);\n return date;\n};\n","import { ANOMALISTIC_MONTH, LUNATION_BASE_JULIAN_DAY, SYNODIC_MONTH } from \"./constants/Time\";\nimport { Hemisphere } from \"./enum/Hemisphere\";\nimport { LunarEmoji } from \"./enum/LunarEmoji\";\nimport { LunarPhase } from \"./enum/LunarPhase\";\nimport { normalize } from \"./utils/MathUtil\";\nimport * as JulianDay from \"./JulianDay\";\n\n/**\n * Moon's age, or Earth days since the last new moon.\n *\n * @param {Date} date Date used for calculation.\n * @returns {number} Age of the moon, normalized within a 29.53059 Earth days calendar.\n */\nexport const lunarAge = (date = new Date()) => {\n const percent = lunarAgePercent(date);\n return percent * SYNODIC_MONTH;\n};\n\n/**\n * Percentage through the lunar synodic month.\n *\n * @param {Date} date Date used for calculation.\n * @returns {number} Percentage through the lunar month.\n */\nexport const lunarAgePercent = (date = new Date()) => {\n return normalize((JulianDay.fromDate(date) - 2451550.1) / SYNODIC_MONTH);\n};\n\n/**\n * Brown Lunation Number (BLN), per Ernest William Brown's lunar theory,\n * defining Lunation 1 as the first new moon of 1923 at\n * approximately 02:41 UTC, January 17, 1923.\n *\n * @param {Date} date Date used for calculation.\n * @returns {number} Lunation Number\n */\nexport const lunationNumber = (date = new Date()) => {\n return Math.round((JulianDay.fromDate(date) - LUNATION_BASE_JULIAN_DAY) / SYNODIC_MONTH) + 1;\n};\n\n/**\n * Distance to the moon measured in units of Earth radii, with\n * perigee at 56 and apogee at 63.8.\n *\n * @param {Date} date Date used for calculation\n * @returns {number} Distance to the moon in Earth radii\n */\nexport const lunarDistance = (date = new Date()) => {\n const julian = JulianDay.fromDate(date);\n const agePercent = lunarAgePercent(date);\n const radians = agePercent * 2 * Math.PI;\n const percent = 2 * Math.PI * normalize((julian - 2451562.2) / ANOMALISTIC_MONTH);\n\n return 60.4 - 3.3 * Math.cos(percent) - 0.6 * Math.cos(2 * radians - percent) - 0.5 * Math.cos(2 * radians);\n};\n\n/**\n * Name of the lunar phase per date submitted.\n *\n * @param {Date} date Date used to calculate lunar phase.\n * @returns {string} Name as string of the current lunar phase.\n */\nexport const lunarPhase = (date = new Date()) => {\n const age = lunarAge(date);\n\n if (age < 1.84566173161) return LunarPhase.NEW;\n else if (age < 5.53698519483) return LunarPhase.WAXING_CRESCENT;\n else if (age < 9.22830865805) return LunarPhase.FIRST_QUARTER;\n else if (age < 12.91963212127) return LunarPhase.WAXING_GIBBOUS;\n else if (age < 16.61095558449) return LunarPhase.FULL;\n else if (age < 20.30227904771) return LunarPhase.WANING_GIBBOUS;\n else if (age < 23.99360251093) return LunarPhase.LAST_QUARTER;\n else if (age < 27.68492597415) return LunarPhase.WANING_CRESCENT;\n\n return LunarPhase.NEW;\n};\n\n/**\n * Emoji of the lunar phase per date submitted.\n *\n * @param {Date} date Date used to calculate lunar phase.\n * @param {Hemisphere} hemisphere Northern or Southern Hemisphere.\n * @returns Emoji of the current lunar phase.\n */\nexport const lunarPhaseEmoji = (date = new Date(), hemisphere = Hemisphere.NORTHERN) => {\n const phase = lunarPhase(date);\n\n return emojiForLunarPhase(phase, hemisphere);\n};\n\n/**\n * Emoji for specified lunar phase.\n *\n * @param {LunarPhase} phase Lunar phase, per the LunarPhase enum\n * @param {Hemisphere} hemisphere Northern or Southern Hemisphere.\n * @returns {string} Emoji of the current lunar phase.\n */\nexport const emojiForLunarPhase = (phase, hemisphere = Hemisphere.NORTHERN) => {\n let emoji;\n\n if (hemisphere === Hemisphere.SOUTHERN) {\n emoji = LunarEmoji.SouthernHemisphere;\n } else {\n emoji = LunarEmoji.NorthernHemisphere;\n }\n\n switch (phase) {\n case LunarPhase.WANING_CRESCENT:\n return emoji[\"WANING_CRESCENT\"];\n case LunarPhase.LAST_QUARTER:\n return emoji[\"LAST_QUARTER\"];\n case LunarPhase.WANING_GIBBOUS:\n return emoji[\"WANING_GIBBOUS\"];\n case LunarPhase.FULL:\n return emoji[\"FULL\"];\n case LunarPhase.WAXING_GIBBOUS:\n return emoji[\"WAXING_GIBBOUS\"];\n case LunarPhase.FIRST_QUARTER:\n return emoji[\"FIRST_QUARTER\"];\n case LunarPhase.WAXING_CRESCENT:\n return emoji[\"WAXING_CRESCENT\"];\n\n default:\n case LunarPhase.NEW:\n return emoji[\"NEW\"];\n }\n};\n\n/**\n * Whether the moon is currently waxing (growing).\n *\n * @param {Date} date Date used for calculation.\n * @returns {boolean} True if moon is waxing.\n */\nexport const isWaxing = (date = new Date()) => {\n const age = lunarAge(date);\n return age <= 14.765;\n};\n\n/**\n * Whether the moon is currently waning (shrinking).\n *\n * @param {Date} date Date used for calculation.\n * @returns {boolean} True if moon is waning.\n */\nexport const isWaning = (date = new Date()) => {\n const age = lunarAge(date);\n return age > 14.765;\n};\n"],"names":["JulianDay.fromDate"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/lunarphase-js/dist/cjs/lunarphase-js.js b/node_modules/lunarphase-js/dist/cjs/lunarphase-js.js deleted file mode 100644 index 1678404..0000000 --- a/node_modules/lunarphase-js/dist/cjs/lunarphase-js.js +++ /dev/null @@ -1,346 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -/** - * Earth's hemispheres. - * - * @typedef {string} Hemisphere - * @enum {Hemisphere} - */ -const Hemisphere = { - NORTHERN: "Northern", - SOUTHERN: "Southern", -}; - -/** - * Enumeration of lunar phases as emoji - * - * @typedef {string} LunarEmoji - */ -const LunarEmoji = { - /** - * Enumeration of lunar phases as emoji for the Northern Hemisphere. - * @num {LunarPhase} - */ - NorthernHemisphere: { - NEW: "🌑", - WAXING_CRESCENT: "🌒", - FIRST_QUARTER: "🌓", - WAXING_GIBBOUS: "🌔", - FULL: "🌕", - WANING_GIBBOUS: "🌖", - LAST_QUARTER: "🌗", - WANING_CRESCENT: "🌘", - }, - - /** - * Enumeration of lunar phases as emoji for the Southern Hemisphere. - * @num {LunarPhase} - */ - SouthernHemisphere: { - NEW: "🌑", - WAXING_CRESCENT: "🌘", - FIRST_QUARTER: "🌗", - WAXING_GIBBOUS: "🌖", - FULL: "🌕", - WANING_GIBBOUS: "🌔", - LAST_QUARTER: "🌓", - WANING_CRESCENT: "🌒", - }, -}; - -/** - * Lunar month, time between two successive syzygies of the - * same type: new moons or full moons - * - * @typedef {string} LunarMonth - * @enum {LunarMonth} - */ -const LunarMonth = { - ANOMALISTIC: "Anomalistic", - DRACONIC: "Draconic", - SIDEREAL: "Sidereal", - SYNODIC: "Synodic", - TROPICAL: "Tropical", -}; - -/** - * Enumeration of lunar phases - * - * @typedef {string} LunarPhase - * @enum {LunarPhase} - */ -const LunarPhase = { - NEW: "New", - WAXING_CRESCENT: "Waxing Crescent", - FIRST_QUARTER: "First Quarter", - WAXING_GIBBOUS: "Waxing Gibbous", - FULL: "Full", - WANING_GIBBOUS: "Waning Gibbous", - LAST_QUARTER: "Last Quarter", - WANING_CRESCENT: "Waning Crescent", -}; - -/** - * Units of measure - * - * @typedef {string} Unit - * @enum {Unit} - */ -const Unit = { - EARTH_RADII: "Earth Radii", - KILOMETERS: "km", - MILES: "m", -}; - -/** - * Timestamp epoch, January 1, 1970, in Julian Days. - * @type {number} - */ -const EPOCH = 2440587.5; - -/** - * Lunation 1 as the first new moon of 1923 at approximately - * 02:41 UTC, January 17, 1923 per Ernest William Brown's lunar theory. - * @type {number} - */ -const LUNATION_BASE_JULIAN_DAY = 2423436.6115277777; - -/** - * Length of one phase (1/8 of a synodic month) in Earth days. - * @type {number} - */ -const PHASE_LENGTH = 3.69132346322; - -/** - * Orbital period of the Moon from perigee to apogee and back to perigee - * @type {number} - */ -const ANOMALISTIC_MONTH = 27.55454988; - -/** - * Length of one synodic month - lunation, or days for the phases to complete a cycle. - * Time between two identical syzygies, equivalent of 29.53059 Earth days. - * - * Based on Mean Synodic Month, 2000 AD mean solar days. - * @type {number} - */ -const SYNODIC_MONTH = 29.53058770576; - -var Time = /*#__PURE__*/Object.freeze({ - __proto__: null, - EPOCH: EPOCH, - LUNATION_BASE_JULIAN_DAY: LUNATION_BASE_JULIAN_DAY, - PHASE_LENGTH: PHASE_LENGTH, - ANOMALISTIC_MONTH: ANOMALISTIC_MONTH, - SYNODIC_MONTH: SYNODIC_MONTH -}); - -/** - * Normalization utility for percentage calculations. - * - * @param {number} value Percent value. - * @returns {number} Normalized value - */ -const normalize = (value) => { - value -= Math.floor(value); - if (value < 0) { - value += 1; - } - - return value; -}; - -/** - * Julian day from Gregorian date. - * @param {Date} date Gregorian date to convert to Julian day. - * @returns {number} Julian Day - */ -const fromDate = (date = new Date()) => { - const time = date.getTime(); - return time / 86400000 - date.getTimezoneOffset() / 1440 + EPOCH; -}; - -/** - * Gregorian date from Julian day - * @param {number} julian Julian dat to convert to Gregorian date - * @returns {Date} Gregorian date - */ -const toDate = (julian) => { - let date = new Date(); - date.setTime((julian - EPOCH + date.getTimezoneOffset() / 1440) * 86400000); - return date; -}; - -var JulianDay = /*#__PURE__*/Object.freeze({ - __proto__: null, - fromDate: fromDate, - toDate: toDate -}); - -/** - * Moon's age, or Earth days since the last new moon. - * - * @param {Date} date Date used for calculation. - * @returns {number} Age of the moon, normalized within a 29.53059 Earth days calendar. - */ -const lunarAge = (date = new Date()) => { - const percent = lunarAgePercent(date); - return percent * SYNODIC_MONTH; -}; - -/** - * Percentage through the lunar synodic month. - * - * @param {Date} date Date used for calculation. - * @returns {number} Percentage through the lunar month. - */ -const lunarAgePercent = (date = new Date()) => { - return normalize((fromDate(date) - 2451550.1) / SYNODIC_MONTH); -}; - -/** - * Brown Lunation Number (BLN), per Ernest William Brown's lunar theory, - * defining Lunation 1 as the first new moon of 1923 at - * approximately 02:41 UTC, January 17, 1923. - * - * @param {Date} date Date used for calculation. - * @returns {number} Lunation Number - */ -const lunationNumber = (date = new Date()) => { - return Math.round((fromDate(date) - LUNATION_BASE_JULIAN_DAY) / SYNODIC_MONTH) + 1; -}; - -/** - * Distance to the moon measured in units of Earth radii, with - * perigee at 56 and apogee at 63.8. - * - * @param {Date} date Date used for calculation - * @returns {number} Distance to the moon in Earth radii - */ -const lunarDistance = (date = new Date()) => { - const julian = fromDate(date); - const agePercent = lunarAgePercent(date); - const radians = agePercent * 2 * Math.PI; - const percent = 2 * Math.PI * normalize((julian - 2451562.2) / ANOMALISTIC_MONTH); - - return 60.4 - 3.3 * Math.cos(percent) - 0.6 * Math.cos(2 * radians - percent) - 0.5 * Math.cos(2 * radians); -}; - -/** - * Name of the lunar phase per date submitted. - * - * @param {Date} date Date used to calculate lunar phase. - * @returns {string} Name as string of the current lunar phase. - */ -const lunarPhase = (date = new Date()) => { - const age = lunarAge(date); - - if (age < 1.84566173161) return LunarPhase.NEW; - else if (age < 5.53698519483) return LunarPhase.WAXING_CRESCENT; - else if (age < 9.22830865805) return LunarPhase.FIRST_QUARTER; - else if (age < 12.91963212127) return LunarPhase.WAXING_GIBBOUS; - else if (age < 16.61095558449) return LunarPhase.FULL; - else if (age < 20.30227904771) return LunarPhase.WANING_GIBBOUS; - else if (age < 23.99360251093) return LunarPhase.LAST_QUARTER; - else if (age < 27.68492597415) return LunarPhase.WANING_CRESCENT; - - return LunarPhase.NEW; -}; - -/** - * Emoji of the lunar phase per date submitted. - * - * @param {Date} date Date used to calculate lunar phase. - * @param {Hemisphere} hemisphere Northern or Southern Hemisphere. - * @returns Emoji of the current lunar phase. - */ -const lunarPhaseEmoji = (date = new Date(), hemisphere = Hemisphere.NORTHERN) => { - const phase = lunarPhase(date); - - return emojiForLunarPhase(phase, hemisphere); -}; - -/** - * Emoji for specified lunar phase. - * - * @param {LunarPhase} phase Lunar phase, per the LunarPhase enum - * @param {Hemisphere} hemisphere Northern or Southern Hemisphere. - * @returns {string} Emoji of the current lunar phase. - */ -const emojiForLunarPhase = (phase, hemisphere = Hemisphere.NORTHERN) => { - let emoji; - - if (hemisphere === Hemisphere.SOUTHERN) { - emoji = LunarEmoji.SouthernHemisphere; - } else { - emoji = LunarEmoji.NorthernHemisphere; - } - - switch (phase) { - case LunarPhase.WANING_CRESCENT: - return emoji["WANING_CRESCENT"]; - case LunarPhase.LAST_QUARTER: - return emoji["LAST_QUARTER"]; - case LunarPhase.WANING_GIBBOUS: - return emoji["WANING_GIBBOUS"]; - case LunarPhase.FULL: - return emoji["FULL"]; - case LunarPhase.WAXING_GIBBOUS: - return emoji["WAXING_GIBBOUS"]; - case LunarPhase.FIRST_QUARTER: - return emoji["FIRST_QUARTER"]; - case LunarPhase.WAXING_CRESCENT: - return emoji["WAXING_CRESCENT"]; - - default: - case LunarPhase.NEW: - return emoji["NEW"]; - } -}; - -/** - * Whether the moon is currently waxing (growing). - * - * @param {Date} date Date used for calculation. - * @returns {boolean} True if moon is waxing. - */ -const isWaxing = (date = new Date()) => { - const age = lunarAge(date); - return age <= 14.765; -}; - -/** - * Whether the moon is currently waning (shrinking). - * - * @param {Date} date Date used for calculation. - * @returns {boolean} True if moon is waning. - */ -const isWaning = (date = new Date()) => { - const age = lunarAge(date); - return age > 14.765; -}; - -var Moon = /*#__PURE__*/Object.freeze({ - __proto__: null, - lunarAge: lunarAge, - lunarAgePercent: lunarAgePercent, - lunationNumber: lunationNumber, - lunarDistance: lunarDistance, - lunarPhase: lunarPhase, - lunarPhaseEmoji: lunarPhaseEmoji, - emojiForLunarPhase: emojiForLunarPhase, - isWaxing: isWaxing, - isWaning: isWaning -}); - -exports.Hemisphere = Hemisphere; -exports.JulianDay = JulianDay; -exports.LunarEmoji = LunarEmoji; -exports.LunarMonth = LunarMonth; -exports.LunarPhase = LunarPhase; -exports.Moon = Moon; -exports.Time = Time; -exports.Unit = Unit; -//# sourceMappingURL=lunarphase-js.js.map diff --git a/node_modules/lunarphase-js/dist/cjs/lunarphase-js.js.map b/node_modules/lunarphase-js/dist/cjs/lunarphase-js.js.map deleted file mode 100644 index bae9013..0000000 --- a/node_modules/lunarphase-js/dist/cjs/lunarphase-js.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"lunarphase-js.js","sources":["../../src/enum/Hemisphere.js","../../src/enum/LunarEmoji.js","../../src/enum/LunarMonth.js","../../src/enum/LunarPhase.js","../../src/enum/Unit.js","../../src/constants/Time.js","../../src/utils/MathUtil.js","../../src/JulianDay.js","../../src/Moon.js"],"sourcesContent":["/**\n * Earth's hemispheres.\n *\n * @typedef {string} Hemisphere\n * @enum {Hemisphere}\n */\nexport const Hemisphere = {\n NORTHERN: \"Northern\",\n SOUTHERN: \"Southern\",\n};\n","/**\n * Enumeration of lunar phases as emoji\n *\n * @typedef {string} LunarEmoji\n */\nexport const LunarEmoji = {\n /**\n * Enumeration of lunar phases as emoji for the Northern Hemisphere.\n * @num {LunarPhase}\n */\n NorthernHemisphere: {\n NEW: \"🌑\",\n WAXING_CRESCENT: \"🌒\",\n FIRST_QUARTER: \"🌓\",\n WAXING_GIBBOUS: \"🌔\",\n FULL: \"🌕\",\n WANING_GIBBOUS: \"🌖\",\n LAST_QUARTER: \"🌗\",\n WANING_CRESCENT: \"🌘\",\n },\n\n /**\n * Enumeration of lunar phases as emoji for the Southern Hemisphere.\n * @num {LunarPhase}\n */\n SouthernHemisphere: {\n NEW: \"🌑\",\n WAXING_CRESCENT: \"🌘\",\n FIRST_QUARTER: \"🌗\",\n WAXING_GIBBOUS: \"🌖\",\n FULL: \"🌕\",\n WANING_GIBBOUS: \"🌔\",\n LAST_QUARTER: \"🌓\",\n WANING_CRESCENT: \"🌒\",\n },\n};\n","/**\n * Lunar month, time between two successive syzygies of the\n * same type: new moons or full moons\n *\n * @typedef {string} LunarMonth\n * @enum {LunarMonth}\n */\nexport const LunarMonth = {\n ANOMALISTIC: \"Anomalistic\",\n DRACONIC: \"Draconic\",\n SIDEREAL: \"Sidereal\",\n SYNODIC: \"Synodic\",\n TROPICAL: \"Tropical\",\n};\n","/**\n * Enumeration of lunar phases\n *\n * @typedef {string} LunarPhase\n * @enum {LunarPhase}\n */\nexport const LunarPhase = {\n NEW: \"New\",\n WAXING_CRESCENT: \"Waxing Crescent\",\n FIRST_QUARTER: \"First Quarter\",\n WAXING_GIBBOUS: \"Waxing Gibbous\",\n FULL: \"Full\",\n WANING_GIBBOUS: \"Waning Gibbous\",\n LAST_QUARTER: \"Last Quarter\",\n WANING_CRESCENT: \"Waning Crescent\",\n};\n","/**\n * Units of measure\n *\n * @typedef {string} Unit\n * @enum {Unit}\n */\nexport const Unit = {\n EARTH_RADII: \"Earth Radii\",\n KILOMETERS: \"km\",\n MILES: \"m\",\n};\n","/**\n * Timestamp epoch, January 1, 1970, in Julian Days.\n * @type {number}\n */\nexport const EPOCH = 2440587.5;\n\n/**\n * Lunation 1 as the first new moon of 1923 at approximately\n * 02:41 UTC, January 17, 1923 per Ernest William Brown's lunar theory.\n * @type {number}\n */\nexport const LUNATION_BASE_JULIAN_DAY = 2423436.6115277777;\n\n/**\n * Length of one phase (1/8 of a synodic month) in Earth days.\n * @type {number}\n */\nexport const PHASE_LENGTH = 3.69132346322;\n\n/**\n * Orbital period of the Moon from perigee to apogee and back to perigee\n * @type {number}\n */\nexport const ANOMALISTIC_MONTH = 27.55454988;\n\n/**\n * Length of one synodic month - lunation, or days for the phases to complete a cycle.\n * Time between two identical syzygies, equivalent of 29.53059 Earth days.\n *\n * Based on Mean Synodic Month, 2000 AD mean solar days.\n * @type {number}\n */\nexport const SYNODIC_MONTH = 29.53058770576;\n","/**\n * Normalization utility for percentage calculations.\n *\n * @param {number} value Percent value.\n * @returns {number} Normalized value\n */\nexport const normalize = (value) => {\n value -= Math.floor(value);\n if (value < 0) {\n value += 1;\n }\n\n return value;\n};\n","import { EPOCH } from \"./constants/Time\";\n\n/**\n * Julian day from Gregorian date.\n * @param {Date} date Gregorian date to convert to Julian day.\n * @returns {number} Julian Day\n */\nexport const fromDate = (date = new Date()) => {\n const time = date.getTime();\n return time / 86400000 - date.getTimezoneOffset() / 1440 + EPOCH;\n};\n\n/**\n * Gregorian date from Julian day\n * @param {number} julian Julian dat to convert to Gregorian date\n * @returns {Date} Gregorian date\n */\nexport const toDate = (julian) => {\n let date = new Date();\n date.setTime((julian - EPOCH + date.getTimezoneOffset() / 1440) * 86400000);\n return date;\n};\n","import { ANOMALISTIC_MONTH, LUNATION_BASE_JULIAN_DAY, SYNODIC_MONTH } from \"./constants/Time\";\nimport { Hemisphere } from \"./enum/Hemisphere\";\nimport { LunarEmoji } from \"./enum/LunarEmoji\";\nimport { LunarPhase } from \"./enum/LunarPhase\";\nimport { normalize } from \"./utils/MathUtil\";\nimport * as JulianDay from \"./JulianDay\";\n\n/**\n * Moon's age, or Earth days since the last new moon.\n *\n * @param {Date} date Date used for calculation.\n * @returns {number} Age of the moon, normalized within a 29.53059 Earth days calendar.\n */\nexport const lunarAge = (date = new Date()) => {\n const percent = lunarAgePercent(date);\n return percent * SYNODIC_MONTH;\n};\n\n/**\n * Percentage through the lunar synodic month.\n *\n * @param {Date} date Date used for calculation.\n * @returns {number} Percentage through the lunar month.\n */\nexport const lunarAgePercent = (date = new Date()) => {\n return normalize((JulianDay.fromDate(date) - 2451550.1) / SYNODIC_MONTH);\n};\n\n/**\n * Brown Lunation Number (BLN), per Ernest William Brown's lunar theory,\n * defining Lunation 1 as the first new moon of 1923 at\n * approximately 02:41 UTC, January 17, 1923.\n *\n * @param {Date} date Date used for calculation.\n * @returns {number} Lunation Number\n */\nexport const lunationNumber = (date = new Date()) => {\n return Math.round((JulianDay.fromDate(date) - LUNATION_BASE_JULIAN_DAY) / SYNODIC_MONTH) + 1;\n};\n\n/**\n * Distance to the moon measured in units of Earth radii, with\n * perigee at 56 and apogee at 63.8.\n *\n * @param {Date} date Date used for calculation\n * @returns {number} Distance to the moon in Earth radii\n */\nexport const lunarDistance = (date = new Date()) => {\n const julian = JulianDay.fromDate(date);\n const agePercent = lunarAgePercent(date);\n const radians = agePercent * 2 * Math.PI;\n const percent = 2 * Math.PI * normalize((julian - 2451562.2) / ANOMALISTIC_MONTH);\n\n return 60.4 - 3.3 * Math.cos(percent) - 0.6 * Math.cos(2 * radians - percent) - 0.5 * Math.cos(2 * radians);\n};\n\n/**\n * Name of the lunar phase per date submitted.\n *\n * @param {Date} date Date used to calculate lunar phase.\n * @returns {string} Name as string of the current lunar phase.\n */\nexport const lunarPhase = (date = new Date()) => {\n const age = lunarAge(date);\n\n if (age < 1.84566173161) return LunarPhase.NEW;\n else if (age < 5.53698519483) return LunarPhase.WAXING_CRESCENT;\n else if (age < 9.22830865805) return LunarPhase.FIRST_QUARTER;\n else if (age < 12.91963212127) return LunarPhase.WAXING_GIBBOUS;\n else if (age < 16.61095558449) return LunarPhase.FULL;\n else if (age < 20.30227904771) return LunarPhase.WANING_GIBBOUS;\n else if (age < 23.99360251093) return LunarPhase.LAST_QUARTER;\n else if (age < 27.68492597415) return LunarPhase.WANING_CRESCENT;\n\n return LunarPhase.NEW;\n};\n\n/**\n * Emoji of the lunar phase per date submitted.\n *\n * @param {Date} date Date used to calculate lunar phase.\n * @param {Hemisphere} hemisphere Northern or Southern Hemisphere.\n * @returns Emoji of the current lunar phase.\n */\nexport const lunarPhaseEmoji = (date = new Date(), hemisphere = Hemisphere.NORTHERN) => {\n const phase = lunarPhase(date);\n\n return emojiForLunarPhase(phase, hemisphere);\n};\n\n/**\n * Emoji for specified lunar phase.\n *\n * @param {LunarPhase} phase Lunar phase, per the LunarPhase enum\n * @param {Hemisphere} hemisphere Northern or Southern Hemisphere.\n * @returns {string} Emoji of the current lunar phase.\n */\nexport const emojiForLunarPhase = (phase, hemisphere = Hemisphere.NORTHERN) => {\n let emoji;\n\n if (hemisphere === Hemisphere.SOUTHERN) {\n emoji = LunarEmoji.SouthernHemisphere;\n } else {\n emoji = LunarEmoji.NorthernHemisphere;\n }\n\n switch (phase) {\n case LunarPhase.WANING_CRESCENT:\n return emoji[\"WANING_CRESCENT\"];\n case LunarPhase.LAST_QUARTER:\n return emoji[\"LAST_QUARTER\"];\n case LunarPhase.WANING_GIBBOUS:\n return emoji[\"WANING_GIBBOUS\"];\n case LunarPhase.FULL:\n return emoji[\"FULL\"];\n case LunarPhase.WAXING_GIBBOUS:\n return emoji[\"WAXING_GIBBOUS\"];\n case LunarPhase.FIRST_QUARTER:\n return emoji[\"FIRST_QUARTER\"];\n case LunarPhase.WAXING_CRESCENT:\n return emoji[\"WAXING_CRESCENT\"];\n\n default:\n case LunarPhase.NEW:\n return emoji[\"NEW\"];\n }\n};\n\n/**\n * Whether the moon is currently waxing (growing).\n *\n * @param {Date} date Date used for calculation.\n * @returns {boolean} True if moon is waxing.\n */\nexport const isWaxing = (date = new Date()) => {\n const age = lunarAge(date);\n return age <= 14.765;\n};\n\n/**\n * Whether the moon is currently waning (shrinking).\n *\n * @param {Date} date Date used for calculation.\n * @returns {boolean} True if moon is waning.\n */\nexport const isWaning = (date = new Date()) => {\n const age = lunarAge(date);\n return age > 14.765;\n};\n"],"names":["JulianDay.fromDate"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/lunarphase-js/dist/esm/lunarphase-js.js b/node_modules/lunarphase-js/dist/esm/lunarphase-js.js deleted file mode 100644 index a9478b2..0000000 --- a/node_modules/lunarphase-js/dist/esm/lunarphase-js.js +++ /dev/null @@ -1,335 +0,0 @@ -/** - * Earth's hemispheres. - * - * @typedef {string} Hemisphere - * @enum {Hemisphere} - */ -const Hemisphere = { - NORTHERN: "Northern", - SOUTHERN: "Southern", -}; - -/** - * Enumeration of lunar phases as emoji - * - * @typedef {string} LunarEmoji - */ -const LunarEmoji = { - /** - * Enumeration of lunar phases as emoji for the Northern Hemisphere. - * @num {LunarPhase} - */ - NorthernHemisphere: { - NEW: "🌑", - WAXING_CRESCENT: "🌒", - FIRST_QUARTER: "🌓", - WAXING_GIBBOUS: "🌔", - FULL: "🌕", - WANING_GIBBOUS: "🌖", - LAST_QUARTER: "🌗", - WANING_CRESCENT: "🌘", - }, - - /** - * Enumeration of lunar phases as emoji for the Southern Hemisphere. - * @num {LunarPhase} - */ - SouthernHemisphere: { - NEW: "🌑", - WAXING_CRESCENT: "🌘", - FIRST_QUARTER: "🌗", - WAXING_GIBBOUS: "🌖", - FULL: "🌕", - WANING_GIBBOUS: "🌔", - LAST_QUARTER: "🌓", - WANING_CRESCENT: "🌒", - }, -}; - -/** - * Lunar month, time between two successive syzygies of the - * same type: new moons or full moons - * - * @typedef {string} LunarMonth - * @enum {LunarMonth} - */ -const LunarMonth = { - ANOMALISTIC: "Anomalistic", - DRACONIC: "Draconic", - SIDEREAL: "Sidereal", - SYNODIC: "Synodic", - TROPICAL: "Tropical", -}; - -/** - * Enumeration of lunar phases - * - * @typedef {string} LunarPhase - * @enum {LunarPhase} - */ -const LunarPhase = { - NEW: "New", - WAXING_CRESCENT: "Waxing Crescent", - FIRST_QUARTER: "First Quarter", - WAXING_GIBBOUS: "Waxing Gibbous", - FULL: "Full", - WANING_GIBBOUS: "Waning Gibbous", - LAST_QUARTER: "Last Quarter", - WANING_CRESCENT: "Waning Crescent", -}; - -/** - * Units of measure - * - * @typedef {string} Unit - * @enum {Unit} - */ -const Unit = { - EARTH_RADII: "Earth Radii", - KILOMETERS: "km", - MILES: "m", -}; - -/** - * Timestamp epoch, January 1, 1970, in Julian Days. - * @type {number} - */ -const EPOCH = 2440587.5; - -/** - * Lunation 1 as the first new moon of 1923 at approximately - * 02:41 UTC, January 17, 1923 per Ernest William Brown's lunar theory. - * @type {number} - */ -const LUNATION_BASE_JULIAN_DAY = 2423436.6115277777; - -/** - * Length of one phase (1/8 of a synodic month) in Earth days. - * @type {number} - */ -const PHASE_LENGTH = 3.69132346322; - -/** - * Orbital period of the Moon from perigee to apogee and back to perigee - * @type {number} - */ -const ANOMALISTIC_MONTH = 27.55454988; - -/** - * Length of one synodic month - lunation, or days for the phases to complete a cycle. - * Time between two identical syzygies, equivalent of 29.53059 Earth days. - * - * Based on Mean Synodic Month, 2000 AD mean solar days. - * @type {number} - */ -const SYNODIC_MONTH = 29.53058770576; - -var Time = /*#__PURE__*/Object.freeze({ - __proto__: null, - EPOCH: EPOCH, - LUNATION_BASE_JULIAN_DAY: LUNATION_BASE_JULIAN_DAY, - PHASE_LENGTH: PHASE_LENGTH, - ANOMALISTIC_MONTH: ANOMALISTIC_MONTH, - SYNODIC_MONTH: SYNODIC_MONTH -}); - -/** - * Normalization utility for percentage calculations. - * - * @param {number} value Percent value. - * @returns {number} Normalized value - */ -const normalize = (value) => { - value -= Math.floor(value); - if (value < 0) { - value += 1; - } - - return value; -}; - -/** - * Julian day from Gregorian date. - * @param {Date} date Gregorian date to convert to Julian day. - * @returns {number} Julian Day - */ -const fromDate = (date = new Date()) => { - const time = date.getTime(); - return time / 86400000 - date.getTimezoneOffset() / 1440 + EPOCH; -}; - -/** - * Gregorian date from Julian day - * @param {number} julian Julian dat to convert to Gregorian date - * @returns {Date} Gregorian date - */ -const toDate = (julian) => { - let date = new Date(); - date.setTime((julian - EPOCH + date.getTimezoneOffset() / 1440) * 86400000); - return date; -}; - -var JulianDay = /*#__PURE__*/Object.freeze({ - __proto__: null, - fromDate: fromDate, - toDate: toDate -}); - -/** - * Moon's age, or Earth days since the last new moon. - * - * @param {Date} date Date used for calculation. - * @returns {number} Age of the moon, normalized within a 29.53059 Earth days calendar. - */ -const lunarAge = (date = new Date()) => { - const percent = lunarAgePercent(date); - return percent * SYNODIC_MONTH; -}; - -/** - * Percentage through the lunar synodic month. - * - * @param {Date} date Date used for calculation. - * @returns {number} Percentage through the lunar month. - */ -const lunarAgePercent = (date = new Date()) => { - return normalize((fromDate(date) - 2451550.1) / SYNODIC_MONTH); -}; - -/** - * Brown Lunation Number (BLN), per Ernest William Brown's lunar theory, - * defining Lunation 1 as the first new moon of 1923 at - * approximately 02:41 UTC, January 17, 1923. - * - * @param {Date} date Date used for calculation. - * @returns {number} Lunation Number - */ -const lunationNumber = (date = new Date()) => { - return Math.round((fromDate(date) - LUNATION_BASE_JULIAN_DAY) / SYNODIC_MONTH) + 1; -}; - -/** - * Distance to the moon measured in units of Earth radii, with - * perigee at 56 and apogee at 63.8. - * - * @param {Date} date Date used for calculation - * @returns {number} Distance to the moon in Earth radii - */ -const lunarDistance = (date = new Date()) => { - const julian = fromDate(date); - const agePercent = lunarAgePercent(date); - const radians = agePercent * 2 * Math.PI; - const percent = 2 * Math.PI * normalize((julian - 2451562.2) / ANOMALISTIC_MONTH); - - return 60.4 - 3.3 * Math.cos(percent) - 0.6 * Math.cos(2 * radians - percent) - 0.5 * Math.cos(2 * radians); -}; - -/** - * Name of the lunar phase per date submitted. - * - * @param {Date} date Date used to calculate lunar phase. - * @returns {string} Name as string of the current lunar phase. - */ -const lunarPhase = (date = new Date()) => { - const age = lunarAge(date); - - if (age < 1.84566173161) return LunarPhase.NEW; - else if (age < 5.53698519483) return LunarPhase.WAXING_CRESCENT; - else if (age < 9.22830865805) return LunarPhase.FIRST_QUARTER; - else if (age < 12.91963212127) return LunarPhase.WAXING_GIBBOUS; - else if (age < 16.61095558449) return LunarPhase.FULL; - else if (age < 20.30227904771) return LunarPhase.WANING_GIBBOUS; - else if (age < 23.99360251093) return LunarPhase.LAST_QUARTER; - else if (age < 27.68492597415) return LunarPhase.WANING_CRESCENT; - - return LunarPhase.NEW; -}; - -/** - * Emoji of the lunar phase per date submitted. - * - * @param {Date} date Date used to calculate lunar phase. - * @param {Hemisphere} hemisphere Northern or Southern Hemisphere. - * @returns Emoji of the current lunar phase. - */ -const lunarPhaseEmoji = (date = new Date(), hemisphere = Hemisphere.NORTHERN) => { - const phase = lunarPhase(date); - - return emojiForLunarPhase(phase, hemisphere); -}; - -/** - * Emoji for specified lunar phase. - * - * @param {LunarPhase} phase Lunar phase, per the LunarPhase enum - * @param {Hemisphere} hemisphere Northern or Southern Hemisphere. - * @returns {string} Emoji of the current lunar phase. - */ -const emojiForLunarPhase = (phase, hemisphere = Hemisphere.NORTHERN) => { - let emoji; - - if (hemisphere === Hemisphere.SOUTHERN) { - emoji = LunarEmoji.SouthernHemisphere; - } else { - emoji = LunarEmoji.NorthernHemisphere; - } - - switch (phase) { - case LunarPhase.WANING_CRESCENT: - return emoji["WANING_CRESCENT"]; - case LunarPhase.LAST_QUARTER: - return emoji["LAST_QUARTER"]; - case LunarPhase.WANING_GIBBOUS: - return emoji["WANING_GIBBOUS"]; - case LunarPhase.FULL: - return emoji["FULL"]; - case LunarPhase.WAXING_GIBBOUS: - return emoji["WAXING_GIBBOUS"]; - case LunarPhase.FIRST_QUARTER: - return emoji["FIRST_QUARTER"]; - case LunarPhase.WAXING_CRESCENT: - return emoji["WAXING_CRESCENT"]; - - default: - case LunarPhase.NEW: - return emoji["NEW"]; - } -}; - -/** - * Whether the moon is currently waxing (growing). - * - * @param {Date} date Date used for calculation. - * @returns {boolean} True if moon is waxing. - */ -const isWaxing = (date = new Date()) => { - const age = lunarAge(date); - return age <= 14.765; -}; - -/** - * Whether the moon is currently waning (shrinking). - * - * @param {Date} date Date used for calculation. - * @returns {boolean} True if moon is waning. - */ -const isWaning = (date = new Date()) => { - const age = lunarAge(date); - return age > 14.765; -}; - -var Moon = /*#__PURE__*/Object.freeze({ - __proto__: null, - lunarAge: lunarAge, - lunarAgePercent: lunarAgePercent, - lunationNumber: lunationNumber, - lunarDistance: lunarDistance, - lunarPhase: lunarPhase, - lunarPhaseEmoji: lunarPhaseEmoji, - emojiForLunarPhase: emojiForLunarPhase, - isWaxing: isWaxing, - isWaning: isWaning -}); - -export { Hemisphere, JulianDay, LunarEmoji, LunarMonth, LunarPhase, Moon, Time, Unit }; -//# sourceMappingURL=lunarphase-js.js.map diff --git a/node_modules/lunarphase-js/dist/esm/lunarphase-js.js.map b/node_modules/lunarphase-js/dist/esm/lunarphase-js.js.map deleted file mode 100644 index 39659a0..0000000 --- a/node_modules/lunarphase-js/dist/esm/lunarphase-js.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"lunarphase-js.js","sources":["../../src/enum/Hemisphere.js","../../src/enum/LunarEmoji.js","../../src/enum/LunarMonth.js","../../src/enum/LunarPhase.js","../../src/enum/Unit.js","../../src/constants/Time.js","../../src/utils/MathUtil.js","../../src/JulianDay.js","../../src/Moon.js"],"sourcesContent":["/**\n * Earth's hemispheres.\n *\n * @typedef {string} Hemisphere\n * @enum {Hemisphere}\n */\nexport const Hemisphere = {\n NORTHERN: \"Northern\",\n SOUTHERN: \"Southern\",\n};\n","/**\n * Enumeration of lunar phases as emoji\n *\n * @typedef {string} LunarEmoji\n */\nexport const LunarEmoji = {\n /**\n * Enumeration of lunar phases as emoji for the Northern Hemisphere.\n * @num {LunarPhase}\n */\n NorthernHemisphere: {\n NEW: \"🌑\",\n WAXING_CRESCENT: \"🌒\",\n FIRST_QUARTER: \"🌓\",\n WAXING_GIBBOUS: \"🌔\",\n FULL: \"🌕\",\n WANING_GIBBOUS: \"🌖\",\n LAST_QUARTER: \"🌗\",\n WANING_CRESCENT: \"🌘\",\n },\n\n /**\n * Enumeration of lunar phases as emoji for the Southern Hemisphere.\n * @num {LunarPhase}\n */\n SouthernHemisphere: {\n NEW: \"🌑\",\n WAXING_CRESCENT: \"🌘\",\n FIRST_QUARTER: \"🌗\",\n WAXING_GIBBOUS: \"🌖\",\n FULL: \"🌕\",\n WANING_GIBBOUS: \"🌔\",\n LAST_QUARTER: \"🌓\",\n WANING_CRESCENT: \"🌒\",\n },\n};\n","/**\n * Lunar month, time between two successive syzygies of the\n * same type: new moons or full moons\n *\n * @typedef {string} LunarMonth\n * @enum {LunarMonth}\n */\nexport const LunarMonth = {\n ANOMALISTIC: \"Anomalistic\",\n DRACONIC: \"Draconic\",\n SIDEREAL: \"Sidereal\",\n SYNODIC: \"Synodic\",\n TROPICAL: \"Tropical\",\n};\n","/**\n * Enumeration of lunar phases\n *\n * @typedef {string} LunarPhase\n * @enum {LunarPhase}\n */\nexport const LunarPhase = {\n NEW: \"New\",\n WAXING_CRESCENT: \"Waxing Crescent\",\n FIRST_QUARTER: \"First Quarter\",\n WAXING_GIBBOUS: \"Waxing Gibbous\",\n FULL: \"Full\",\n WANING_GIBBOUS: \"Waning Gibbous\",\n LAST_QUARTER: \"Last Quarter\",\n WANING_CRESCENT: \"Waning Crescent\",\n};\n","/**\n * Units of measure\n *\n * @typedef {string} Unit\n * @enum {Unit}\n */\nexport const Unit = {\n EARTH_RADII: \"Earth Radii\",\n KILOMETERS: \"km\",\n MILES: \"m\",\n};\n","/**\n * Timestamp epoch, January 1, 1970, in Julian Days.\n * @type {number}\n */\nexport const EPOCH = 2440587.5;\n\n/**\n * Lunation 1 as the first new moon of 1923 at approximately\n * 02:41 UTC, January 17, 1923 per Ernest William Brown's lunar theory.\n * @type {number}\n */\nexport const LUNATION_BASE_JULIAN_DAY = 2423436.6115277777;\n\n/**\n * Length of one phase (1/8 of a synodic month) in Earth days.\n * @type {number}\n */\nexport const PHASE_LENGTH = 3.69132346322;\n\n/**\n * Orbital period of the Moon from perigee to apogee and back to perigee\n * @type {number}\n */\nexport const ANOMALISTIC_MONTH = 27.55454988;\n\n/**\n * Length of one synodic month - lunation, or days for the phases to complete a cycle.\n * Time between two identical syzygies, equivalent of 29.53059 Earth days.\n *\n * Based on Mean Synodic Month, 2000 AD mean solar days.\n * @type {number}\n */\nexport const SYNODIC_MONTH = 29.53058770576;\n","/**\n * Normalization utility for percentage calculations.\n *\n * @param {number} value Percent value.\n * @returns {number} Normalized value\n */\nexport const normalize = (value) => {\n value -= Math.floor(value);\n if (value < 0) {\n value += 1;\n }\n\n return value;\n};\n","import { EPOCH } from \"./constants/Time\";\n\n/**\n * Julian day from Gregorian date.\n * @param {Date} date Gregorian date to convert to Julian day.\n * @returns {number} Julian Day\n */\nexport const fromDate = (date = new Date()) => {\n const time = date.getTime();\n return time / 86400000 - date.getTimezoneOffset() / 1440 + EPOCH;\n};\n\n/**\n * Gregorian date from Julian day\n * @param {number} julian Julian dat to convert to Gregorian date\n * @returns {Date} Gregorian date\n */\nexport const toDate = (julian) => {\n let date = new Date();\n date.setTime((julian - EPOCH + date.getTimezoneOffset() / 1440) * 86400000);\n return date;\n};\n","import { ANOMALISTIC_MONTH, LUNATION_BASE_JULIAN_DAY, SYNODIC_MONTH } from \"./constants/Time\";\nimport { Hemisphere } from \"./enum/Hemisphere\";\nimport { LunarEmoji } from \"./enum/LunarEmoji\";\nimport { LunarPhase } from \"./enum/LunarPhase\";\nimport { normalize } from \"./utils/MathUtil\";\nimport * as JulianDay from \"./JulianDay\";\n\n/**\n * Moon's age, or Earth days since the last new moon.\n *\n * @param {Date} date Date used for calculation.\n * @returns {number} Age of the moon, normalized within a 29.53059 Earth days calendar.\n */\nexport const lunarAge = (date = new Date()) => {\n const percent = lunarAgePercent(date);\n return percent * SYNODIC_MONTH;\n};\n\n/**\n * Percentage through the lunar synodic month.\n *\n * @param {Date} date Date used for calculation.\n * @returns {number} Percentage through the lunar month.\n */\nexport const lunarAgePercent = (date = new Date()) => {\n return normalize((JulianDay.fromDate(date) - 2451550.1) / SYNODIC_MONTH);\n};\n\n/**\n * Brown Lunation Number (BLN), per Ernest William Brown's lunar theory,\n * defining Lunation 1 as the first new moon of 1923 at\n * approximately 02:41 UTC, January 17, 1923.\n *\n * @param {Date} date Date used for calculation.\n * @returns {number} Lunation Number\n */\nexport const lunationNumber = (date = new Date()) => {\n return Math.round((JulianDay.fromDate(date) - LUNATION_BASE_JULIAN_DAY) / SYNODIC_MONTH) + 1;\n};\n\n/**\n * Distance to the moon measured in units of Earth radii, with\n * perigee at 56 and apogee at 63.8.\n *\n * @param {Date} date Date used for calculation\n * @returns {number} Distance to the moon in Earth radii\n */\nexport const lunarDistance = (date = new Date()) => {\n const julian = JulianDay.fromDate(date);\n const agePercent = lunarAgePercent(date);\n const radians = agePercent * 2 * Math.PI;\n const percent = 2 * Math.PI * normalize((julian - 2451562.2) / ANOMALISTIC_MONTH);\n\n return 60.4 - 3.3 * Math.cos(percent) - 0.6 * Math.cos(2 * radians - percent) - 0.5 * Math.cos(2 * radians);\n};\n\n/**\n * Name of the lunar phase per date submitted.\n *\n * @param {Date} date Date used to calculate lunar phase.\n * @returns {string} Name as string of the current lunar phase.\n */\nexport const lunarPhase = (date = new Date()) => {\n const age = lunarAge(date);\n\n if (age < 1.84566173161) return LunarPhase.NEW;\n else if (age < 5.53698519483) return LunarPhase.WAXING_CRESCENT;\n else if (age < 9.22830865805) return LunarPhase.FIRST_QUARTER;\n else if (age < 12.91963212127) return LunarPhase.WAXING_GIBBOUS;\n else if (age < 16.61095558449) return LunarPhase.FULL;\n else if (age < 20.30227904771) return LunarPhase.WANING_GIBBOUS;\n else if (age < 23.99360251093) return LunarPhase.LAST_QUARTER;\n else if (age < 27.68492597415) return LunarPhase.WANING_CRESCENT;\n\n return LunarPhase.NEW;\n};\n\n/**\n * Emoji of the lunar phase per date submitted.\n *\n * @param {Date} date Date used to calculate lunar phase.\n * @param {Hemisphere} hemisphere Northern or Southern Hemisphere.\n * @returns Emoji of the current lunar phase.\n */\nexport const lunarPhaseEmoji = (date = new Date(), hemisphere = Hemisphere.NORTHERN) => {\n const phase = lunarPhase(date);\n\n return emojiForLunarPhase(phase, hemisphere);\n};\n\n/**\n * Emoji for specified lunar phase.\n *\n * @param {LunarPhase} phase Lunar phase, per the LunarPhase enum\n * @param {Hemisphere} hemisphere Northern or Southern Hemisphere.\n * @returns {string} Emoji of the current lunar phase.\n */\nexport const emojiForLunarPhase = (phase, hemisphere = Hemisphere.NORTHERN) => {\n let emoji;\n\n if (hemisphere === Hemisphere.SOUTHERN) {\n emoji = LunarEmoji.SouthernHemisphere;\n } else {\n emoji = LunarEmoji.NorthernHemisphere;\n }\n\n switch (phase) {\n case LunarPhase.WANING_CRESCENT:\n return emoji[\"WANING_CRESCENT\"];\n case LunarPhase.LAST_QUARTER:\n return emoji[\"LAST_QUARTER\"];\n case LunarPhase.WANING_GIBBOUS:\n return emoji[\"WANING_GIBBOUS\"];\n case LunarPhase.FULL:\n return emoji[\"FULL\"];\n case LunarPhase.WAXING_GIBBOUS:\n return emoji[\"WAXING_GIBBOUS\"];\n case LunarPhase.FIRST_QUARTER:\n return emoji[\"FIRST_QUARTER\"];\n case LunarPhase.WAXING_CRESCENT:\n return emoji[\"WAXING_CRESCENT\"];\n\n default:\n case LunarPhase.NEW:\n return emoji[\"NEW\"];\n }\n};\n\n/**\n * Whether the moon is currently waxing (growing).\n *\n * @param {Date} date Date used for calculation.\n * @returns {boolean} True if moon is waxing.\n */\nexport const isWaxing = (date = new Date()) => {\n const age = lunarAge(date);\n return age <= 14.765;\n};\n\n/**\n * Whether the moon is currently waning (shrinking).\n *\n * @param {Date} date Date used for calculation.\n * @returns {boolean} True if moon is waning.\n */\nexport const isWaning = (date = new Date()) => {\n const age = lunarAge(date);\n return age > 14.765;\n};\n"],"names":["JulianDay.fromDate"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/lunarphase-js/package.json b/node_modules/lunarphase-js/package.json deleted file mode 100644 index f5c88a4..0000000 --- a/node_modules/lunarphase-js/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "lunarphase-js", - "version": "1.0.10", - "description": "Calculate phase of the moon using Julian date", - "author": "Jason Sturges (https://jasonsturges.com)", - "homepage": "https://jasonsturges.github.io/lunarphase-js/", - "repository": { - "type": "git", - "url": "https://github.com/jasonsturges/lunarphase-js" - }, - "license": "ISC", - "keywords": [ - "astronomy", - "moon", - "lunar", - "phase" - ], - "main": "dist/cjs/lunarphase-js.js", - "module": "dist/esm/lunarphase-js.js", - "browser": "dist/browser/lunarphase-js..js", - "files": [ - "dist" - ], - "scripts": { - "dev": "rollup -c -w", - "build": "rollup -c", - "prebuild:types": "rimraf ./build", - "build:types": "tsc -p ./tsconfig.json --outDir build && api-extractor run", - "predoc:jsdoc": "rimraf ./docs", - "docs:jsdoc": "jsdoc -r src/*s -R README.md -d ./docs", - "predoc:typedoc": "rimraf ./docs", - "docs:typedoc": "typedoc src --out docs", - "clean": "rimraf ./build ./dist ./docs", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "devDependencies": { - "@microsoft/api-extractor": "^7.19.4", - "@rollup/plugin-commonjs": "^21.0.1", - "@rollup/plugin-node-resolve": "^13.1.3", - "eslint": "^8.9.0", - "jsdoc": "^3.6.10", - "prettier": "^2.5.1", - "rimraf": "^3.0.2", - "rollup": "^2.67.2", - "typedoc": "^0.22.11", - "typescript": "^4.5.5" - } -} diff --git a/public/lunar.js b/public/lunar.js deleted file mode 100644 index 97f0d72..0000000 --- a/public/lunar.js +++ /dev/null @@ -1,3 +0,0 @@ -import * as Moon from 'lunarphase-js'; - -const phase = Moon.getLunarPhase(); diff --git a/public/siteBackground.png b/public/siteBackground.png deleted file mode 100644 index 8c4a17a..0000000 Binary files a/public/siteBackground.png and /dev/null differ diff --git a/public/style.css b/public/style.css deleted file mode 100644 index 6277993..0000000 --- a/public/style.css +++ /dev/null @@ -1 +0,0 @@ -@import url("https://cdn.jsdelivr.net/npm/@xz/fonts@1/serve/cascadia-code.min.css");.container{margin:auto;width:75%;padding:12%}body{background-image:url("siteBackground.png");color:#d9d7d6;font-family:'Cascadia Code', sans-serif;font-size:100%}body{outline-style:solid;outline-width:2px;outline-color:#8CD7AA;outline-offset:-50px;padding:0 0.7em 0}hr{border-top:2px solid #DF5B61;border-radius:2px}li{list-style-type:"\03BB";list-style-position:outside;color:#78B892;padding-left:10px}img{height:20%;width:20%}div{width:50%}a{font-size:100%}a:link{color:#E9967E}a:visited{color:#BC83E3}a:hover{color:hotpink}a:active{color:blue}.title{font-size:170%}