@typescriptify/sweph 1.0.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.
Files changed (211) hide show
  1. package/README.md +422 -0
  2. package/ephe/semo_18.se1 +0 -0
  3. package/ephe/sepl_18.se1 +0 -0
  4. package/originalCode/.eslintrc.json +124 -0
  5. package/originalCode/.gitattributes +2 -0
  6. package/originalCode/.github/FUNDING.yml +5 -0
  7. package/originalCode/.github/workflows/test.yml +35 -0
  8. package/originalCode/LICENSE +840 -0
  9. package/originalCode/README.md +91 -0
  10. package/originalCode/binding.gyp +41 -0
  11. package/originalCode/constants.js +366 -0
  12. package/originalCode/docs.gif +0 -0
  13. package/originalCode/index.d.ts +5115 -0
  14. package/originalCode/index.js +7 -0
  15. package/originalCode/index.mjs +109 -0
  16. package/originalCode/package.json +55 -0
  17. package/originalCode/src/functions/azalt.cpp +39 -0
  18. package/originalCode/src/functions/azalt_rev.cpp +35 -0
  19. package/originalCode/src/functions/calc.cpp +29 -0
  20. package/originalCode/src/functions/calc_pctr.cpp +31 -0
  21. package/originalCode/src/functions/calc_ut.cpp +29 -0
  22. package/originalCode/src/functions/close.cpp +6 -0
  23. package/originalCode/src/functions/cotrans.cpp +26 -0
  24. package/originalCode/src/functions/cotrans_sp.cpp +26 -0
  25. package/originalCode/src/functions/cs2degstr.cpp +19 -0
  26. package/originalCode/src/functions/cs2lonlatstr.cpp +23 -0
  27. package/originalCode/src/functions/cs2timestr.cpp +23 -0
  28. package/originalCode/src/functions/csnorm.cpp +15 -0
  29. package/originalCode/src/functions/csroundsec.cpp +15 -0
  30. package/originalCode/src/functions/d2l.cpp +15 -0
  31. package/originalCode/src/functions/date_conversion.cpp +30 -0
  32. package/originalCode/src/functions/day_of_week.cpp +15 -0
  33. package/originalCode/src/functions/degnorm.cpp +15 -0
  34. package/originalCode/src/functions/deltat.cpp +15 -0
  35. package/originalCode/src/functions/deltat_ex.cpp +24 -0
  36. package/originalCode/src/functions/difcs2n.cpp +19 -0
  37. package/originalCode/src/functions/difcsn.cpp +19 -0
  38. package/originalCode/src/functions/difdeg2n.cpp +19 -0
  39. package/originalCode/src/functions/difdegn.cpp +19 -0
  40. package/originalCode/src/functions/fixstar.cpp +32 -0
  41. package/originalCode/src/functions/fixstar2.cpp +32 -0
  42. package/originalCode/src/functions/fixstar2_mag.cpp +28 -0
  43. package/originalCode/src/functions/fixstar2_ut.cpp +32 -0
  44. package/originalCode/src/functions/fixstar_mag.cpp +28 -0
  45. package/originalCode/src/functions/fixstar_ut.cpp +32 -0
  46. package/originalCode/src/functions/gauquelin_sector.cpp +44 -0
  47. package/originalCode/src/functions/get_ayanamsa.cpp +15 -0
  48. package/originalCode/src/functions/get_ayanamsa_ex.cpp +27 -0
  49. package/originalCode/src/functions/get_ayanamsa_ex_ut.cpp +27 -0
  50. package/originalCode/src/functions/get_ayanamsa_name.cpp +19 -0
  51. package/originalCode/src/functions/get_ayanamsa_ut.cpp +15 -0
  52. package/originalCode/src/functions/get_current_file_data.cpp +28 -0
  53. package/originalCode/src/functions/get_library_path.cpp +8 -0
  54. package/originalCode/src/functions/get_orbital_elements.cpp +29 -0
  55. package/originalCode/src/functions/get_planet_name.cpp +19 -0
  56. package/originalCode/src/functions/get_tid_acc.cpp +7 -0
  57. package/originalCode/src/functions/heliacal_pheno_ut.cpp +52 -0
  58. package/originalCode/src/functions/heliacal_ut.cpp +52 -0
  59. package/originalCode/src/functions/helio_cross.cpp +33 -0
  60. package/originalCode/src/functions/helio_cross_ut.cpp +33 -0
  61. package/originalCode/src/functions/house_name.cpp +20 -0
  62. package/originalCode/src/functions/house_pos.cpp +36 -0
  63. package/originalCode/src/functions/houses.cpp +35 -0
  64. package/originalCode/src/functions/houses_armc.cpp +38 -0
  65. package/originalCode/src/functions/houses_armc_ex2.cpp +47 -0
  66. package/originalCode/src/functions/houses_ex.cpp +37 -0
  67. package/originalCode/src/functions/houses_ex2.cpp +46 -0
  68. package/originalCode/src/functions/jdet_to_utc.cpp +38 -0
  69. package/originalCode/src/functions/jdut1_to_utc.cpp +38 -0
  70. package/originalCode/src/functions/julday.cpp +25 -0
  71. package/originalCode/src/functions/lat_to_lmt.cpp +27 -0
  72. package/originalCode/src/functions/lmt_to_lat.cpp +27 -0
  73. package/originalCode/src/functions/lun_eclipse_how.cpp +34 -0
  74. package/originalCode/src/functions/lun_eclipse_when.cpp +31 -0
  75. package/originalCode/src/functions/lun_eclipse_when_loc.cpp +39 -0
  76. package/originalCode/src/functions/lun_occult_when_glob.cpp +35 -0
  77. package/originalCode/src/functions/lun_occult_when_loc.cpp +43 -0
  78. package/originalCode/src/functions/lun_occult_where.cpp +34 -0
  79. package/originalCode/src/functions/mooncross.cpp +26 -0
  80. package/originalCode/src/functions/mooncross_node.cpp +30 -0
  81. package/originalCode/src/functions/mooncross_node_ut.cpp +30 -0
  82. package/originalCode/src/functions/mooncross_ut.cpp +26 -0
  83. package/originalCode/src/functions/nod_aps.cpp +42 -0
  84. package/originalCode/src/functions/nod_aps_ut.cpp +42 -0
  85. package/originalCode/src/functions/orbit_max_min_true_distance.cpp +37 -0
  86. package/originalCode/src/functions/pheno.cpp +29 -0
  87. package/originalCode/src/functions/pheno_ut.cpp +29 -0
  88. package/originalCode/src/functions/radnorm.cpp +15 -0
  89. package/originalCode/src/functions/refrac.cpp +23 -0
  90. package/originalCode/src/functions/refrac_extended.cpp +32 -0
  91. package/originalCode/src/functions/revjul.cpp +33 -0
  92. package/originalCode/src/functions/rise_trans.cpp +44 -0
  93. package/originalCode/src/functions/rise_trans_true_hor.cpp +46 -0
  94. package/originalCode/src/functions/set_delta_t_userdef.cpp +14 -0
  95. package/originalCode/src/functions/set_ephe_path.cpp +14 -0
  96. package/originalCode/src/functions/set_jpl_file.cpp +14 -0
  97. package/originalCode/src/functions/set_sid_mode.cpp +20 -0
  98. package/originalCode/src/functions/set_tid_acc.cpp +14 -0
  99. package/originalCode/src/functions/set_topo.cpp +20 -0
  100. package/originalCode/src/functions/sidtime.cpp +15 -0
  101. package/originalCode/src/functions/sidtime0.cpp +21 -0
  102. package/originalCode/src/functions/sol_eclipse_how.cpp +34 -0
  103. package/originalCode/src/functions/sol_eclipse_when_glob.cpp +31 -0
  104. package/originalCode/src/functions/sol_eclipse_when_loc.cpp +39 -0
  105. package/originalCode/src/functions/sol_eclipse_where.cpp +30 -0
  106. package/originalCode/src/functions/solcross.cpp +26 -0
  107. package/originalCode/src/functions/solcross_ut.cpp +26 -0
  108. package/originalCode/src/functions/split_deg.cpp +35 -0
  109. package/originalCode/src/functions/time_equ.cpp +25 -0
  110. package/originalCode/src/functions/utc_time_zone.cpp +48 -0
  111. package/originalCode/src/functions/utc_to_jd.cpp +37 -0
  112. package/originalCode/src/functions/version.cpp +8 -0
  113. package/originalCode/src/functions/vis_limit_mag.cpp +50 -0
  114. package/originalCode/src/sweph.cpp +150 -0
  115. package/originalCode/src/sweph.h +119 -0
  116. package/originalCode/swisseph/swecl.c +6428 -0
  117. package/originalCode/swisseph/swedate.c +588 -0
  118. package/originalCode/swisseph/swedate.h +81 -0
  119. package/originalCode/swisseph/swehel.c +3511 -0
  120. package/originalCode/swisseph/swehouse.c +3143 -0
  121. package/originalCode/swisseph/swehouse.h +98 -0
  122. package/originalCode/swisseph/swejpl.c +958 -0
  123. package/originalCode/swisseph/swejpl.h +103 -0
  124. package/originalCode/swisseph/swemmoon.c +1930 -0
  125. package/originalCode/swisseph/swemplan.c +967 -0
  126. package/originalCode/swisseph/swemptab.h +10640 -0
  127. package/originalCode/swisseph/swenut2000a.h +2819 -0
  128. package/originalCode/swisseph/sweodef.h +326 -0
  129. package/originalCode/swisseph/sweph.c +8614 -0
  130. package/originalCode/swisseph/sweph.h +849 -0
  131. package/originalCode/swisseph/swephexp.h +1020 -0
  132. package/originalCode/swisseph/swephlib.c +4634 -0
  133. package/originalCode/swisseph/swephlib.h +189 -0
  134. package/package.json +28 -0
  135. package/scripts/gen-swemptab.js +177 -0
  136. package/scripts/gen-swenut2000a.js +106 -0
  137. package/src/SwissEph/README.md +268 -0
  138. package/src/SwissEph/UseCases/Ayanamsa.md +363 -0
  139. package/src/SwissEph/UseCases/AzimuthAltitude.md +408 -0
  140. package/src/SwissEph/UseCases/CoordinateSystems.md +337 -0
  141. package/src/SwissEph/UseCases/DateAndTime.md +368 -0
  142. package/src/SwissEph/UseCases/DeltaT.md +258 -0
  143. package/src/SwissEph/UseCases/EphemerisFiles.md +338 -0
  144. package/src/SwissEph/UseCases/FixedStars.md +300 -0
  145. package/src/SwissEph/UseCases/GauquelinSectors.md +304 -0
  146. package/src/SwissEph/UseCases/HeliacalEvents.md +396 -0
  147. package/src/SwissEph/UseCases/HelioCrossings.md +325 -0
  148. package/src/SwissEph/UseCases/HousePosition.md +254 -0
  149. package/src/SwissEph/UseCases/HouseSystems.md +279 -0
  150. package/src/SwissEph/UseCases/LunarEclipse.md +326 -0
  151. package/src/SwissEph/UseCases/MeridianTransit.md +279 -0
  152. package/src/SwissEph/UseCases/MoonCrossings.md +373 -0
  153. package/src/SwissEph/UseCases/NodesAndApsides.md +307 -0
  154. package/src/SwissEph/UseCases/Occultation.md +352 -0
  155. package/src/SwissEph/UseCases/OrbitalElements.md +469 -0
  156. package/src/SwissEph/UseCases/Phenomena.md +328 -0
  157. package/src/SwissEph/UseCases/PlanetPositions.md +366 -0
  158. package/src/SwissEph/UseCases/Planetocentric.md +278 -0
  159. package/src/SwissEph/UseCases/Refraction.md +314 -0
  160. package/src/SwissEph/UseCases/RiseAndSet.md +433 -0
  161. package/src/SwissEph/UseCases/SiderealTime.md +302 -0
  162. package/src/SwissEph/UseCases/SolarEclipse.md +379 -0
  163. package/src/SwissEph/UseCases/SunCrossings.md +275 -0
  164. package/src/SwissEph/UseCases/TopocentricCorrection.md +335 -0
  165. package/src/SwissEph/errors.ts +10 -0
  166. package/src/SwissEph/index.ts +823 -0
  167. package/src/SwissEph/types.ts +291 -0
  168. package/src/constants.ts +762 -0
  169. package/src/file-reader.ts +147 -0
  170. package/src/index.ts +10 -0
  171. package/src/swecl.ts +4526 -0
  172. package/src/swedate.ts +376 -0
  173. package/src/swehel.ts +1939 -0
  174. package/src/swehouse.ts +2167 -0
  175. package/src/swejpl.ts +470 -0
  176. package/src/swemmoon.ts +1318 -0
  177. package/src/swemplan.ts +585 -0
  178. package/src/swemptab.ts +4448 -0
  179. package/src/swenut2000a.ts +2763 -0
  180. package/src/sweph.ts +3993 -0
  181. package/src/swephlib.ts +2720 -0
  182. package/src/types.ts +490 -0
  183. package/tests/c-style/ayanamsa.test.ts +63 -0
  184. package/tests/c-style/config.test.ts +96 -0
  185. package/tests/c-style/crossings.test.ts +81 -0
  186. package/tests/c-style/date-time.test.ts +114 -0
  187. package/tests/c-style/eclipses.test.ts +84 -0
  188. package/tests/c-style/fixed-stars.test.ts +66 -0
  189. package/tests/c-style/heliacal.test.ts +34 -0
  190. package/tests/c-style/houses.test.ts +135 -0
  191. package/tests/c-style/math-utils.test.ts +160 -0
  192. package/tests/c-style/orbital.test.ts +78 -0
  193. package/tests/c-style/phenomena.test.ts +42 -0
  194. package/tests/c-style/planetocentric.test.ts +26 -0
  195. package/tests/c-style/planets.test.ts +117 -0
  196. package/tests/c-style/rise-set.test.ts +71 -0
  197. package/tests/helpers.ts +21 -0
  198. package/tests/modern/ayanamsa.test.ts +47 -0
  199. package/tests/modern/calc.test.ts +113 -0
  200. package/tests/modern/config.test.ts +46 -0
  201. package/tests/modern/crossings.test.ts +45 -0
  202. package/tests/modern/eclipses.test.ts +81 -0
  203. package/tests/modern/errors.test.ts +71 -0
  204. package/tests/modern/heliacal.test.ts +30 -0
  205. package/tests/modern/houses.test.ts +87 -0
  206. package/tests/modern/orbital.test.ts +79 -0
  207. package/tests/modern/phenomena.test.ts +41 -0
  208. package/tests/modern/rise-set.test.ts +60 -0
  209. package/tests/modern/statics.test.ts +99 -0
  210. package/tests/modern/utilities.test.ts +70 -0
  211. package/tsconfig.json +20 -0
@@ -0,0 +1,291 @@
1
+ /* ================================================================
2
+ * SwissEph Wrapper — Public Return Types
3
+ * ================================================================ */
4
+
5
+ // Re-export existing types that already have good shape
6
+ export type { HouseResult, DateResult, UtcToJdResult, JdToUtcResult } from '../types';
7
+ export type { SplitDegResult } from '../swephlib';
8
+
9
+ /* ---- Core position ---- */
10
+
11
+ export interface PlanetPosition {
12
+ longitude: number;
13
+ latitude: number;
14
+ distance: number;
15
+ longitudeSpeed: number;
16
+ latitudeSpeed: number;
17
+ distanceSpeed: number;
18
+ /** Flags actually used for the computation (may differ from input) */
19
+ flags: number;
20
+ }
21
+
22
+ export interface StarPosition extends PlanetPosition {
23
+ /** Canonical star name returned by the engine */
24
+ starName: string;
25
+ }
26
+
27
+ /* ---- Nodes & Orbital ---- */
28
+
29
+ export interface NodesApsides {
30
+ ascendingNode: PlanetPosition;
31
+ descendingNode: PlanetPosition;
32
+ perihelion: PlanetPosition;
33
+ aphelion: PlanetPosition;
34
+ }
35
+
36
+ export interface OrbitalElements {
37
+ semiAxis: number; // dret[0] a
38
+ eccentricity: number; // dret[1] e
39
+ inclination: number; // dret[2] i (deg)
40
+ ascNode: number; // dret[3] Ω (deg)
41
+ argPerihelion: number; // dret[4] ω (deg)
42
+ longPerihelion: number; // dret[5] ϖ (deg)
43
+ meanAnomaly: number; // dret[6] M (deg)
44
+ meanLongitude: number; // dret[7] L (deg)
45
+ dailyMotion: number; // dret[8] (deg/day)
46
+ tropicalPeriod: number; // dret[9] (years)
47
+ synodicPeriod: number; // dret[10] (days)
48
+ meanDailyMotion: number; // dret[11] (deg/day)
49
+ meanLongJ2000: number; // dret[12]
50
+ meanLongOfDate: number; // dret[13]
51
+ meanLongSpeed: number; // dret[14]
52
+ nodeJ2000: number; // dret[15]
53
+ nodeOfDate: number; // dret[16]
54
+ nodeSpeed: number; // dret[17]
55
+ perihelionJ2000: number; // dret[18]
56
+ perihelionOfDate: number; // dret[19]
57
+ perihelionSpeed: number; // dret[20]
58
+ }
59
+
60
+ export interface OrbitDistances {
61
+ max: number;
62
+ min: number;
63
+ true: number;
64
+ }
65
+
66
+ /* ---- Eclipse types (solar) ---- */
67
+
68
+ export interface SolarEclipseGlobal {
69
+ type: number;
70
+ maximum: number; // tret[0]
71
+ first: number; // tret[1] first contact
72
+ second: number; // tret[2] second contact
73
+ third: number; // tret[3] third contact
74
+ fourth: number; // tret[4] fourth contact
75
+ sunrise: number; // tret[5]
76
+ sunset: number; // tret[6]
77
+ }
78
+
79
+ export interface EclipseAttributes {
80
+ fraction: number; // attr[0]
81
+ ratio: number; // attr[1]
82
+ magnitude: number; // attr[2]
83
+ sarosCycle: number; // attr[3]
84
+ sarosMember: number; // attr[4]
85
+ solarDiameter: number; // attr[5]
86
+ lunarDiameter: number; // attr[6]
87
+ sarosRepetition: number; // attr[7]
88
+ eclipseLongitude: number; // attr[8]
89
+ eclipseLatitude: number; // attr[9]
90
+ eclipseMagnitude: number; // attr[10]
91
+ sunAltitude: number; // attr[11]
92
+ }
93
+
94
+ export interface SolarEclipseLocal {
95
+ type: number;
96
+ maximum: number; // tret[0]
97
+ firstContact: number; // tret[1]
98
+ secondContact: number; // tret[2]
99
+ thirdContact: number; // tret[3]
100
+ fourthContact: number; // tret[4]
101
+ attributes: EclipseAttributes;
102
+ }
103
+
104
+ export interface SolarEclipseWhere {
105
+ type: number;
106
+ geopos: { longitude: number; latitude: number };
107
+ attributes: EclipseAttributes;
108
+ }
109
+
110
+ export interface SolarEclipseHow {
111
+ type: number;
112
+ attributes: EclipseAttributes;
113
+ }
114
+
115
+ /* ---- Eclipse types (lunar) ---- */
116
+
117
+ export interface LunarEclipseGlobal {
118
+ type: number;
119
+ maximum: number; // tret[0]
120
+ partialBegin: number; // tret[2]
121
+ partialEnd: number; // tret[3]
122
+ totalBegin: number; // tret[4]
123
+ totalEnd: number; // tret[5]
124
+ penumbralBegin: number; // tret[6]
125
+ penumbralEnd: number; // tret[7]
126
+ }
127
+
128
+ export interface LunarEclipseHow {
129
+ type: number;
130
+ umbraMagnitude: number; // attr[0]
131
+ penumbraMagnitude: number; // attr[1]
132
+ moonDiameter: number; // attr[5]
133
+ umbraDiameter: number; // attr[6]
134
+ penumbraDiameter: number; // attr[7]
135
+ sunDistanceFromNode: number;// attr[8]
136
+ }
137
+
138
+ export interface LunarEclipseLocal {
139
+ type: number;
140
+ maximum: number;
141
+ partialBegin: number;
142
+ partialEnd: number;
143
+ totalBegin: number;
144
+ totalEnd: number;
145
+ penumbralBegin: number;
146
+ penumbralEnd: number;
147
+ moonRise: number; // tret[8]
148
+ moonSet: number; // tret[9]
149
+ attributes: LunarEclipseHow;
150
+ }
151
+
152
+ /* ---- Occultation ---- */
153
+
154
+ export type OccultationGlobal = SolarEclipseGlobal;
155
+ export type OccultationLocal = SolarEclipseLocal;
156
+ export type OccultationWhere = SolarEclipseWhere;
157
+
158
+ /* ---- Rise/Set ---- */
159
+
160
+ export interface RiseSetResult {
161
+ /** Julian day of the event */
162
+ jd: number;
163
+ }
164
+
165
+ /* ---- Phenomena ---- */
166
+
167
+ export interface PhenoResult {
168
+ phaseAngle: number; // attr[0]
169
+ phase: number; // attr[1]
170
+ elongation: number; // attr[2]
171
+ apparentDiameter: number; // attr[3]
172
+ apparentMagnitude: number; // attr[4]
173
+ }
174
+
175
+ /* ---- Azimuth ---- */
176
+
177
+ export interface AzaltResult {
178
+ azimuth: number;
179
+ trueAltitude: number;
180
+ apparentAltitude: number;
181
+ }
182
+
183
+ export interface AzaltRevResult {
184
+ azimuth: number;
185
+ altitude: number;
186
+ }
187
+
188
+ /* ---- Crossing ---- */
189
+
190
+ export interface CrossingResult {
191
+ jd: number;
192
+ }
193
+
194
+ export interface MoonNodeCrossingResult {
195
+ jd: number;
196
+ longitude: number;
197
+ latitude: number;
198
+ }
199
+
200
+ /* ---- Heliacal ---- */
201
+
202
+ export interface HeliacalResult {
203
+ startVisible: number; // dret[0]
204
+ bestVisible: number; // dret[1]
205
+ endVisible: number; // dret[2]
206
+ }
207
+
208
+ export interface HeliacalPhenoResult {
209
+ /** Raw array of 30 heliacal phenomena values (darr[0..29]) */
210
+ raw: number[];
211
+ tcrescent: number; // darr[0]
212
+ tcrescentBest: number; // darr[1]
213
+ tcrescent3: number; // darr[2]
214
+ elong: number; // darr[3]
215
+ elongBest: number; // darr[4]
216
+ eDistArcVis: number; // darr[5]
217
+ altObj: number; // darr[6]
218
+ azObj: number; // darr[7]
219
+ altSun: number; // darr[8]
220
+ azSun: number; // darr[9]
221
+ altMoon: number; // darr[10]
222
+ azMoon: number; // darr[11]
223
+ elongMoon: number; // darr[12]
224
+ }
225
+
226
+ export interface VisualLimitResult {
227
+ /** Visual limiting magnitude */
228
+ limitingMagnitude: number; // dret[0]
229
+ altObject: number; // dret[1]
230
+ azObject: number; // dret[2]
231
+ altSun: number; // dret[3]
232
+ azSun: number; // dret[4]
233
+ altMoon: number; // dret[5]
234
+ azMoon: number; // dret[6]
235
+ elongMoon: number; // dret[7]
236
+ }
237
+
238
+ /* ---- Gauquelin ---- */
239
+
240
+ export interface GauquelinResult {
241
+ sector: number;
242
+ }
243
+
244
+ /* ---- Configuration ---- */
245
+
246
+ export interface GeoPosition {
247
+ longitude: number;
248
+ latitude: number;
249
+ altitude?: number;
250
+ }
251
+
252
+ export interface SwissEphOptions {
253
+ /** 'ut' (default) or 'et' — determines which raw function variant to call */
254
+ timeMode?: 'ut' | 'et';
255
+ /** Ephemeris source: 'moshier' (default), 'swisseph', or 'jpl' */
256
+ ephemeris?: 'moshier' | 'swisseph' | 'jpl';
257
+ /** Sidereal mode (SE_SIDM_* constant) */
258
+ siderealMode?: number;
259
+ /** T0 for custom sidereal mode */
260
+ siderealT0?: number;
261
+ /** Ayanamsa at T0 for custom sidereal mode */
262
+ siderealAyanT0?: number;
263
+ /** Topocentric observer position */
264
+ topo?: GeoPosition;
265
+ }
266
+
267
+ export interface RiseSetOptions {
268
+ /** Atmospheric pressure in mbar (default 1013.25) */
269
+ pressure?: number;
270
+ /** Temperature in Celsius (default 15) */
271
+ temperature?: number;
272
+ /** Additional rise/set bit flags (SE_BIT_*) */
273
+ flags?: number;
274
+ }
275
+
276
+ export interface HeliacalOptions {
277
+ /** Atmospheric pressure in mbar */
278
+ pressure?: number;
279
+ /** Temperature in Celsius */
280
+ temperature?: number;
281
+ /** Humidity in % */
282
+ humidity?: number;
283
+ /** Extinction coefficient */
284
+ extinction?: number;
285
+ /** Observer age in years */
286
+ observerAge?: number;
287
+ /** Snellen visual acuity ratio */
288
+ acuity?: number;
289
+ /** Additional heliacal flags */
290
+ flags?: number;
291
+ }