mihrab-methods 1.1.0 → 1.2.1
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/README.md +11 -10
- package/certification.json +19 -19
- package/data/corrections/diyanet.json +455 -0
- package/data/corrections/indonesia.json +370 -667
- package/dist/cjs/authorities/indonesia.js +4 -4
- package/dist/cjs/data/generated/algeriaCertification.js +1 -1
- package/dist/cjs/data/generated/diyanetCertification.js +1 -1
- package/dist/cjs/data/generated/diyanetCorrections.js +1 -1
- package/dist/cjs/data/generated/diyanetWorldPoints.js +1 -1
- package/dist/cjs/data/generated/indonesiaCertification.js +1 -1
- package/dist/cjs/data/generated/indonesiaCorrections.js +1 -1
- package/dist/cjs/data/generated/kemenagMethodPoints.js +1 -1
- package/dist/cjs/data/generated/moroccoCertification.js +1 -1
- package/dist/cjs/data/generated/swedenCertification.js +1 -1
- package/dist/cjs/methods/indonesia.d.ts +2 -2
- package/dist/cjs/methods/indonesia.js +16 -9
- package/dist/cjs/methods/revisions.d.ts +1 -1
- package/dist/cjs/methods/revisions.js +1 -1
- package/dist/cjs/sun/preciseSun.d.ts +6 -1
- package/dist/cjs/sun/preciseSun.js +7 -2
- package/dist/esm/authorities/indonesia.js +4 -4
- package/dist/esm/data/generated/algeriaCertification.js +1 -1
- package/dist/esm/data/generated/diyanetCertification.js +1 -1
- package/dist/esm/data/generated/diyanetCorrections.js +1 -1
- package/dist/esm/data/generated/diyanetWorldPoints.js +1 -1
- package/dist/esm/data/generated/indonesiaCertification.js +1 -1
- package/dist/esm/data/generated/indonesiaCorrections.js +1 -1
- package/dist/esm/data/generated/kemenagMethodPoints.js +1 -1
- package/dist/esm/data/generated/moroccoCertification.js +1 -1
- package/dist/esm/data/generated/swedenCertification.js +1 -1
- package/dist/esm/methods/indonesia.d.ts +2 -2
- package/dist/esm/methods/indonesia.js +16 -9
- package/dist/esm/methods/revisions.d.ts +1 -1
- package/dist/esm/methods/revisions.js +1 -1
- package/dist/esm/sun/preciseSun.d.ts +6 -1
- package/dist/esm/sun/preciseSun.js +7 -2
- package/docs/methods.md +10 -2
- package/package.json +10 -2
package/README.md
CHANGED
|
@@ -9,9 +9,11 @@
|
|
|
9
9
|
**Prayer times that match the published timetable to the printed minute.**
|
|
10
10
|
Each national authority's own calculation method, worked out again from its
|
|
11
11
|
published times and checked day by day against its timetables: <!--fig:total.off-->0<!--/fig--> of
|
|
12
|
-
<!--fig:total.times-->
|
|
12
|
+
<!--fig:total.times-->73,645,454<!--/fig--> times off the printed minute. Free for any app, site or
|
|
13
13
|
mosque to use.
|
|
14
14
|
|
|
15
|
+
[](#usage)
|
|
16
|
+
|
|
15
17
|
```sh
|
|
16
18
|
npm install mihrab-methods
|
|
17
19
|
```
|
|
@@ -35,14 +37,14 @@ The full API, the HTTP server and the per-authority imports are in
|
|
|
35
37
|
<!-- certification-table:start -->
|
|
36
38
|
| Authority | Tables matched | Places | Times checked | Off the printed minute | By the method alone | Correction entries | Checked over |
|
|
37
39
|
|---|---|---:|---:|---:|---:|---:|---|
|
|
38
|
-
| **Sweden** | Islamiska Förbundet’s tables | 107 |
|
|
40
|
+
| **Sweden** | Islamiska Förbundet’s tables | 107 | 63,114 | **0** | 99.968 % | 270 | 11 Oct 2026 → 14 Dec 2027 |
|
|
39
41
|
| | Diyanet’s own tables | 159 | 1,393,794 | **0** | 99.981 % | | 1 Jan 2024 → 31 Dec 2027 |
|
|
40
|
-
| **Diyanet** | its tables worldwide | 8,
|
|
42
|
+
| **Diyanet** | its tables worldwide | 8,318 | 71,630,078 | **0** | 99.986 % | 9,357 | 1 Jan 2024 → 31 Dec 2027 |
|
|
41
43
|
| **Morocco** | Habous | 164 | 94,350 | **0** | 99.879 % | 114 | 27 Aug 2026 → 30 Nov 2026 |
|
|
42
44
|
| **Algeria** | Ministry of Religious Affairs | 68 | 101,184 | **0** | 99.365 % | 642 | 1 Oct 2026 → 5 Jun 2027 |
|
|
43
|
-
| **Indonesia** | Kemenag | 517 | 362,934 | **0** | 99.
|
|
45
|
+
| **Indonesia** | Kemenag | 517 | 362,934 | **0** | 99.935 % | 234 | 7 Oct 2026 → 31 Jan 2027 |
|
|
44
46
|
|
|
45
|
-
5 of 5 methods certified; 0 of
|
|
47
|
+
5 of 5 methods certified; 0 of 73,645,454 times off the printed minute. Last checked 9 November 2026. Generated from [`certification.json`](certification.json) by `scripts/readme.mjs`.
|
|
46
48
|
<!-- certification-table:end -->
|
|
47
49
|
|
|
48
50
|
"By the method alone" is the formula without its correction list. The list
|
|
@@ -97,14 +99,12 @@ as fixed addresses and the details: [docs/feed.md](docs/feed.md).
|
|
|
97
99
|
## Usage
|
|
98
100
|
|
|
99
101
|
<!-- usage:start -->
|
|
100
|
-

|
|
101
|
-
|
|
102
102
|
| | Last 7 days | Last 30 days | Since the first release |
|
|
103
103
|
|---|---:|---:|---:|
|
|
104
|
-
| npm downloads |
|
|
105
|
-
| API requests |
|
|
104
|
+
| npm downloads | 264 | 977 | 977 |
|
|
105
|
+
| API requests | 1,900 | 1,900 | 1,900 (since 2026-11-04) |
|
|
106
106
|
|
|
107
|
-
Counts only, to 2026-11-
|
|
107
|
+
Counts only, to 2026-11-08, updated weekly (`scripts/stats.mjs`, history in [docs/stats.json](docs/stats.json)): npm's public download counts — every install counts, CI and mirrors included — and Cloudflare's request counts for the API. No addresses, queries or places are recorded anywhere.
|
|
108
108
|
<!-- usage:end -->
|
|
109
109
|
|
|
110
110
|
## More
|
|
@@ -113,6 +113,7 @@ Counts only, to 2026-11-03, updated weekly (`scripts/stats.mjs`, history in [doc
|
|
|
113
113
|
|---|---|
|
|
114
114
|
| [docs/usage.md](docs/usage.md) | The API, the entry points, the HTTP server, this repository's commands and layout |
|
|
115
115
|
| [docs/methods.md](docs/methods.md) | Each method in words and formulas, for ports to other languages; `test/vectors.json` to check one |
|
|
116
|
+
| [ports/](ports/README.md) | The methods in Python, Swift, Kotlin and Dart, each held to `test/vectors.json` |
|
|
116
117
|
| [docs/status.md](docs/status.md) | Per method: what is certified, what was set aside, what is not yet covered |
|
|
117
118
|
| [docs/diyanet.md](docs/diyanet.md) | What Diyanet's worldwide tables add: Isha by country, midsummer, Türkiye's points, tables on their own clocks |
|
|
118
119
|
| [docs/feed.md](docs/feed.md) | `certification.json` and the lists as a feed: schemas, hashes, revisions, tags |
|
package/certification.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"sweden": {
|
|
3
3
|
"certified": true,
|
|
4
|
-
"checkedAt": "2026-11-
|
|
4
|
+
"checkedAt": "2026-11-09",
|
|
5
5
|
"places": 108,
|
|
6
6
|
"checks": [
|
|
7
7
|
{
|
|
8
8
|
"tables": "Sweden — Islamiska Förbundet’s tables",
|
|
9
9
|
"places": 107,
|
|
10
|
-
"times":
|
|
10
|
+
"times": 63114,
|
|
11
11
|
"off": 0,
|
|
12
12
|
"offWithoutCorrections": 20,
|
|
13
13
|
"from": "2026-10-11",
|
|
14
|
-
"to": "2027-12-
|
|
14
|
+
"to": "2027-12-14",
|
|
15
15
|
"setAside": {
|
|
16
16
|
"misplaced": [],
|
|
17
|
-
"sourceFaults":
|
|
18
|
-
"copiedRows":
|
|
17
|
+
"sourceFaults": 35491,
|
|
18
|
+
"copiedRows": 696
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
{
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
},
|
|
39
39
|
"diyanet": {
|
|
40
40
|
"certified": true,
|
|
41
|
-
"checkedAt": "2026-11-
|
|
42
|
-
"places":
|
|
41
|
+
"checkedAt": "2026-11-11",
|
|
42
|
+
"places": 8318,
|
|
43
43
|
"checks": [
|
|
44
44
|
{
|
|
45
45
|
"tables": "Diyanet — its tables worldwide",
|
|
46
|
-
"places":
|
|
47
|
-
"times":
|
|
46
|
+
"places": 8318,
|
|
47
|
+
"times": 71630078,
|
|
48
48
|
"off": 0,
|
|
49
|
-
"offWithoutCorrections":
|
|
49
|
+
"offWithoutCorrections": 9368,
|
|
50
50
|
"from": "2024-01-01",
|
|
51
51
|
"to": "2027-12-31"
|
|
52
52
|
}
|
|
@@ -54,14 +54,14 @@
|
|
|
54
54
|
"corrections": {
|
|
55
55
|
"from": "2024-01-01",
|
|
56
56
|
"to": "2027-12-31",
|
|
57
|
-
"entries":
|
|
58
|
-
"sha256": "
|
|
57
|
+
"entries": 9357,
|
|
58
|
+
"sha256": "a8c6a7305611f8dcedc04a64efb8dd150d9a588c2b3ac3391bfb776d70a2ec83"
|
|
59
59
|
},
|
|
60
60
|
"revision": 1
|
|
61
61
|
},
|
|
62
62
|
"morocco": {
|
|
63
63
|
"certified": true,
|
|
64
|
-
"checkedAt": "2026-11-
|
|
64
|
+
"checkedAt": "2026-11-11",
|
|
65
65
|
"places": 164,
|
|
66
66
|
"checks": [
|
|
67
67
|
{
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
},
|
|
85
85
|
"algeria": {
|
|
86
86
|
"certified": true,
|
|
87
|
-
"checkedAt": "2026-11-
|
|
87
|
+
"checkedAt": "2026-11-09",
|
|
88
88
|
"places": 68,
|
|
89
89
|
"checks": [
|
|
90
90
|
{
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
},
|
|
108
108
|
"indonesia": {
|
|
109
109
|
"certified": true,
|
|
110
|
-
"checkedAt": "2026-11-
|
|
110
|
+
"checkedAt": "2026-11-11",
|
|
111
111
|
"places": 517,
|
|
112
112
|
"checks": [
|
|
113
113
|
{
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"places": 517,
|
|
116
116
|
"times": 362934,
|
|
117
117
|
"off": 0,
|
|
118
|
-
"offWithoutCorrections":
|
|
118
|
+
"offWithoutCorrections": 234,
|
|
119
119
|
"from": "2026-10-07",
|
|
120
120
|
"to": "2027-01-31"
|
|
121
121
|
}
|
|
@@ -123,9 +123,9 @@
|
|
|
123
123
|
"corrections": {
|
|
124
124
|
"from": "2026-10-07",
|
|
125
125
|
"to": "2027-01-31",
|
|
126
|
-
"entries":
|
|
127
|
-
"sha256": "
|
|
126
|
+
"entries": 234,
|
|
127
|
+
"sha256": "a3f1c30576ddddbfda6cadabe442e1bcf3fb476b018b269d7d4783edd4e39d03"
|
|
128
128
|
},
|
|
129
|
-
"revision":
|
|
129
|
+
"revision": 2
|
|
130
130
|
}
|
|
131
131
|
}
|