From 4bf25a6bad3c2e8e3190b39f0b432862b3adf38b Mon Sep 17 00:00:00 2001 From: mrafei Date: Fri, 27 Jan 2023 11:12:56 +0330 Subject: [PATCH 1/3] fix: update jalaali-utils getDaysInMonth and add missing overrides --- packages/jalaali/src/jalaali-utils.ts | 37 ++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/packages/jalaali/src/jalaali-utils.ts b/packages/jalaali/src/jalaali-utils.ts index e7c3b7f3..21d0abfc 100644 --- a/packages/jalaali/src/jalaali-utils.ts +++ b/packages/jalaali/src/jalaali-utils.ts @@ -112,7 +112,7 @@ export default class MomentUtils extends DefaultMomentUtils { }; public getDaysInMonth = (date: Moment) => { - return date.daysInMonth(); + return this.moment.jDaysInMonth(date.jYear(), date.jMonth()); }; public startOfYear = (date: Moment) => { @@ -218,4 +218,39 @@ export default class MomentUtils extends DefaultMomentUtils { return years; }; + public addMonths = (date: Moment, count: number) => { + return count < 0 + ? date.clone().subtract(Math.abs(count), "jMonth") + : date.clone().add(count, "jMonth"); + }; + + public addYears = (date: Moment, count: number) => { + return count < 0 + ? date.clone().subtract(Math.abs(count), "jYear") + : date.clone().add(count, "jYear"); + }; + + public isSameMonth = (date: Moment, comparing: Moment) => { + return date.jYear() === comparing.jYear() && date.jMonth() === comparing.jMonth(); + }; + + public isSameYear = (date: Moment, comparing: Moment) => { + return date.jYear() === comparing.jYear(); + }; + + public setMonth = (date: Moment, count: number) => { + return date.clone().jMonth(count); + }; + + public getMonthArray = (date: Moment) => { + const firstMonth = date.clone().startOf("jYear"); + const monthArray = [firstMonth]; + + while (monthArray.length < 12) { + const prevMonth = monthArray[monthArray.length - 1]; + monthArray.push(this.getNextMonth(prevMonth)); + } + + return monthArray; + }; } From 6fe0b30f60807d12704cf0ccb851d1d0e3ab5bfd Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 12 Mar 2024 10:39:55 +0100 Subject: [PATCH 2/3] rebase --- packages/jalaali/src/jalaali-utils.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/jalaali/src/jalaali-utils.ts b/packages/jalaali/src/jalaali-utils.ts index 21d0abfc..9600ffd2 100644 --- a/packages/jalaali/src/jalaali-utils.ts +++ b/packages/jalaali/src/jalaali-utils.ts @@ -107,10 +107,6 @@ export default class MomentUtils extends DefaultMomentUtils { return date.jMonth(); }; - public setMonth = (date: Moment, month: number) => { - return date.clone().jMonth(month); - }; - public getDaysInMonth = (date: Moment) => { return this.moment.jDaysInMonth(date.jYear(), date.jMonth()); }; From c6a365cc5ab605fe2821ac6bebb85985d03b8420 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 12 Mar 2024 10:39:55 +0100 Subject: [PATCH 3/3] rebase --- __tests__/jalaali.test.ts | 14 ++++---------- packages/jalaali/src/jalaali-utils.ts | 4 ---- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/__tests__/jalaali.test.ts b/__tests__/jalaali.test.ts index 55d0f55a..91794d4f 100644 --- a/__tests__/jalaali.test.ts +++ b/__tests__/jalaali.test.ts @@ -43,7 +43,7 @@ describe("Jalaali", () => { it("Should proper work with jalaali days in month", () => { const date = jalaaliUtils.date(TEST_TIMESTAMP); - expect(jalaaliUtils.getDaysInMonth(date)).toBe(31); + expect(jalaaliUtils.getDaysInMonth(date)).toBe(30); }); it("Should properly render meridiem", () => { @@ -58,9 +58,7 @@ describe("Jalaali", () => { it("Jalaali -- getYear", () => { const date = jalaaliUtils.date(TEST_TIMESTAMP); - expect(jalaaliUtils.getYear(date)).toEqual( - 1397 - ); + expect(jalaaliUtils.getYear(date)).toEqual(1397); }); it("Jalaali -- setYear", () => { @@ -74,9 +72,7 @@ describe("Jalaali", () => { it("Jalaali -- getDate", () => { const date = jalaaliUtils.date(TEST_TIMESTAMP); - expect(jalaaliUtils.getDate(date)).toEqual( - 8 - ); + expect(jalaaliUtils.getDate(date)).toEqual(8); }); it("Jalaali -- setDate", () => { @@ -90,9 +86,7 @@ describe("Jalaali", () => { it("Jalaali -- getYear", () => { const date = jalaaliUtils.date(TEST_TIMESTAMP); - expect(jalaaliUtils.getYear(date)).toEqual( - 1397 - ); + expect(jalaaliUtils.getYear(date)).toEqual(1397); }); it("Jalaali -- endOfYear", () => { diff --git a/packages/jalaali/src/jalaali-utils.ts b/packages/jalaali/src/jalaali-utils.ts index 21d0abfc..9600ffd2 100644 --- a/packages/jalaali/src/jalaali-utils.ts +++ b/packages/jalaali/src/jalaali-utils.ts @@ -107,10 +107,6 @@ export default class MomentUtils extends DefaultMomentUtils { return date.jMonth(); }; - public setMonth = (date: Moment, month: number) => { - return date.clone().jMonth(month); - }; - public getDaysInMonth = (date: Moment) => { return this.moment.jDaysInMonth(date.jYear(), date.jMonth()); };