aboutsummaryrefslogtreecommitdiff
path: root/static/month.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/month.js')
-rw-r--r--static/month.js95
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;