-
Notifications
You must be signed in to change notification settings - Fork 22
/
adhan+4.4.3.patch
113 lines (111 loc) · 6.74 KB
/
adhan+4.4.3.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
diff --git a/node_modules/adhan/lib/cjs/DateUtils.js b/node_modules/adhan/lib/cjs/DateUtils.js
index e88d880..e32d984 100644
--- a/node_modules/adhan/lib/cjs/DateUtils.js
+++ b/node_modules/adhan/lib/cjs/DateUtils.js
@@ -17,13 +17,15 @@ var _Rounding = require("./Rounding");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function dateByAddingDays(date, days) {
- var year = date.getFullYear();
- var month = date.getMonth();
- var day = date.getDate() + days;
- var hours = date.getHours();
- var minutes = date.getMinutes();
- var seconds = date.getSeconds();
- return new Date(year, month, day, hours, minutes, seconds);
+ var result = new Date(date.getTime());
+ result.setDate(date.getDate() + days);
+ if (days !== 0) {
+ while (result.toDateString() === date.toDateString()) {
+ // this is for tricky daylight savings
+ result = new Date(result.valueOf() + days / Math.abs(days) * (60 * 60 * 1000));
+ }
+ }
+ return result;
}
function dateByAddingMinutes(date, minutes) {
diff --git a/node_modules/adhan/lib/cjs/PrayerTimes.js b/node_modules/adhan/lib/cjs/PrayerTimes.js
index 9f21968..f7d7a1a 100644
--- a/node_modules/adhan/lib/cjs/PrayerTimes.js
+++ b/node_modules/adhan/lib/cjs/PrayerTimes.js
@@ -128,12 +128,13 @@ var PrayerTimes = /*#__PURE__*/function () {
var dhuhrAdjustment = (calculationParameters.adjustments.dhuhr || 0) + (calculationParameters.methodAdjustments.dhuhr || 0);
var asrAdjustment = (calculationParameters.adjustments.asr || 0) + (calculationParameters.methodAdjustments.asr || 0);
var maghribAdjustment = (calculationParameters.adjustments.maghrib || 0) + (calculationParameters.methodAdjustments.maghrib || 0);
+ var sunsetAdjustment = (calculationParameters.adjustments.sunset || 0) + (calculationParameters.methodAdjustments.sunset || 0);
var ishaAdjustment = (calculationParameters.adjustments.isha || 0) + (calculationParameters.methodAdjustments.isha || 0);
this.fajr = (0, _DateUtils.roundedMinute)((0, _DateUtils.dateByAddingMinutes)(fajrTime, fajrAdjustment), calculationParameters.rounding);
this.sunrise = (0, _DateUtils.roundedMinute)((0, _DateUtils.dateByAddingMinutes)(sunriseTime, sunriseAdjustment), calculationParameters.rounding);
this.dhuhr = (0, _DateUtils.roundedMinute)((0, _DateUtils.dateByAddingMinutes)(dhuhrTime, dhuhrAdjustment), calculationParameters.rounding);
this.asr = (0, _DateUtils.roundedMinute)((0, _DateUtils.dateByAddingMinutes)(asrTime, asrAdjustment), calculationParameters.rounding);
- this.sunset = (0, _DateUtils.roundedMinute)(sunsetTime, calculationParameters.rounding);
+ this.sunset = (0, _DateUtils.roundedMinute)((0, _DateUtils.dateByAddingMinutes)(sunsetTime, sunsetAdjustment), calculationParameters.rounding);
this.maghrib = (0, _DateUtils.roundedMinute)((0, _DateUtils.dateByAddingMinutes)(maghribTime, maghribAdjustment), calculationParameters.rounding);
this.isha = (0, _DateUtils.roundedMinute)((0, _DateUtils.dateByAddingMinutes)(ishaTime, ishaAdjustment), calculationParameters.rounding);
}
diff --git a/node_modules/adhan/lib/esm/DateUtils.js b/node_modules/adhan/lib/esm/DateUtils.js
index 36a7568..9b34e5e 100644
--- a/node_modules/adhan/lib/esm/DateUtils.js
+++ b/node_modules/adhan/lib/esm/DateUtils.js
@@ -1,13 +1,15 @@
import Astronomical from './Astronomical';
import { Rounding } from './Rounding';
export function dateByAddingDays(date, days) {
- const year = date.getFullYear();
- const month = date.getMonth();
- const day = date.getDate() + days;
- const hours = date.getHours();
- const minutes = date.getMinutes();
- const seconds = date.getSeconds();
- return new Date(year, month, day, hours, minutes, seconds);
+ let result = new Date(date.getTime());
+ result.setDate(date.getDate() + days);
+ if (days !== 0) {
+ while (result.toDateString() === date.toDateString()) {
+ // this is for tricky daylight savings
+ result = new Date(result.valueOf() + days / Math.abs(days) * (60 * 60 * 1000));
+ }
+ }
+ return result;
}
export function dateByAddingMinutes(date, minutes) {
return dateByAddingSeconds(date, minutes * 60);
diff --git a/node_modules/adhan/lib/esm/PrayerTimes.js b/node_modules/adhan/lib/esm/PrayerTimes.js
index da2f25d..f76da46 100644
--- a/node_modules/adhan/lib/esm/PrayerTimes.js
+++ b/node_modules/adhan/lib/esm/PrayerTimes.js
@@ -101,13 +101,14 @@ export default class PrayerTimes {
const sunriseAdjustment = (calculationParameters.adjustments.sunrise || 0) + (calculationParameters.methodAdjustments.sunrise || 0);
const dhuhrAdjustment = (calculationParameters.adjustments.dhuhr || 0) + (calculationParameters.methodAdjustments.dhuhr || 0);
const asrAdjustment = (calculationParameters.adjustments.asr || 0) + (calculationParameters.methodAdjustments.asr || 0);
+ const sunsetAdjustment = (calculationParameters.adjustments.sunset || 0) + (calculationParameters.methodAdjustments.sunset || 0);
const maghribAdjustment = (calculationParameters.adjustments.maghrib || 0) + (calculationParameters.methodAdjustments.maghrib || 0);
const ishaAdjustment = (calculationParameters.adjustments.isha || 0) + (calculationParameters.methodAdjustments.isha || 0);
this.fajr = roundedMinute(dateByAddingMinutes(fajrTime, fajrAdjustment), calculationParameters.rounding);
this.sunrise = roundedMinute(dateByAddingMinutes(sunriseTime, sunriseAdjustment), calculationParameters.rounding);
this.dhuhr = roundedMinute(dateByAddingMinutes(dhuhrTime, dhuhrAdjustment), calculationParameters.rounding);
this.asr = roundedMinute(dateByAddingMinutes(asrTime, asrAdjustment), calculationParameters.rounding);
- this.sunset = roundedMinute(sunsetTime, calculationParameters.rounding);
+ this.sunset = roundedMinute(dateByAddingMinutes(sunsetTime, sunsetAdjustment), calculationParameters.rounding);
this.maghrib = roundedMinute(dateByAddingMinutes(maghribTime, maghribAdjustment), calculationParameters.rounding);
this.isha = roundedMinute(dateByAddingMinutes(ishaTime, ishaAdjustment), calculationParameters.rounding);
}
diff --git a/node_modules/adhan/lib/types/CalculationParameters.d.ts b/node_modules/adhan/lib/types/CalculationParameters.d.ts
index 06ecd37..9672f04 100644
--- a/node_modules/adhan/lib/types/CalculationParameters.d.ts
+++ b/node_modules/adhan/lib/types/CalculationParameters.d.ts
@@ -18,6 +18,7 @@ export default class CalculationParameters {
sunrise: number;
dhuhr: number;
asr: number;
+ sunset: number;
maghrib: number;
isha: number;
};
@@ -26,6 +27,7 @@ export default class CalculationParameters {
sunrise: number;
dhuhr: number;
asr: number;
+ sunset: number;
maghrib: number;
isha: number;
};