islamic_utils 1.0.0 copy "islamic_utils: ^1.0.0" to clipboard
islamic_utils: ^1.0.0 copied to clipboard

A comprehensive Dart/Flutter package for Islamic utilities including accurate prayer times calculation with 18+ methods, Qibla direction and distance, and complete inheritance (faraidh) distribution a [...]

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.0.0 - 2024-01-07 #

Added #

Prayer Times Module

  • 9 prayer times: Imsak, Fajr, Sunrise, Dhuha Start, Dhuha End, Dhuhr, Asr, Maghrib, Isha
  • 18 calculation methods from global Islamic authorities
    • Kemenag (Indonesia)
    • MWL (Muslim World League)
    • ISNA (North America)
    • Umm al-Qura (Saudi Arabia)
    • Egyptian General Authority
    • University of Islamic Sciences, Karachi
    • And more...
  • High latitude rules: middleOfNight, oneSeventh, angleBased
  • Asr madhhab: Standard (Shafi'i/Maliki/Hanbali) and Hanafi
  • Safety buffer for prayer start times
  • Monthly prayer times calculation
  • Next prayer detection

Qibla Module

  • Qibla direction (bearing) calculation using great circle formula
  • Distance to Ka'bah using Haversine formula
  • 16-point compass direction
  • Ka'bah proximity detection

Inheritance (Faraidh) Module

  • 30+ heir types following Islamic jurisprudence
  • 7 Hijab (blocking) rules
  • Furudh (fixed share) calculation: 1/2, 1/3, 1/4, 1/6, 1/8, 2/3
  • Asabah (residuary) distribution: bi nafs, bil ghayr, maa ghayr
  • Aul (proportional reduction) when shares exceed 100%
  • Radd (redistribution) when shares are less than 100%
  • 10 special cases including Umariyatayn, Mushtarakah
  • Estate deduction handling: debts, funeral costs, wasiyyah
  • Wasiyyah limit enforcement (max 1/3 unless approved)
  • Debug trace output

Core Utilities

  • Result<T> pattern for type-safe error handling
  • Coordinates class with validation
  • DateOnly class for date-only operations
  • Fraction class for precise arithmetic
  • LibraryError with categorized error codes
  • Math utilities for degree-based trigonometry

Notes #

  • Pure Dart implementation (no external dependencies for core calculations)
  • Immutable data classes
  • Comprehensive test coverage (21 tests)

[Unreleased] #

Planned #

  • Hijri calendar conversion
  • Prayer time notifications helper
  • Additional calculation methods
  • IANA timezone support (via external package)
0
likes
140
points
10
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

A comprehensive Dart/Flutter package for Islamic utilities including accurate prayer times calculation with 18+ methods, Qibla direction and distance, and complete inheritance (faraidh) distribution according to Islamic law.

Repository (GitHub)
View/report issues

Topics

#islam #prayer-times #qibla #inheritance #faraidh

License

MIT (license)

More

Packages that depend on islamic_utils