diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2026-05-20 10:16:50 +0200 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2026-05-20 10:16:50 +0200 |
| commit | 44445734ba4a0f05564f808c2fd34a7f23c6fafb (patch) | |
| tree | 3bd22add718620cbf931286f55137bcc666100be /static/month.js | |
| parent | 95ae9f15e1db335a7f8358d811ea37e2c89dd10f (diff) | |
Let's do a rewrite!
Created project structure and changed `build.zig` and added licence.
Diffstat (limited to 'static/month.js')
| -rw-r--r-- | static/month.js | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/static/month.js b/static/month.js deleted file mode 100644 index 05037d4..0000000 --- a/static/month.js +++ /dev/null @@ -1,95 +0,0 @@ - -export default class Month { - constructor(month, year) { - this.month = month; - this.year = year; - } - - next(n) { - n = n ?? 1; - - const month = this.month + n - 1; - this.month = (month % 12) + 1; - this.year += Math.floor(month / 12); - - return this; - } - - previous(n) { - n = n ?? 1; - - let month = this.month - n - 1; - - if (month < 0) { - month += 12; - } - - this.month = (month % 12) + 1; - this.year += Math.floor(month / 12); - - return this; - } - - to(other) { - const inner = []; - const current = this.copy(); - - while (current.is_same(other) || current.is_before(other)) { - inner.push(current.copy()); - current.next(); - } - - return inner; - } - - copy() { - return new Month(this.month, this.year); - } - - is_before(other) { - return this.year < other.year || (this.year == other.year && this.month < other.month); - } - - is_after(other) { - return this.year > other.year || (this.year == other.year && this.month > other.month); - } - - is_same(other) { - return this.year == other?.year && this.month == other?.month; - } - - is_same_year(other) { - return this.year == other.year; - } - - get name() { - const date = new Date(); - date.setMonth(this.month - 1); - return date.toLocaleDateString('default', { month: 'long' }) - } - - static from_unix(date) { - if (date == null) return null; - - return Month.from_date(new Date(date * 1000)); - } - - static from_date(date) { - return new Month(date.getMonth() + 1, date.getFullYear()); - } - - static from_string(string) { - const [ year, month ] = string.split('-'); - return new Month(parseInt(month), parseInt(year)) - } - - static literal(strings) { - return Month.from_string(strings[0]); - } - - static get current() { - return Month.from_date(new Date()); - } -} - -export const literal = Month.literal; |