-
Notifications
You must be signed in to change notification settings - Fork 87
/
Copy pathCalculationMethod.ts
106 lines (91 loc) · 2.38 KB
/
CalculationMethod.ts
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
import CalculationParameters from './CalculationParameters';
import { Rounding } from './Rounding';
const CalculationMethod = {
// Muslim World League
MuslimWorldLeague() {
const params = new CalculationParameters('MuslimWorldLeague', 18, 17);
params.methodAdjustments.dhuhr = 1;
return params;
},
// Egyptian General Authority of Survey
Egyptian() {
const params = new CalculationParameters('Egyptian', 19.5, 17.5);
params.methodAdjustments.dhuhr = 1;
return params;
},
// University of Islamic Sciences, Karachi
Karachi() {
const params = new CalculationParameters('Karachi', 18, 18);
params.methodAdjustments.dhuhr = 1;
return params;
},
// Umm al-Qura University, Makkah
UmmAlQura() {
return new CalculationParameters('UmmAlQura', 18.5, 0, 90);
},
// Dubai
Dubai() {
const params = new CalculationParameters('Dubai', 18.2, 18.2);
params.methodAdjustments = {
...params.methodAdjustments,
sunrise: -3,
dhuhr: 3,
asr: 3,
maghrib: 3,
};
return params;
},
// Moonsighting Committee
MoonsightingCommittee() {
const params = new CalculationParameters('MoonsightingCommittee', 18, 18);
params.methodAdjustments = {
...params.methodAdjustments,
dhuhr: 5,
maghrib: 3,
};
return params;
},
// ISNA
NorthAmerica() {
const params = new CalculationParameters('NorthAmerica', 15, 15);
params.methodAdjustments.dhuhr = 1;
return params;
},
// Kuwait
Kuwait() {
return new CalculationParameters('Kuwait', 18, 17.5);
},
// Qatar
Qatar() {
return new CalculationParameters('Qatar', 18, 0, 90);
},
// Singapore
Singapore() {
const params = new CalculationParameters('Singapore', 20, 18);
params.methodAdjustments.dhuhr = 1;
params.rounding = Rounding.Up;
return params;
},
// Institute of Geophysics, University of Tehran
Tehran() {
const params = new CalculationParameters('Tehran', 17.7, 14, 0, 4.5);
return params;
},
// Dianet
Turkey() {
const params = new CalculationParameters('Turkey', 18, 17);
params.methodAdjustments = {
...params.methodAdjustments,
sunrise: -7,
dhuhr: 5,
asr: 4,
maghrib: 7,
};
return params;
},
// Other
Other() {
return new CalculationParameters('Other', 0, 0);
},
} as const;
export default CalculationMethod;