tauqeet-js 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +143 -101
- package/dist/index.cjs +2035 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +612 -12
- package/dist/index.d.ts +612 -12
- package/dist/index.js +1993 -1
- package/dist/index.js.map +1 -1
- package/package.json +64 -41
- package/dist/astronomy/index.cjs +0 -2
- package/dist/astronomy/index.cjs.map +0 -1
- package/dist/astronomy/index.d.cts +0 -40
- package/dist/astronomy/index.d.ts +0 -40
- package/dist/astronomy/index.js +0 -2
- package/dist/astronomy/index.js.map +0 -1
- package/dist/chunk-4GEHU4EV.js +0 -2
- package/dist/chunk-4GEHU4EV.js.map +0 -1
- package/dist/chunk-4JQOEJI5.cjs +0 -2
- package/dist/chunk-4JQOEJI5.cjs.map +0 -1
- package/dist/chunk-BJ45B342.cjs +0 -2
- package/dist/chunk-BJ45B342.cjs.map +0 -1
- package/dist/chunk-CSU6AEKX.js +0 -2
- package/dist/chunk-CSU6AEKX.js.map +0 -1
- package/dist/chunk-DJ357A47.js +0 -2
- package/dist/chunk-DJ357A47.js.map +0 -1
- package/dist/chunk-E4M4MYZR.cjs +0 -2
- package/dist/chunk-E4M4MYZR.cjs.map +0 -1
- package/dist/chunk-FQ6RGT3F.cjs +0 -2
- package/dist/chunk-FQ6RGT3F.cjs.map +0 -1
- package/dist/chunk-FTWK5BZJ.js +0 -2
- package/dist/chunk-FTWK5BZJ.js.map +0 -1
- package/dist/chunk-GIWGJKCS.js +0 -2
- package/dist/chunk-GIWGJKCS.js.map +0 -1
- package/dist/chunk-H2JLMZ5E.cjs +0 -2
- package/dist/chunk-H2JLMZ5E.cjs.map +0 -1
- package/dist/chunk-H33IJIM5.cjs +0 -2
- package/dist/chunk-H33IJIM5.cjs.map +0 -1
- package/dist/chunk-IAQLPBAC.js +0 -2
- package/dist/chunk-IAQLPBAC.js.map +0 -1
- package/dist/chunk-II6TW43P.cjs +0 -2
- package/dist/chunk-II6TW43P.cjs.map +0 -1
- package/dist/chunk-IPNHW5FC.js +0 -2
- package/dist/chunk-IPNHW5FC.js.map +0 -1
- package/dist/chunk-JA4E3Q7A.js +0 -2
- package/dist/chunk-JA4E3Q7A.js.map +0 -1
- package/dist/chunk-LTEJ7X6W.js +0 -2
- package/dist/chunk-LTEJ7X6W.js.map +0 -1
- package/dist/chunk-QMMOAGSC.js +0 -2
- package/dist/chunk-QMMOAGSC.js.map +0 -1
- package/dist/chunk-WFHQSUXS.cjs +0 -2
- package/dist/chunk-WFHQSUXS.cjs.map +0 -1
- package/dist/chunk-WXX4UNDC.js +0 -2
- package/dist/chunk-WXX4UNDC.js.map +0 -1
- package/dist/chunk-XL5IKB2X.js +0 -2
- package/dist/chunk-XL5IKB2X.js.map +0 -1
- package/dist/chunk-YDSVFKVM.cjs +0 -2
- package/dist/chunk-YDSVFKVM.cjs.map +0 -1
- package/dist/chunk-YMPRSR53.cjs +0 -2
- package/dist/chunk-YMPRSR53.cjs.map +0 -1
- package/dist/chunk-YSOESZ35.cjs +0 -2
- package/dist/chunk-YSOESZ35.cjs.map +0 -1
- package/dist/chunk-YZUP33VG.cjs +0 -2
- package/dist/chunk-YZUP33VG.cjs.map +0 -1
- package/dist/index-tSYKxCru.d.cts +0 -64
- package/dist/index-tSYKxCru.d.ts +0 -64
- package/dist/moon/index.cjs +0 -2
- package/dist/moon/index.cjs.map +0 -1
- package/dist/moon/index.d.cts +0 -20
- package/dist/moon/index.d.ts +0 -20
- package/dist/moon/index.js +0 -2
- package/dist/moon/index.js.map +0 -1
- package/dist/prayer/index.cjs +0 -2
- package/dist/prayer/index.cjs.map +0 -1
- package/dist/prayer/index.d.cts +0 -17
- package/dist/prayer/index.d.ts +0 -17
- package/dist/prayer/index.js +0 -2
- package/dist/prayer/index.js.map +0 -1
- package/dist/qibla/index.cjs +0 -2
- package/dist/qibla/index.cjs.map +0 -1
- package/dist/qibla/index.d.cts +0 -22
- package/dist/qibla/index.d.ts +0 -22
- package/dist/qibla/index.js +0 -2
- package/dist/qibla/index.js.map +0 -1
- package/dist/ramadan-BpmCzDzM.d.ts +0 -77
- package/dist/ramadan-Cr6YrTTX.d.cts +0 -77
- package/dist/ui/index.cjs +0 -105
- package/dist/ui/index.cjs.map +0 -1
- package/dist/ui/index.d.cts +0 -43
- package/dist/ui/index.d.ts +0 -43
- package/dist/ui/index.js +0 -105
- package/dist/ui/index.js.map +0 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,101 +1,143 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
**
|
|
4
|
-
|
|
5
|
-
[](LICENSE)
|
|
6
|
+
[](https://www.typescriptlang.org/)
|
|
7
|
+
|
|
8
|
+
> 📖 **Interactive documentation & live API explorer:** [https://tauqeet-js.web.app](https://tauqeet-js.web.app)
|
|
9
|
+
|
|
10
|
+
`tauqeet-js` (تَوقِيت — Arabic for "timing") provides high-fidelity Islamic astronomical computation powered by a full VSOP87-derived solar ephemeris, lunar theory, and ΔT correction. It is modular by design — import only the feature you need.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Table of Contents
|
|
15
|
+
|
|
16
|
+
- [Features](#features)
|
|
17
|
+
- [Prerequisites](#prerequisites)
|
|
18
|
+
- [Installation](#installation)
|
|
19
|
+
- [Quick Start](#quick-start)
|
|
20
|
+
- [Documentation](#documentation)
|
|
21
|
+
- [Modules Overview](#modules-overview)
|
|
22
|
+
- [License](#license)
|
|
23
|
+
- [Author](#author)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Features
|
|
28
|
+
|
|
29
|
+
| Module | Capability |
|
|
30
|
+
|---|---|
|
|
31
|
+
| **Prayers** | Fajr, Sunrise, Ḍuḥā, Dhuhr, Asr, Maghrib, Isha with 8 built-in calculation methods |
|
|
32
|
+
| **Qibla** | Great-circle bearing, rhumb-line bearing, and distance to the Kaaba |
|
|
33
|
+
| **Moon** | Phase, illumination, age, lunar events, crescent visibility (Odeh / Yallop / HMNAO) |
|
|
34
|
+
| **Hijri** | Gregorian ↔ Hijri conversion via Civil, Conjunction, Visibility, or Umm al-Qura methods |
|
|
35
|
+
| **Solar Alignment** | Times when the sun aligns with the Qibla direction (useful for compass calibration) |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Prerequisites
|
|
40
|
+
|
|
41
|
+
- **Node.js** ≥ 18
|
|
42
|
+
- **TypeScript** ≥ 5 (for source usage)
|
|
43
|
+
- ESM-first; CJS bundle also provided.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Installation
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm install tauqeet-js
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
> **Note:** The package is currently in active development. See [CONTRIBUTING.md](CONTRIBUTING.md) for building from source.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Quick Start
|
|
58
|
+
|
|
59
|
+
### Prayer Times
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
import { calculatePrayerTimes, BUILT_IN_METHODS } from 'tauqeet-js';
|
|
63
|
+
|
|
64
|
+
// London, UK – today
|
|
65
|
+
const result = calculatePrayerTimes({
|
|
66
|
+
lat: 51.5074,
|
|
67
|
+
long: -0.1278,
|
|
68
|
+
timeZone: 'Europe/London',
|
|
69
|
+
method: 'MWL', // Muslim World League
|
|
70
|
+
madhab: 'Shafi',
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
console.log(result.fajr.local); // e.g. "03:41 AM"
|
|
74
|
+
console.log(result.dhuhr.local); // e.g. "01:05 PM"
|
|
75
|
+
console.log(result.isha.local); // e.g. "10:52 PM"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Qibla Direction
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
import { getQiblaDirection } from 'tauqeet-js';
|
|
82
|
+
|
|
83
|
+
const qibla = getQiblaDirection({ latitude: 51.5074, longitude: -0.1278 });
|
|
84
|
+
console.log(`Bearing to Kaaba: ${qibla.bearing?.toFixed(2)}°`);
|
|
85
|
+
console.log(`Distance: ${qibla.distanceKm.toFixed(0)} km`);
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Moon Phase
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
import { getMoonPhase, getMoonAge } from 'tauqeet-js';
|
|
92
|
+
|
|
93
|
+
const phase = getMoonPhase(new Date());
|
|
94
|
+
console.log(`Phase: ${phase.phaseName}`); // e.g. "Waxing Crescent"
|
|
95
|
+
console.log(`Illumination: ${(phase.illuminatedFraction * 100).toFixed(1)}%`);
|
|
96
|
+
|
|
97
|
+
const age = getMoonAge(new Date());
|
|
98
|
+
console.log(`Moon age: ${age.ageDays.toFixed(1)} days`);
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Hijri Date Conversion
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
import { toHijri, HijriMethod, HIJRI_MONTH_NAMES } from 'tauqeet-js';
|
|
105
|
+
|
|
106
|
+
const hijri = toHijri(new Date(), HijriMethod.CIVIL);
|
|
107
|
+
console.log(`${hijri.day} ${HIJRI_MONTH_NAMES[hijri.month - 1]} ${hijri.year} AH`);
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Documentation
|
|
113
|
+
|
|
114
|
+
| File | Description |
|
|
115
|
+
|---|---|
|
|
116
|
+
| [API.md](API.md) | Complete API reference for all exported functions, types, and classes |
|
|
117
|
+
| [USAGE.md](USAGE.md) | Practical code guides with real-world examples |
|
|
118
|
+
| [MODULES.md](MODULES.md) | Architecture overview and module import guide |
|
|
119
|
+
| [CONTRIBUTING.md](CONTRIBUTING.md) | Build, test, and contribution guidelines |
|
|
120
|
+
|
|
121
|
+
For the most up-to-date, interactive reference visit **[https://tauqeet-js.web.app](https://tauqeet-js.web.app)**.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Modules Overview
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
tauqeet-js
|
|
129
|
+
├── prayers/ Prayer time engine (8 methods, high-latitude strategies)
|
|
130
|
+
├── qibla/ Qibla bearing & distance to Mecca
|
|
131
|
+
├── moon/ Moon phase, age, events, crescent visibility
|
|
132
|
+
├── hijri/ Gregorian ↔ Hijri calendar conversion
|
|
133
|
+
├── solar-alignment/ Sun-at-Qibla times
|
|
134
|
+
└── astronomy/ Internal ephemeris (VSOP87, lunar theory, ΔT) — private
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
See [MODULES.md](MODULES.md) for a detailed dependency graph and tree-shaking guide.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## License
|
|
142
|
+
|
|
143
|
+
[MIT](LICENSE) © Ghulam Hasnain
|