UNPKG

@wursha/ngx-prayertimes-api

Version:
649 lines (642 loc) 21.2 kB
import * as i0 from '@angular/core'; import { Injectable } from '@angular/core'; import * as i1 from '@angular/common/http'; var calculationMethods; (function (calculationMethods) { calculationMethods[calculationMethods["SHIA_ITHNA_ASHARI_LEVA_INSTITUTE_QUM"] = 0] = "SHIA_ITHNA_ASHARI_LEVA_INSTITUTE_QUM"; calculationMethods[calculationMethods["UNIVERSITY_OF_ISLAMIC_SCIENCES_KARACHI"] = 1] = "UNIVERSITY_OF_ISLAMIC_SCIENCES_KARACHI"; calculationMethods[calculationMethods["ISLAMIC_SOCIETY_OF_NORTH_AMERICA"] = 2] = "ISLAMIC_SOCIETY_OF_NORTH_AMERICA"; calculationMethods[calculationMethods["MUSLIM_WORLD_LEAGUE"] = 3] = "MUSLIM_WORLD_LEAGUE"; calculationMethods[calculationMethods["UMM_AL_QURA_UNIVERSITY_MAKKAH"] = 4] = "UMM_AL_QURA_UNIVERSITY_MAKKAH"; calculationMethods[calculationMethods["EGYPTIAN_GENERAL_AUTHORITY_OF_SURVEY"] = 5] = "EGYPTIAN_GENERAL_AUTHORITY_OF_SURVEY"; calculationMethods[calculationMethods["INSTITUTE_OF_GEOPHYSICS_UNIVERSITY_OF_TEHRAN"] = 7] = "INSTITUTE_OF_GEOPHYSICS_UNIVERSITY_OF_TEHRAN"; calculationMethods[calculationMethods["GULF_REGION"] = 8] = "GULF_REGION"; calculationMethods[calculationMethods["KUWAIT"] = 9] = "KUWAIT"; calculationMethods[calculationMethods["QATAR"] = 10] = "QATAR"; calculationMethods[calculationMethods["MAJLIS_UGAMA_ISLAM_SINGAPURA_SINGAPORE"] = 11] = "MAJLIS_UGAMA_ISLAM_SINGAPURA_SINGAPORE"; calculationMethods[calculationMethods["UNION_ORGANIZATION_ISLAMIC_DE_FRANCE"] = 12] = "UNION_ORGANIZATION_ISLAMIC_DE_FRANCE"; calculationMethods[calculationMethods["DIYANET_ISLERI_BASKANLIGI_TURKEY"] = 13] = "DIYANET_ISLERI_BASKANLIGI_TURKEY"; calculationMethods[calculationMethods["SPIRITUAL_ADMINISTRATION_OF_MUSLIMS_OF_RUSSIA"] = 14] = "SPIRITUAL_ADMINISTRATION_OF_MUSLIMS_OF_RUSSIA"; calculationMethods[calculationMethods["MOONSIGHTING_COMMITTEE_WORLDWIDE"] = 15] = "MOONSIGHTING_COMMITTEE_WORLDWIDE"; calculationMethods[calculationMethods["DUBAI_UNOFFICIAL"] = 16] = "DUBAI_UNOFFICIAL"; calculationMethods[calculationMethods["JABATAN_KEMAJUAN_ISLAM_MALAYSIA_JAKIM"] = 17] = "JABATAN_KEMAJUAN_ISLAM_MALAYSIA_JAKIM"; calculationMethods[calculationMethods["TUNISIA"] = 18] = "TUNISIA"; calculationMethods[calculationMethods["ALGERIA"] = 19] = "ALGERIA"; calculationMethods[calculationMethods["KEMENTERIAN_AGAMA_REPUBLIK_INDONESIA"] = 20] = "KEMENTERIAN_AGAMA_REPUBLIK_INDONESIA"; calculationMethods[calculationMethods["MOROCCO"] = 21] = "MOROCCO"; calculationMethods[calculationMethods["COMUNIDADE_ISLAMICA_DE_LISBOA"] = 22] = "COMUNIDADE_ISLAMICA_DE_LISBOA"; calculationMethods[calculationMethods["MINISTRY_OF_AWQAF_ISLAMIC_AFFAIRS_AND_HOLY_PLACES_JORDAN"] = 23] = "MINISTRY_OF_AWQAF_ISLAMIC_AFFAIRS_AND_HOLY_PLACES_JORDAN"; calculationMethods[calculationMethods["CUSTOM"] = 99] = "CUSTOM"; })(calculationMethods || (calculationMethods = {})); var schoolTypes; (function (schoolTypes) { schoolTypes[schoolTypes["STANDARD_SHAFI"] = 0] = "STANDARD_SHAFI"; schoolTypes[schoolTypes["HANAFI"] = 1] = "HANAFI"; })(schoolTypes || (schoolTypes = {})); var midnightModes; (function (midnightModes) { /** * Mid Sunset to Sunrise */ midnightModes[midnightModes["STANDARD"] = 0] = "STANDARD"; /** * Mid Sunset to Fajr */ midnightModes[midnightModes["JAFARI"] = 1] = "JAFARI"; })(midnightModes || (midnightModes = {})); var latitudeAdjustmentMethods; (function (latitudeAdjustmentMethods) { latitudeAdjustmentMethods[latitudeAdjustmentMethods["MIDDLE_OF_THE_NIGHT"] = 1] = "MIDDLE_OF_THE_NIGHT"; latitudeAdjustmentMethods[latitudeAdjustmentMethods["ONE_SEVENTH"] = 2] = "ONE_SEVENTH"; latitudeAdjustmentMethods[latitudeAdjustmentMethods["ANGLE_BASED"] = 3] = "ANGLE_BASED"; })(latitudeAdjustmentMethods || (latitudeAdjustmentMethods = {})); const timeZones = [ 'Africa/Abidjan', 'Africa/Accra', 'Africa/Addis_Ababa', 'Africa/Algiers', 'Africa/Asmara', 'Africa/Bamako', 'Africa/Bangui', 'Africa/Banjul', 'Africa/Bissau', 'Africa/Blantyre', 'Africa/Brazzaville', 'Africa/Bujumbura', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Ceuta', 'Africa/Conakry', 'Africa/Dakar', 'Africa/Dar_es_Salaam', 'Africa/Djibouti', 'Africa/Douala', 'Africa/El_Aaiun', 'Africa/Freetown', 'Africa/Gaborone', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Juba', 'Africa/Kampala', 'Africa/Khartoum', 'Africa/Kigali', 'Africa/Kinshasa', 'Africa/Lagos', 'Africa/Libreville', 'Africa/Lome', 'Africa/Luanda', 'Africa/Lubumbashi', 'Africa/Lusaka', 'Africa/Malabo', 'Africa/Maputo', 'Africa/Maseru', 'Africa/Mbabane', 'Africa/Mogadishu', 'Africa/Monrovia', 'Africa/Nairobi', 'Africa/Ndjamena', 'Africa/Niamey', 'Africa/Nouakchott', 'Africa/Ouagadougou', 'Africa/Porto-Novo', 'Africa/Sao_Tome', 'Africa/Tripoli', 'Africa/Tunis', 'Africa/Windhoek', 'America/Adak', 'America/Anchorage', 'America/Anguilla', 'America/Antigua', 'America/Araguaina', 'America/Argentina/Buenos_Aires', 'America/Argentina/Catamarca', 'America/Argentina/Cordoba', 'America/Argentina/Jujuy', 'America/Argentina/La_Rioja', 'America/Argentina/Mendoza', 'America/Argentina/Rio_Gallegos', 'America/Argentina/Salta', 'America/Argentina/San_Juan', 'America/Argentina/San_Luis', 'America/Argentina/Tucuman', 'America/Argentina/Ushuaia', 'America/Aruba', 'America/Asuncion', 'America/Atikokan', 'America/Bahia', 'America/Bahia_Banderas', 'America/Barbados', 'America/Belem', 'America/Belize', 'America/Blanc-Sablon', 'America/Boa_Vista', 'America/Bogota', 'America/Boise', 'America/Cambridge_Bay', 'America/Campo_Grande', 'America/Cancun', 'America/Caracas', 'America/Cayenne', 'America/Cayman', 'America/Chicago', 'America/Chihuahua', 'America/Ciudad_Juarez', 'America/Costa_Rica', 'America/Creston', 'America/Cuiaba', 'America/Curacao', 'America/Danmarkshavn', 'America/Dawson', 'America/Dawson_Creek', 'America/Denver', 'America/Detroit', 'America/Dominica', 'America/Edmonton', 'America/Eirunepe', 'America/El_Salvador', 'America/Fort_Nelson', 'America/Fortaleza', 'America/Glace_Bay', 'America/Goose_Bay', 'America/Grand_Turk', 'America/Grenada', 'America/Guadeloupe', 'America/Guatemala', 'America/Guayaquil', 'America/Guyana', 'America/Halifax', 'America/Havana', 'America/Hermosillo', 'America/Indiana/Indianapolis', 'America/Indiana/Knox', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Tell_City', 'America/Indiana/Vevay', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Inuvik', 'America/Iqaluit', 'America/Jamaica', 'America/Juneau', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Kralendijk', 'America/La_Paz', 'America/Lima', 'America/Los_Angeles', 'America/Lower_Princes', 'America/Maceio', 'America/Managua', 'America/Manaus', 'America/Marigot', 'America/Martinique', 'America/Matamoros', 'America/Mazatlan', 'America/Menominee', 'America/Merida', 'America/Metlakatla', 'America/Mexico_City', 'America/Miquelon', 'America/Moncton', 'America/Monterrey', 'America/Montevideo', 'America/Montserrat', 'America/Nassau', 'America/New_York', 'America/Nome', 'America/Noronha', 'America/North_Dakota/Beulah', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/Nuuk', 'America/Ojinaga', 'America/Panama', 'America/Paramaribo', 'America/Phoenix', 'America/Port-au-Prince', 'America/Port_of_Spain', 'America/Porto_Velho', 'America/Puerto_Rico', 'America/Punta_Arenas', 'America/Rankin_Inlet', 'America/Recife', 'America/Regina', 'America/Resolute', 'America/Rio_Branco', 'America/Santarem', 'America/Santiago', 'America/Santo_Domingo', 'America/Sao_Paulo', 'America/Scoresbysund', 'America/Sitka', 'America/St_Barthelemy', 'America/St_Johns', 'America/St_Kitts', 'America/St_Lucia', 'America/St_Thomas', 'America/St_Vincent', 'America/Swift_Current', 'America/Tegucigalpa', 'America/Thule', 'America/Tijuana', 'America/Toronto', 'America/Tortola', 'America/Vancouver', 'America/Whitehorse', 'America/Winnipeg', 'America/Yakutat', 'Antarctica/Casey', 'Antarctica/Davis', 'Antarctica/DumontDUrville', 'Antarctica/Macquarie', 'Antarctica/Mawson', 'Antarctica/McMurdo', 'Antarctica/Palmer', 'Antarctica/Rothera', 'Antarctica/Syowa', 'Antarctica/Troll', 'Antarctica/Vostok', 'Arctic/Longyearbyen', 'Asia/Aden', 'Asia/Almaty', 'Asia/Amman', 'Asia/Anadyr', 'Asia/Aqtau', 'Asia/Aqtobe', 'Asia/Ashgabat', 'Asia/Atyrau', 'Asia/Baghdad', 'Asia/Bahrain', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Barnaul', 'Asia/Beirut', 'Asia/Bishkek', 'Asia/Brunei', 'Asia/Chita', 'Asia/Choibalsan', 'Asia/Colombo', 'Asia/Damascus', 'Asia/Dhaka', 'Asia/Dili', 'Asia/Dubai', 'Asia/Dushanbe', 'Asia/Famagusta', 'Asia/Gaza', 'Asia/Hebron', 'Asia/Ho_Chi_Minh', 'Asia/Hong_Kong', 'Asia/Hovd', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jayapura', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Khandyga', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuching', 'Asia/Kuwait', 'Asia/Macau', 'Asia/Magadan', 'Asia/Makassar', 'Asia/Manila', 'Asia/Muscat', 'Asia/Nicosia', 'Asia/Novokuznetsk', 'Asia/Novosibirsk', 'Asia/Omsk', 'Asia/Oral', 'Asia/Phnom_Penh', 'Asia/Pontianak', 'Asia/Pyongyang', 'Asia/Qatar', 'Asia/Qostanay', 'Asia/Qyzylorda', 'Asia/Riyadh', 'Asia/Sakhalin', 'Asia/Samarkand', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Thimphu', 'Asia/Tokyo', 'Asia/Tomsk', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Ust-Nera', 'Asia/Vientiane', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yangon', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Bermuda', 'Atlantic/Canary', 'Atlantic/Cape_Verde', 'Atlantic/Faroe', 'Atlantic/Madeira', 'Atlantic/Reykjavik', 'Atlantic/South_Georgia', 'Atlantic/St_Helena', 'Atlantic/Stanley', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Broken_Hill', 'Australia/Darwin', 'Australia/Eucla', 'Australia/Hobart', 'Australia/Lindeman', 'Australia/Lord_Howe', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Europe/Amsterdam', 'Europe/Andorra', 'Europe/Astrakhan', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Busingen', 'Europe/Chisinau', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Gibraltar', 'Europe/Guernsey', 'Europe/Helsinki', 'Europe/Isle_of_Man', 'Europe/Istanbul', 'Europe/Jersey', 'Europe/Kaliningrad', 'Europe/Kirov', 'Europe/Kyiv', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/Luxembourg', 'Europe/Madrid', 'Europe/Malta', 'Europe/Mariehamn', 'Europe/Minsk', 'Europe/Monaco', 'Europe/Moscow', 'Europe/Oslo', 'Europe/Paris', 'Europe/Podgorica', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/San_Marino', 'Europe/Sarajevo', 'Europe/Saratov', 'Europe/Simferopol', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Tirane', 'Europe/Ulyanovsk', 'Europe/Vaduz', 'Europe/Vatican', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Europe/Zurich', 'Indian/Antananarivo', 'Indian/Chagos', 'Indian/Christmas', 'Indian/Cocos', 'Indian/Comoro', 'Indian/Kerguelen', 'Indian/Mahe', 'Indian/Maldives', 'Indian/Mauritius', 'Indian/Mayotte', 'Indian/Reunion', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Bougainville', 'Pacific/Chatham', 'Pacific/Chuuk', 'Pacific/Easter', 'Pacific/Efate', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Funafuti', 'Pacific/Galapagos', 'Pacific/Gambier', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Kanton', 'Pacific/Kiritimati', 'Pacific/Kosrae', 'Pacific/Kwajalein', 'Pacific/Majuro', 'Pacific/Marquesas', 'Pacific/Midway', 'Pacific/Nauru', 'Pacific/Niue', 'Pacific/Norfolk', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Palau', 'Pacific/Pitcairn', 'Pacific/Pohnpei', 'Pacific/Port_Moresby', 'Pacific/Rarotonga', 'Pacific/Saipan', 'Pacific/Tahiti', 'Pacific/Tarawa', 'Pacific/Tongatapu', 'Pacific/Wake', 'Pacific/Wallis', ]; class UtilsService { toQueryString(params) { const queryString = Object.entries(params) .filter(([, value]) => value !== undefined) .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`) .join('&'); return queryString; } formatDateToDDMMYYYY(date) { const day = String(date.getDate()).padStart(2, '0'); // Get day and pad with leading zero if necessary const month = String(date.getMonth() + 1).padStart(2, '0'); // Get month (0-based) and pad with leading zero if necessary const year = date.getFullYear(); // Get full year return `${day}-${month}-${year}`; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UtilsService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UtilsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }] }); /** * an Angular api client for aladhan.com/prayer-times-api */ class NgxPrayertimesApiService { constructor(http, utils) { this.http = http; this.utils = utils; this.baseUrl = 'https://api.aladhan.com/v1'; } /** * Returns all prayer times for a specific calendar month. */ getCalendar(p) { p.shafaq ??= 'general'; p.school ??= schoolTypes.STANDARD_SHAFI; p.midnightMode ??= midnightModes.STANDARD; const q = { ...p, month: undefined, year: undefined }; const month = p.month ? `/${p.month}` : ''; const url = `${this.baseUrl}/calendar/${p.year}${month}?${this.utils.toQueryString(q)}`; return this.http.get(url); } /** * Returns all prayer times for a specific calendar month at a particular address. */ getCalendarByAddress(p) { p.shafaq ??= 'general'; p.school ??= schoolTypes.STANDARD_SHAFI; p.midnightMode ??= midnightModes.STANDARD; const q = { ...p, month: undefined, year: undefined }; const month = p.month ? `/${p.month}` : ''; const url = `${this.baseUrl}/calendarByAddress/${p.year}${month}?${this.utils.toQueryString(q)}`; return this.http.get(url); } /** * Returns all prayer times for a specific calendar month by City. */ getCalendarByCity(p) { p.shafaq ??= 'general'; p.school ??= schoolTypes.STANDARD_SHAFI; p.midnightMode ??= midnightModes.STANDARD; const q = { ...p, month: undefined, year: undefined }; const month = p.month ? `/${p.month}` : ''; const url = `${this.baseUrl}/calendarByCity/${p.year}${month}?${this.utils.toQueryString(q)}`; return this.http.get(url); } /** * Returns all prayer times for a specific Hijri calendar month. */ getHijriCalendar(p) { p.shafaq ??= 'general'; p.school ??= schoolTypes.STANDARD_SHAFI; p.midnightMode ??= midnightModes.STANDARD; const q = { ...p, month: undefined, year: undefined }; const month = p.month ? `/${p.month}` : ''; const url = `${this.baseUrl}/hijriCalendar/${p.year}${month}?${this.utils.toQueryString(q)}`; return this.http.get(url); } /** * Returns all prayer times for a specific Hijri calendar month at a particular address. */ getHijriCalendarByAddress(p) { p.shafaq ??= 'general'; p.school ??= schoolTypes.STANDARD_SHAFI; p.midnightMode ??= midnightModes.STANDARD; const q = { ...p, month: undefined, year: undefined }; const month = p.month ? `/${p.month}` : ''; const url = `${this.baseUrl}/hijriCalendarByAddress/${p.year}${month}?${this.utils.toQueryString(q)}`; return this.http.get(url); } /** * Returns all prayer times for a specific Hijri calendar month by City. */ getHijriCalendarByCity(p) { p.shafaq ??= 'general'; p.school ??= schoolTypes.STANDARD_SHAFI; p.midnightMode ??= midnightModes.STANDARD; const q = { ...p, month: undefined, year: undefined }; const month = p.month ? `/${p.month}` : ''; const url = `${this.baseUrl}/hijriCalendarByCity/${p.year}${month}?${this.utils.toQueryString(q)}`; return this.http.get(url); } /** * Returns all the prayer times calculation methods supported by this API. For more information on how to use custom methods, see https://aladhan.com/calculation-methods. */ getMethods() { const url = `${this.baseUrl}/methods`; return this.http.get(url); } /** * Returns all prayer times for a specific date. */ getTimings(p) { p.shafaq ??= 'general'; p.school ??= schoolTypes.STANDARD_SHAFI; p.midnightMode ??= midnightModes.STANDARD; const q = { ...p, date: undefined }; const date = p.date ? `/${this.utils.formatDateToDDMMYYYY(p.date)}` : ''; const url = `${this.baseUrl}/timings${date}?${this.utils.toQueryString(q)}`; return this.http.get(url); } /** * Returns all prayer times for a specific date at a particular address. */ getTimingsByAddress(p) { p.shafaq ??= 'general'; p.school ??= schoolTypes.STANDARD_SHAFI; p.midnightMode ??= midnightModes.STANDARD; const q = { ...p, date: undefined }; const date = p.date ? `/${this.utils.formatDateToDDMMYYYY(p.date)}` : ''; const url = `${this.baseUrl}/timingsByAddress${date}?${this.utils.toQueryString(q)}`; return this.http.get(url); } /** * Returns all prayer times for a specific date in a particular city. */ getTimingsByCity(p) { p.shafaq ??= 'general'; p.school ??= schoolTypes.STANDARD_SHAFI; p.midnightMode ??= midnightModes.STANDARD; const q = { ...p, date: undefined }; const date = p.date ? `/${this.utils.formatDateToDDMMYYYY(p.date)}` : ''; const url = `${this.baseUrl}/timingsByCity${date}?${this.utils.toQueryString(q)}`; return this.http.get(url); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgxPrayertimesApiService, deps: [{ token: i1.HttpClient }, { token: UtilsService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgxPrayertimesApiService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgxPrayertimesApiService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: () => [{ type: i1.HttpClient }, { type: UtilsService }] }); /* * Public API Surface of ngx-prayertimes-api */ /** * Generated bundle index. Do not edit. */ export { NgxPrayertimesApiService, calculationMethods, latitudeAdjustmentMethods, midnightModes, schoolTypes }; //# sourceMappingURL=wursha-ngx-prayertimes-api.mjs.map