kurdistan-prayer-times
Version:
Kurdistan Cities prayer time js
321 lines (289 loc) • 11.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _sulaymaniyah = _interopRequireDefault(require("./data/sulaymaniyah.json"));
var _erbil = _interopRequireDefault(require("./data/erbil.json"));
var _kirkuk = _interopRequireDefault(require("./data/kirkuk.json"));
var _taqtaq = _interopRequireDefault(require("./data/taqtaq.json"));
var _akre = _interopRequireDefault(require("./data/akre.json"));
var _duhok = _interopRequireDefault(require("./data/duhok.json"));
var _halabja = _interopRequireDefault(require("./data/halabja.json"));
var _jalawla = _interopRequireDefault(require("./data/jalawla.json"));
var _khanaqin = _interopRequireDefault(require("./data/khanaqin.json"));
var _qara_hanjir = _interopRequireDefault(require("./data/qara_hanjir.json"));
var _shekhan = _interopRequireDefault(require("./data/shekhan.json"));
var _tuz_khurma = _interopRequireDefault(require("./data/tuz_khurma.json"));
var _zakho = _interopRequireDefault(require("./data/zakho.json"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const Today = new Date(Date.now()).getDate();
const Month = new Date(Date.now()).getMonth() + 1;
function tConvert(time) {
// Check correct time format and split into components
time = time.toString().match(/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [time + ' AM'];
if (time.length > 1) {
// If time format correct
time = time.slice(1); // Remove full string match value
time[5] = +time[0] < 12 ? ' AM' : ' PM'; // Set AM/PM
time[0] = +time[0] % 12 || 12; // Adjust hours
}
return time.join(''); // return adjusted time or original string
}
function KUprayer(city) {
// set array of prayer times for each city to the parameter if parameter is em then throw error
if (typeof city !== 'string') {
throw new Error('City must be a string');
}
if (city == 'sulaymaniyah') {
city = {
city: 'sulaymaniyah',
prayerTimes: _sulaymaniyah.default
};
} else if (city == 'erbil') {
city = {
city: 'erbil',
prayerTimes: _erbil.default
};
} else if (city == 'kirkuk') {
city = {
city: 'kirkuk',
prayerTimes: _kirkuk.default
};
} else if (city == 'taqtaq') {
city = {
city: 'taqtaq',
prayerTimes: _taqtaq.default
};
} else if (city == 'akre') {
city = {
city: 'akre',
prayerTimes: _akre.default
};
} else if (city == 'duhok') {
city = {
city: 'duhok',
prayerTimes: _duhok.default
};
} else if (city == 'halabja') {
city = {
city: 'halabja',
prayerTimes: _halabja.default
};
} else if (city == 'jalawla') {
city = {
city: 'jalawla',
prayerTimes: _jalawla.default
};
} else if (city == 'khanaqin') {
city = {
city: 'khanaqin',
prayerTimes: _khanaqin.default
};
} else if (city == 'qaraHanjir') {
city = {
city: 'qaraHanjir',
prayerTimes: _qara_hanjir.default
};
} else if (city == 'shekhan') {
city = {
city: 'shekhan',
prayerTimes: _shekhan.default
};
} else if (city == 'tuzKhurma') {
city = {
city: 'tuzKhurma',
prayerTimes: _tuz_khurma.default
};
} else if (city == 'zakhoo') {
city = {
city: 'zakhoo',
prayerTimes: _zakho.default
};
} else {
throw new Error('City is not found');
}
let TodayPrayer = {
Fajr: '',
Sunrise: '',
Dhuhr: '',
Asr: '',
Maghrib: '',
Isha: ''
};
let MonthPrayer = [];
let nowPrayer = {
Time: '',
Name: ''
};
let nextPrayer;
const Hour = new Date(Date.now()).getHours();
let Minute = new Date(Date.now()).getMinutes();
Minute = Minute.toString().length == 1 ? '0' + Minute : Minute; // add 0 to minute if it is single digit because the time format is HH:MM`
let forrmat;
function GetPrayer(date) {
var _city, _city$prayerTimes;
/// get prayer times by date
(_city = city) === null || _city === void 0 ? void 0 : (_city$prayerTimes = _city.prayerTimes) === null || _city$prayerTimes === void 0 ? void 0 : _city$prayerTimes.map(day => {
/// map on array of prayer times
if (date == 'Today') {
if (day.day == Today.toString() && day.month == Month.toString()) {
if (Hour >= parseInt(day.time[0].split(':').shift()) && Hour <= parseInt(day.time[1].split(':').shift())) {
nowPrayer = {
Time: tConvert(day.time[0]),
Name: 'Fajr'
};
nextPrayer = {
Time: tConvert(day.time[1]),
Name: 'Sunrise'
};
} else if (Hour >= parseInt(day.time[1].split(':').shift()) && Hour <= parseInt(day.time[1].split(':').shift()) + 1) {
nowPrayer = {
Time: tConvert(day.time[1]),
Name: 'Sunrise'
};
nextPrayer = {
Time: tConvert(day.time[2]),
Name: 'Dhuhr'
};
} else if (Hour >= parseInt(day.time[1].split(':').shift()) + 1 && Hour <= parseInt(day.time[2].split(':').shift())) {
nowPrayer = {
Time: '',
Name: ''
};
nextPrayer = {
Time: tConvert(day.time[2]),
Name: 'Dhuhr'
};
} else if (Hour >= parseInt(day.time[2].split(':').shift()) && Hour <= parseInt(day.time[3].split(':').shift())) {
nowPrayer = {
Time: tConvert(day.time[2]),
Name: 'Dhuhr'
};
nextPrayer = {
Time: tConvert(day.time[3]),
Name: 'Asr'
};
} else if (Hour >= parseInt(day.time[3].split(':').shift()) && Hour <= parseInt(day.time[4].split(':').shift())) {
nowPrayer = {
Time: tConvert(day.time[3]),
Name: 'Asr'
};
nextPrayer = {
Time: tConvert(day.time[4]),
Name: 'Maghrib'
};
} else if (Hour >= parseInt(day.time[4].split(':').shift()) && Hour <= parseInt(day.time[5].split(':').shift())) {
nowPrayer = {
Time: tConvert(day.time[4]),
Name: 'Maghrib'
};
nextPrayer = {
Time: tConvert(day.time[5]),
Name: 'Isha'
};
} else if (Hour >= parseInt(day.time[5].split(':').shift()) && Hour <= 23) {
nowPrayer = {
Time: tConvert(day.time[5]),
Name: 'Isha'
};
nextPrayer = {
Time: tConvert(day.time[0]),
Name: 'Fajr'
};
} else if (Hour >= 0 && Hour <= parseInt(day.time[0].split(':').shift())) {
nowPrayer = {
Time: '',
Name: ''
};
nextPrayer = {
Time: tConvert(day.time[0]),
Name: 'Fajr'
};
} else {
nowPrayer = {
Time: '',
Name: ''
};
nextPrayer = {
Time: '',
Name: ''
};
}
if (forrmat == '12') {
return TodayPrayer = {
Fajr: tConvert(day.time[0]),
Sunrise: tConvert(day.time[1]),
Dhuhr: tConvert(day.time[2]),
Asr: tConvert(day.time[3]),
Maghrib: tConvert(day.time[4]),
Isha: tConvert(day.time[5])
};
} else {
return TodayPrayer = {
Fajr: day.time[0],
Sunrise: day.time[1],
Dhuhr: day.time[2],
Asr: day.time[3],
Maghrib: day.time[4],
Isha: day.time[5]
};
}
}
} else if (date == 'Tomorrow') {
if (day.day === (Today + 1).toString() && day.month === Month.toString()) {
return TodayPrayer = {
Fajr: day.time[0],
Sunrise: day.time[1],
Dhuhr: day.time[2],
Asr: day.time[3],
Maghrib: day.time[4],
Isha: day.time[5]
};
}
} else if (date == 'ThisMonth') {
if (day.month === Month.toString()) {
return MonthPrayer.push(day);
}
}
});
}
console.log('KUprayer loaded');
return {
res: {},
allDays: function () {
var _city2;
this.res = (_city2 = city) === null || _city2 === void 0 ? void 0 : _city2.prayerTimes;
return this;
},
format: function (format) {
forrmat = format;
console.log(forrmat);
return this;
},
date: function (date) {
GetPrayer(date);
if (date == 'Today') {
this.res = {
TodayPrayer,
nowPrayer,
nextPrayer,
city: city.city
};
return this;
} else if (date == 'Tomorrow') {
this.res = TodayPrayer;
return this;
} else if (date == 'ThisMonth') {
this.res = MonthPrayer;
return this;
} else if (date !== 'Today' && date !== 'Tomorrow' && date !== 'ThisMonth' && date !== 'NextMonth') {
throw new Error('Date should be Today, Tomorrow, ThisMonth or NextMonth');
} else {
throw new Error('Invalid Date');
}
}
};
}
var _default = KUprayer;
exports.default = _default;