Here is info for 20 ready calculations methods if you add them it would be much better.
These info can be tested and verified from this website:
static var methodParams: [CalculationMethod: MethodParams] = [
.mwl: MethodParams(
fajrAngle: 18,
maghrib: .minutes(0),
isha: .angles(17),
midnight: .standard),
.isna: MethodParams(
fajrAngle: 15,
maghrib: .minutes(0),
isha: .angles(15),
midnight: .standard),
.egypt: MethodParams(
fajrAngle: 19.5,
maghrib: .minutes(0),
isha: .angles(17.5),
midnight: .standard),
// fajrAngle was 19 degrees before 1430 hijri
.makkah: MethodParams(
fajrAngle: 18.5,
maghrib: .minutes(0),
isha: .minutes(90),
midnight: .standard),
.karachi: MethodParams(
fajrAngle: 18,
maghrib: .minutes(0),
isha: .angles(18),
midnight: .standard),
.tehran: MethodParams(
fajrAngle: 17.7,
maghrib: .angles(4.5),
isha: .angles(14),
midnight: .jafari),
.jafari: MethodParams(
fajrAngle: 16,
maghrib: .angles(4),
isha: .angles(14),
midnight: .jafari),
.algeria: MethodParams(
fajrAngle: 18,
maghrib: .minutes(0),
isha: .angles(17),
midnight: .standard),
.diyanet: MethodParams(
fajrAngle: 18,
maghrib: .minutes(0),
isha: .angles(17),
midnight: .standard),
.egyptBis: MethodParams(
fajrAngle: 20,
maghrib: .minutes(0),
isha: .angles(18),
midnight: .standard),
.fixedIsha: MethodParams(
fajrAngle: 19.5,
maghrib: .minutes(0),
isha: .minutes(90),
midnight: .standard),
.uoif: MethodParams(
fajrAngle: 12,
maghrib: .minutes(0),
isha: .angles(12),
midnight: .standard),
.fr15: MethodParams(
fajrAngle: 15,
maghrib: .minutes(0),
isha: .angles(15),
midnight: .standard),
.fr18: MethodParams(
fajrAngle: 18,
maghrib: .minutes(0),
isha: .angles(18),
midnight: .standard),
.jakim: MethodParams(
fajrAngle: 20,
maghrib: .minutes(0),
isha: .angles(18),
midnight: .standard),
.muis: MethodParams(
fajrAngle: 20,
maghrib: .minutes(0),
isha: .angles(18),
midnight: .standard),
.kemenag: MethodParams(
fajrAngle: 20,
maghrib: .minutes(0),
isha: .angles(18),
midnight: .standard),
.tunisia: MethodParams(
fajrAngle: 18,
maghrib: .minutes(0),
isha: .angles(18),
midnight: .standard),
.awqafuae: MethodParams(
fajrAngle: 19.5,
maghrib: .minutes(0),
isha: .minutes(90),
midnight: .standard),
Here is info for 20 ready calculations methods if you add them it would be much better.
These info can be tested and verified from this website:
https://www.muslimpro.com/prayer-times
`
// .uiptl: MethodParams(
// fajrAngle: 18,
// maghrib: .minutes(0),
// isha: .angles(18),
// midnight: .standard),
//
.custom: MethodParams(
fajrAngle: 18,
maghrib: .minutes(0),
isha: .angles(17),
midnight: .standard)
]
}
`
and here is the methods string names
"MWL" = "Muslim World League"; "ISNA" = "Islamic Society of North America"; "Egypt" = "Egyptian General Authority of Survey"; "Makkah" = "Umm al-Qura University, Makkah"; "Karachi" = "University of Islamic Science, Karachi"; "Tehran" = "Institute of Geophysics, University of Tehran"; "Jafari" = "Shia Ithna Ashari, Leva Research Institute, Qum"; "algeria" = "Algerian Minister of Religious Affairs and Wakfs"; "diyanet" = "Diyanet İşleri Başkanlığı"; "egyptBis" = "Egyptian General Authority (Bis)"; "fixedIsha" = "Fixed Isha Angle Interval"; "uoif" = "France UOIF - Angle 12°"; "fr15" = "France - Angle 15°"; "fr18" = "France - Angle 18°"; "jakim" = "JAKIM (Jabatan Kemajuan Islam Malaysia)"; "muis" = "MUIS (Majlis Ugama Islam Singapura)"; "kemenag" = "SIHAT/KEMENAG (Kementerian Agama RI)"; "tunisia" = "Tunisian Ministry of Religious Affairs"; "awqafuae" = "UAE General Authority of Islamic Affairs And Endowments"; "uiptl" = "London Unified Islamic Prayer Timetable";"MWL" = "رابطة العالم الإسلامي"; "ISNA" = "الجمعية الإسلامية لأمريكا الشمالية"; "Egypt" = "الهيئة المصرية العامة للمساحة"; "Makkah" = "جامعة أم القرى"; "Karachi" = "جامعة العلوم الإسلامية بكراتشي"; "Tehran" = "معهد الجيوفيزياء ، جامعة طهران"; "Jafari" = "معهد ليفا للبحوث ، قم ، إيران"; "algeria" = "وزارة الشؤون الدينية الجزائرية والأوقاف"; "diyanet" = "مديرية الشؤون الدينية"; "egyptBis" = "الهيئة العامة المصرية (Bis)"; "fixedIsha" = "تثبيت زاوية العشاء"; "uoif" = "فرنسا UOIF ١٢°"; "fr15" = "°فرنسا ١٥"; "fr18" = "°فرنسا ١٨"; "jakim" = "إدارة التنمية الإسلامية في ماليزيا"; "muis" = "المجلس الديني الإسلامي في سنغافورة"; "kemenag" = "وزارة الشؤون الدينية"; "tunisia" = "وزارة الشؤون الدينية التونسية"; "awqafuae" = "الهيئة العامة الإماراتية للشؤون الإسلامية والأوقاف"; "uiptl" = "الجدول الزمني الموحد للصلاة الإسلامية في لندن";