Skip to content

DPANET/HomeyAssistant

Repository files navigation

Prayers Time Library

Typscript Library to track prayers time based on location using athan prayers api and google location api

Creating a Prayer Manager manually chainable

// Create Prayer Manager manually
let prayerManager: prayersLib.IPrayerManager = await prayersLib.PrayerTimeBuilder
        .createPrayerTimeBuilder()
        .setLocationByAddress("Abu Dhabi","AE")
        .setPrayerPeriod(new Date(),prayersLib.DateUtil.addMonth(1,new Date()))
        .setPrayerMethod(prayersLib.Methods.Mecca)
        .createPrayerTimeManager() ;

console.log(prayerManager.getPrayerTime(prayersLib.PrayersName.FAJR));
console.log(prayerManager.getPrayers());
console.log(prayerManager.getUpcomingPrayer())

Building a Config Object

var prayerConfig: prayersLib.IPrayersConfig = 
{
    method: 4,
    school: 0,
    midnight: 0,
    adjustmentMethod: 1,
    latitudeAdjustment: 3,
    startDate: new Date(),
    endDate: prayersLib.DateUtil.addMonth(1,new Date())
    ,
    adjustments: [
        { prayerName: prayersLib.PrayersName.FAJR, adjustments: 1 },
        { prayerName: prayersLib.PrayersName.DHUHR, adjustments: 2 },
        { prayerName: prayersLib.PrayersName.ASR, adjustments: 0},
        { prayerName: prayersLib.PrayersName.MAGHRIB, adjustments: 4 },
        { prayerName: prayersLib.PrayersName.ISHA, adjustments: 0 },
    ]
};

var locationConfig: prayersLib.ILocationConfig =
{
    location: {
        latitude: 21.3890824,
        longtitude: 39.8579118,
        countryCode: "SA",
        countryName: "Saudi Arabia",
        address: "Mecca Saudi Arabia",
        city: "Mecca"
    }
    ,
    timezone:
    {
        timeZoneId: "Asia/Riyadh",
        timeZoneName: "Arabian Standard Time",
        dstOffset: 0,
        rawOffset: 10800
    }

}

Creating a Prayer Manager from a Config object

// Create Prayer from Config 
    prayerManager = await prayersLib.PrayerTimeBuilder
    .createPrayerTimeBuilder(locationConfig, prayerConfig)
    .createPrayerTimeManager() ;

console.log(prayerManager.getPrayerTime(prayersLib.PrayersName.FAJR, new Date()));   

Validate a Prayer Manager from a config object

//Validate Config File
let validate: prayersLib.IValid<prayersLib.IPrayersConfig> = prayersLib.
PrayerConfigValidator.createValidator();

console.log(validate.validate(prayerConfig));

About

Library to track prayers time based on location

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published