thai-astrology 0.1.5 → 0.1.7

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Thai Astrology
2
2
 
3
- Thai Astrology is a TypeScript library that recreates classical Thai astrological calculations. It converts birth details into the 12-channel chart, Tanuseth, planetary positions, and ruling-planet insights without relying on runtime dependencies.
3
+ Thai Astrology (โหราศาสตร์ไทย) is a TypeScript library that implements classical Thai astrological calculations. It converts birth details into the 12-channel chart lakna, Tanuseth, planetary positions without relying on runtime dependencies.
4
4
 
5
5
  ## Install
6
6
 
@@ -19,7 +19,7 @@ import {
19
19
  const chart = generateThaiAstrologyChart({
20
20
  day: 15,
21
21
  monthTh: 9,
22
- yearBe: 2566, // 2003 in BCE
22
+ yearBe: 2566, // 2023 in BCE
23
23
  hour: 14,
24
24
  minute: 45,
25
25
  province: "กรุงเทพมหานคร", // Bangkok
@@ -33,17 +33,6 @@ console.log(chart.sunPosition)
33
33
 
34
34
  For BCE dates, supply `yearBc` instead of `yearBe`.
35
35
 
36
- ```ts
37
- generateThaiAstrologyChart({
38
- day: 21,
39
- monthTh: 4,
40
- yearBc: -320,
41
- hour: 6,
42
- minute: 30,
43
- province: "เชียงใหม่",
44
- })
45
- ```
46
-
47
36
  Example output:
48
37
 
49
38
  ```text
@@ -56,6 +45,11 @@ Example output:
56
45
  [ 27, 29 ]
57
46
  ```
58
47
 
48
+ ## Key API
49
+
50
+ - `generateThaiAstrologyChart(input: CalculationInput): ThaiAstrologyChart` – runs the core calculations and returns planets, tanuseth,12 channel outputs, and ruling planets metadata when available.
51
+ - `formatChannelOutputs(chart, options?: { numerals?: "arabic" | "thai" } | "arabic" | "thai")` – strips channel labels and renders numbers in Arabic or Thai numerals.
52
+
59
53
  ## License
60
54
 
61
55
  MIT © Contributors
@@ -1 +1 @@
1
- {"version":3,"file":"astro-calculation.d.ts","sourceRoot":"","sources":["../../engine/astro-calculation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astro-calculation.d.ts","sourceRoot":"","sources":["../../engine/astro-calculation.ts"],"names":[],"mappings":"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"}
@@ -166,122 +166,134 @@ function wrap21600(value) {
166
166
  function calculateBaseValues(monthTh, yearBe, day, hour, minute) {
167
167
  const monthNum = ensureMonthTh(monthTh);
168
168
  const yearAd = yearBe - 543;
169
- const jy = monthNum > 2 ? yearAd : yearAd - 1;
170
- const jm = monthNum > 2 ? monthNum + 1 : monthNum + 13;
171
- const jc = Math.floor(jy * 0.01);
172
- const jdBase = Math.floor(jy * 365.25) + Math.floor(jm * 30.6) + day + 1720997 - jc + Math.floor(jc * 0.25);
173
- let D14, E11;
169
+ const julianYear = monthNum > 2 ? yearAd : yearAd - 1;
170
+ const julianMonth = monthNum > 2 ? monthNum + 1 : monthNum + 13;
171
+ const centuryComponent = Math.floor(julianYear * 0.01);
172
+ const julianDayBase = Math.floor(julianYear * 365.25) +
173
+ Math.floor(julianMonth * 30.6) +
174
+ day +
175
+ 1720997 -
176
+ centuryComponent +
177
+ Math.floor(centuryComponent * 0.25);
178
+ let julianDayInteger;
179
+ let fractionalDayBase;
174
180
  if (hour < 12) {
175
- D14 = jdBase - 1;
176
- E11 = hour / 24 - 0.5 + 1.5;
181
+ julianDayInteger = julianDayBase - 1;
182
+ fractionalDayBase = hour / 24 - 0.5 + 1.5;
177
183
  }
178
184
  else {
179
- D14 = jdBase;
180
- E11 = hour / 24 - 0.5;
185
+ julianDayInteger = julianDayBase;
186
+ fractionalDayBase = hour / 24 - 0.5;
181
187
  }
182
- const additionalTime = (hour / 60 + minute) / 60 / 60 / 24;
183
- const E14 = E11 + additionalTime;
184
- const julianDay = D14 + E14;
188
+ const fractionalDayOffset = (hour / 60 + minute) / 60 / 60 / 24;
189
+ const fractionalJulianDay = fractionalDayBase + fractionalDayOffset;
190
+ const julianDay = julianDayInteger + fractionalJulianDay;
185
191
  const relativeJulianDay = Math.round(julianDay - 1954167.5);
186
- const timeFraction = hour + minute / 60;
187
- const yearRelative1181 = yearBe - 1181;
188
- const solarCeiling = Math.ceil((292207 * yearRelative1181 + 373) / 800);
189
- const solarAdjF6 = yearRelative1181 * 0.25875 +
190
- Math.trunc(yearRelative1181 / 100 + 0.38) -
191
- Math.trunc(yearRelative1181 / 4 + 0.5) -
192
- Math.trunc(yearRelative1181 / 400 + 0.595) -
192
+ const timeOfDayHours = hour + minute / 60;
193
+ const relativeYearFrom1181 = yearBe - 1181;
194
+ const solarCalendarCeiling = Math.ceil((292207 * relativeYearFrom1181 + 373) / 800);
195
+ const solarEquationCorrection = relativeYearFrom1181 * 0.25875 +
196
+ Math.trunc(relativeYearFrom1181 / 100 + 0.38) -
197
+ Math.trunc(relativeYearFrom1181 / 4 + 0.5) -
198
+ Math.trunc(relativeYearFrom1181 / 400 + 0.595) -
193
199
  5.53375;
194
- const solarAdjDays = Math.trunc(solarAdjF6);
195
- const solarAdjHours = Math.trunc((solarAdjF6 - solarAdjDays) * 24);
196
- const solarAdjMinutes = Math.trunc(((solarAdjF6 - solarAdjDays) * 24 - solarAdjHours) * 60);
197
- const currentTimeF8 = hour * 60 + minute / 60;
198
- const solarAdjTimeF9 = solarAdjHours * 60 + solarAdjMinutes / 60;
199
- const timeComparisonIndicator = currentTimeF8 > solarAdjTimeF9 ? 1 : 2;
200
- let solarCalcYear;
201
- if (relativeJulianDay < solarCeiling || (relativeJulianDay === solarCeiling && timeComparisonIndicator === 2)) {
202
- solarCalcYear = yearRelative1181 - 1;
200
+ const solarCorrectionDays = Math.trunc(solarEquationCorrection);
201
+ const solarCorrectionHours = Math.trunc((solarEquationCorrection - solarCorrectionDays) * 24);
202
+ const solarCorrectionMinutes = Math.trunc(((solarEquationCorrection - solarCorrectionDays) * 24 - solarCorrectionHours) * 60);
203
+ const currentTimeMinutes = hour * 60 + minute / 60;
204
+ const solarCorrectionMinutesTotal = solarCorrectionHours * 60 + solarCorrectionMinutes / 60;
205
+ const solarCorrectionComparison = currentTimeMinutes > solarCorrectionMinutesTotal ? 1 : 2;
206
+ let solarCycleYear;
207
+ if (relativeJulianDay < solarCalendarCeiling ||
208
+ (relativeJulianDay === solarCalendarCeiling && solarCorrectionComparison === 2)) {
209
+ solarCycleYear = relativeYearFrom1181 - 1;
203
210
  }
204
211
  else {
205
- solarCalcYear = yearRelative1181;
212
+ solarCycleYear = relativeYearFrom1181;
206
213
  }
207
- const intermediateSolarDate = Math.trunc((solarCalcYear * 292207) / 800 + 373 / 800) + 1;
208
- const B21Val = ((relativeJulianDay - 1) * 800 + Math.trunc((timeFraction * 800) / 24) - 373) % 292207;
209
- const C22Val = B21Val % 24350;
210
- const B22Val = Math.floor(B21Val / 24350);
211
- const B23Val = Math.floor(C22Val / 811);
212
- const C23Val = C22Val % 811;
213
- const B24Val = Math.floor(C23Val / 14) - 3;
214
- const D25Val = B22Val * 1800 + B23Val * 60 + B24Val;
215
- const solarPositionMean = wrap21600(D25Val);
216
- const solarPositionRaw = wrap21600(solarPositionMean - 23);
217
- const E18Val = B21Val >= 364 ? solarCalcYear - 610 : solarCalcYear - 611;
218
- const solarCalcBase = E18Val * 21600 + solarPositionRaw;
219
- return [relativeJulianDay, timeFraction, solarCalcBase, solarPositionRaw, solarPositionMean];
214
+ const solarCyclePosition = ((relativeJulianDay - 1) * 800 + Math.trunc((timeOfDayHours * 800) / 24) - 373) % 292207;
215
+ const solarCycleRemainder = solarCyclePosition % 24350;
216
+ const solarCycleTurns = Math.floor(solarCyclePosition / 24350);
217
+ const solarCycleDegrees = Math.floor(solarCycleRemainder / 811);
218
+ const solarCycleDegreeRemainder = solarCycleRemainder % 811;
219
+ const solarCycleMinutes = Math.floor(solarCycleDegreeRemainder / 14) - 3;
220
+ const solarMeanLongitudeRaw = solarCycleTurns * 1800 + solarCycleDegrees * 60 + solarCycleMinutes;
221
+ const solarLongitudeMean = wrap21600(solarMeanLongitudeRaw);
222
+ const solarLongitudeCorrected = wrap21600(solarLongitudeMean - 23);
223
+ const solarCycleBaseOffset = solarCyclePosition >= 364 ? solarCycleYear - 610 : solarCycleYear - 611;
224
+ const solarCycleBaseMinutes = solarCycleBaseOffset * 21600 + solarLongitudeCorrected;
225
+ return {
226
+ relativeJulianDay,
227
+ timeOfDayHours,
228
+ solarCycleBaseMinutes,
229
+ solarLongitudeCorrected,
230
+ solarLongitudeMean,
231
+ };
220
232
  }
221
- function getQuadrantVals(value) {
222
- const wrappedInput = wrap21600(value);
223
- const quadrant = Math.floor(wrappedInput / 5400) + 1;
224
- const signMultiplier = [1, 2].includes(quadrant) ? -1 : 1;
225
- let quadrantVal;
226
- if (quadrant === 1)
227
- quadrantVal = wrappedInput;
228
- else if (quadrant === 2)
229
- quadrantVal = 10800 - wrappedInput;
230
- else if (quadrant === 3)
231
- quadrantVal = wrappedInput - 10800;
233
+ function describeQuadrant(value) {
234
+ const normalizedValue = wrap21600(value);
235
+ const quadrantIndex = Math.floor(normalizedValue / 5400) + 1;
236
+ const directionMultiplier = [1, 2].includes(quadrantIndex) ? -1 : 1;
237
+ let quadrantArcMinutes;
238
+ if (quadrantIndex === 1)
239
+ quadrantArcMinutes = normalizedValue;
240
+ else if (quadrantIndex === 2)
241
+ quadrantArcMinutes = 10800 - normalizedValue;
242
+ else if (quadrantIndex === 3)
243
+ quadrantArcMinutes = normalizedValue - 10800;
232
244
  else
233
- quadrantVal = 21600 - wrappedInput;
234
- return [quadrant, quadrantVal, signMultiplier];
245
+ quadrantArcMinutes = 21600 - normalizedValue;
246
+ return { quadrantIndex, quadrantArcMinutes, directionMultiplier };
235
247
  }
236
- function getTableAdj(quadrantVal) {
237
- const baseIndex = Math.floor(quadrantVal / 1800);
238
- const val1 = QUADRANT_ADJUST_TABLE[baseIndex % 4];
239
- const val2 = QUADRANT_ADJUST_TABLE[(baseIndex + 1) % 4];
240
- const interpFactor = quadrantVal / 1800 - baseIndex;
241
- const adj = Math.round((interpFactor * (val2 - val1) + val1) * 60);
242
- return adj;
248
+ function lookupQuadrantAdjustment(quadrantArcMinutes) {
249
+ const baseIndex = Math.floor(quadrantArcMinutes / 1800);
250
+ const lowerValue = QUADRANT_ADJUST_TABLE[baseIndex % 4];
251
+ const upperValue = QUADRANT_ADJUST_TABLE[(baseIndex + 1) % 4];
252
+ const interpolationFactor = quadrantArcMinutes / 1800 - baseIndex;
253
+ const interpolated = interpolationFactor * (upperValue - lowerValue) + lowerValue;
254
+ return Math.round(interpolated * 60);
243
255
  }
244
- function getSecondaryAdjParams(value) {
245
- const wrappedInput = wrap21600(value);
246
- const quadrant = Math.floor(wrappedInput / 5400) + 1;
247
- let secondaryVal;
248
- if (quadrant === 1)
249
- secondaryVal = 5400 - wrappedInput;
250
- else if (quadrant === 2)
251
- secondaryVal = wrappedInput - 5400;
252
- else if (quadrant === 3)
253
- secondaryVal = 16200 - wrappedInput;
256
+ function getSecondaryAdjustmentParameters(value) {
257
+ const normalizedValue = wrap21600(value);
258
+ const quadrantIndex = Math.floor(normalizedValue / 5400) + 1;
259
+ let secondaryArcMinutes;
260
+ if (quadrantIndex === 1)
261
+ secondaryArcMinutes = 5400 - normalizedValue;
262
+ else if (quadrantIndex === 2)
263
+ secondaryArcMinutes = normalizedValue - 5400;
264
+ else if (quadrantIndex === 3)
265
+ secondaryArcMinutes = 16200 - normalizedValue;
254
266
  else
255
- secondaryVal = wrappedInput - 16200;
256
- const baseIndex = Math.floor(secondaryVal / 1800);
257
- const val1 = QUADRANT_ADJUST_TABLE[baseIndex % 4];
258
- const val2 = QUADRANT_ADJUST_TABLE[(baseIndex + 1) % 4];
259
- const interpFactor = secondaryVal / 1800 - baseIndex;
260
- const interpAdj = Math.round(interpFactor * (val2 - val1) + val1 + 0.5);
261
- const g66Val = Math.floor(interpAdj / 2);
262
- const signMultSecondary = [1, 4].includes(quadrant) ? 1 : -1;
263
- return [g66Val, signMultSecondary, interpAdj];
267
+ secondaryArcMinutes = normalizedValue - 16200;
268
+ const baseIndex = Math.floor(secondaryArcMinutes / 1800);
269
+ const lowerValue = QUADRANT_ADJUST_TABLE[baseIndex % 4];
270
+ const upperValue = QUADRANT_ADJUST_TABLE[(baseIndex + 1) % 4];
271
+ const interpolationFactor = secondaryArcMinutes / 1800 - baseIndex;
272
+ const interpolatedAdjustment = Math.round(interpolationFactor * (upperValue - lowerValue) + lowerValue + 0.5);
273
+ const halfAdjustment = Math.floor(interpolatedAdjustment / 2);
274
+ const secondaryDirection = [1, 4].includes(quadrantIndex) ? 1 : -1;
275
+ return { halfAdjustment, secondaryDirection, interpolatedAdjustment };
264
276
  }
265
277
  function applyPlanetaryAdjustments(initialPos, baseCalcVal, constants) {
266
278
  // First Adjustment Cycle
267
- const val51 = initialPos - constants.k51;
268
- const [, quadVal1, signMult1] = getQuadrantVals(val51);
269
- const adj1 = getTableAdj(quadVal1);
270
- const [g66Val1, signMultSec1] = getSecondaryAdjParams(wrap21600(val51));
271
- const denom1 = constants.k67Base + g66Val1 * signMultSec1;
272
- const appliedAdj1 = denom1 !== 0 ? Math.round((adj1 * 60) / denom1) : 0;
273
- const posAfterAdj1 = initialPos + appliedAdj1 * signMult1;
279
+ const primaryOffset = initialPos - constants.primaryOffsetBaseline;
280
+ const { quadrantArcMinutes: primaryQuadrantArc, directionMultiplier: primaryDirection } = describeQuadrant(primaryOffset);
281
+ const primaryTableAdjustment = lookupQuadrantAdjustment(primaryQuadrantArc);
282
+ const { halfAdjustment: primaryHalfAdjustment, secondaryDirection: primarySecondaryDirection, } = getSecondaryAdjustmentParameters(wrap21600(primaryOffset));
283
+ const primaryDenominator = constants.primaryDenominatorBase + primaryHalfAdjustment * primarySecondaryDirection;
284
+ const primaryAdjustment = primaryDenominator !== 0 ? Math.round((primaryTableAdjustment * 60) / primaryDenominator) : 0;
285
+ const positionAfterPrimaryAdjustment = initialPos + primaryAdjustment * primaryDirection;
274
286
  // Second Adjustment Cycle
275
- const val71 = wrap21600(posAfterAdj1) - baseCalcVal;
276
- const [, quadVal2, signMult2] = getQuadrantVals(val71);
277
- const adj2 = getTableAdj(quadVal2);
278
- const f86Val = Math.round(Math.round(adj2 / 60) / 3);
279
- const f87Val = Math.round(denom1 * constants.k87Mult);
280
- const f88Val = f86Val + f87Val;
281
- const [, signMultSec2, f85Val] = getSecondaryAdjParams(wrap21600(val71));
282
- const denom2 = f88Val + f85Val * signMultSec2;
283
- const appliedAdj2 = denom2 !== 0 ? Math.round((adj2 * 60) / denom2) : 0;
284
- const finalPos = wrap21600(posAfterAdj1) + appliedAdj2 * signMult2;
287
+ const secondaryOffset = wrap21600(positionAfterPrimaryAdjustment) - baseCalcVal;
288
+ const { quadrantArcMinutes: secondaryQuadrantArc, directionMultiplier: secondaryDirection } = describeQuadrant(secondaryOffset);
289
+ const secondaryTableAdjustment = lookupQuadrantAdjustment(secondaryQuadrantArc);
290
+ const roundedSecondaryAdjustment = Math.round(Math.round(secondaryTableAdjustment / 60) / 3);
291
+ const scaledPrimaryDenominator = Math.round(primaryDenominator * constants.secondaryScaleFactor);
292
+ const secondaryNumeratorBase = roundedSecondaryAdjustment + scaledPrimaryDenominator;
293
+ const { secondaryDirection: interpolationDirection, interpolatedAdjustment: secondaryInterpolatedAdjustment, } = getSecondaryAdjustmentParameters(wrap21600(secondaryOffset));
294
+ const secondaryDenominator = secondaryNumeratorBase + secondaryInterpolatedAdjustment * interpolationDirection;
295
+ const secondaryAdjustment = secondaryDenominator !== 0 ? Math.round((secondaryTableAdjustment * 60) / secondaryDenominator) : 0;
296
+ const finalPos = wrap21600(positionAfterPrimaryAdjustment) + secondaryAdjustment * secondaryDirection;
285
297
  return wrap21600(finalPos);
286
298
  }
287
299
  function getSignIndex(finalPos) {
@@ -291,267 +303,260 @@ function getSignIndex(finalPos) {
291
303
  function calculateSunPrecisePosition(monthTh, yearBe, day, hour, minute) {
292
304
  var _a, _b;
293
305
  const G_VALS_SUN = { 0: 0.0, 1: 35.0, 2: 67.0, 3: 94.0, 4: 116.0, 5: 129.0, 6: 134.0 };
294
- const [, , , , solarPositionMean] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
295
- const d26Raw = solarPositionMean - 4800;
296
- const anomalyBaseB26 = wrap21600(d26Raw);
297
- const quadrant = Math.floor(Math.trunc(anomalyBaseB26 / 5400)) + 1;
298
- const signMult = [1, 2].includes(quadrant) ? -1 : 1;
299
- let quadrantValB28;
300
- if (quadrant === 1)
301
- quadrantValB28 = anomalyBaseB26;
302
- else if (quadrant === 2)
303
- quadrantValB28 = 10800 - anomalyBaseB26;
304
- else if (quadrant === 3)
305
- quadrantValB28 = anomalyBaseB26 - 10800;
306
+ const { solarLongitudeMean } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
307
+ const meanAnomalyRaw = solarLongitudeMean - 4800;
308
+ const meanAnomaly = wrap21600(meanAnomalyRaw);
309
+ const quadrantIndex = Math.floor(Math.trunc(meanAnomaly / 5400)) + 1;
310
+ const directionMultiplier = [1, 2].includes(quadrantIndex) ? -1 : 1;
311
+ let quadrantArcMinutes;
312
+ if (quadrantIndex === 1)
313
+ quadrantArcMinutes = meanAnomaly;
314
+ else if (quadrantIndex === 2)
315
+ quadrantArcMinutes = 10800 - meanAnomaly;
316
+ else if (quadrantIndex === 3)
317
+ quadrantArcMinutes = meanAnomaly - 10800;
306
318
  else
307
- quadrantValB28 = 21600 - anomalyBaseB26;
308
- const e27Val = Math.floor(Math.trunc(quadrantValB28 / 900));
309
- const e28Val = e27Val + 1;
310
- const gE27 = (_a = G_VALS_SUN[e27Val]) !== null && _a !== void 0 ? _a : G_VALS_SUN[6];
311
- const gE28 = (_b = G_VALS_SUN[e28Val]) !== null && _b !== void 0 ? _b : G_VALS_SUN[6];
312
- const interpFactor = quadrantValB28 / 900 - e27Val;
313
- const sunAdjE29 = Math.floor(Math.trunc(interpFactor * (gE28 - gE27) + gE27));
314
- const d30Val = solarPositionMean + sunAdjE29 * signMult;
315
- const finalPosB30 = wrap21600(d30Val);
316
- return finalPosB30;
319
+ quadrantArcMinutes = 21600 - meanAnomaly;
320
+ const tableIndexFloor = Math.floor(Math.trunc(quadrantArcMinutes / 900));
321
+ const tableIndexCeil = tableIndexFloor + 1;
322
+ const tableValueFloor = (_a = G_VALS_SUN[tableIndexFloor]) !== null && _a !== void 0 ? _a : G_VALS_SUN[6];
323
+ const tableValueCeil = (_b = G_VALS_SUN[tableIndexCeil]) !== null && _b !== void 0 ? _b : G_VALS_SUN[6];
324
+ const interpolationFactor = quadrantArcMinutes / 900 - tableIndexFloor;
325
+ const quadrantAdjustment = Math.floor(Math.trunc(interpolationFactor * (tableValueCeil - tableValueFloor) + tableValueFloor));
326
+ const adjustedLongitude = solarLongitudeMean + quadrantAdjustment * directionMultiplier;
327
+ const preciseLongitude = wrap21600(adjustedLongitude);
328
+ return preciseLongitude;
317
329
  }
318
330
  // Planet calculation functions
319
331
  function calculateUranus(monthTh, yearBe, day, hour, minute) {
320
- const [, , solarCalcBase, solarPositionRaw] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
321
- const g45 = Math.floor(Math.trunc(solarCalcBase / 84));
322
- const g47 = Math.floor(solarCalcBase / 7224);
323
- const initialPos = (g45 + g47 + 16277) % 21600;
324
- const val51 = initialPos - 7440;
325
- const [, quadVal1, signMult1] = getQuadrantVals(val51);
326
- const adj1 = getTableAdj(quadVal1);
327
- const [g66Val1, signMultSec1] = getSecondaryAdjParams(wrap21600(val51));
328
- const denom1 = 38640 + g66Val1 * signMultSec1;
329
- const appliedAdj1 = denom1 !== 0 ? Math.round((adj1 * 60) / denom1) : 0;
330
- const posAfterAdj1 = initialPos + appliedAdj1 * signMult1;
331
- const val71 = wrap21600(posAfterAdj1) - solarPositionRaw;
332
- const [, quadVal2, signMult2] = getQuadrantVals(val71);
333
- const adj2 = getTableAdj(quadVal2);
334
- const g86Val = Math.round(Math.round(adj2 / 60) / 3);
335
- const g87Val = Math.round((denom1 * 3) / 7);
336
- const g88Val = g86Val + g87Val;
337
- const [, signMultSec2, g85Val] = getSecondaryAdjParams(wrap21600(val71));
338
- const denom2 = g88Val + g85Val * signMultSec2;
339
- const appliedAdj2 = denom2 !== 0 ? Math.round((adj2 * 60) / denom2) : 0;
340
- const finalPos = wrap21600(posAfterAdj1) + appliedAdj2 * signMult2;
341
- const finalWrappedPos = wrap21600(finalPos);
342
- return getSignIndex(finalWrappedPos);
332
+ const { solarCycleBaseMinutes, solarLongitudeCorrected } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
333
+ const primaryCycleComponent = Math.floor(Math.trunc(solarCycleBaseMinutes / 84));
334
+ const secondaryCycleComponent = Math.floor(solarCycleBaseMinutes / 7224);
335
+ const meanLongitude = (primaryCycleComponent + secondaryCycleComponent + 16277) % 21600;
336
+ const uranusAdjustmentConstants = {
337
+ primaryOffsetBaseline: 7440,
338
+ primaryDenominatorBase: 38640,
339
+ secondaryScaleFactor: 3 / 7,
340
+ };
341
+ const adjustedLongitude = applyPlanetaryAdjustments(meanLongitude, solarLongitudeCorrected, uranusAdjustmentConstants);
342
+ return getSignIndex(adjustedLongitude);
343
343
  }
344
344
  function calculateKetu(monthTh, yearBe, day, hour, minute) {
345
- const [relativeJulianDay, timeFraction] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
346
- const i46Val = (relativeJulianDay - 1 - 344) % 679;
347
- const i49Val = Math.trunc(((i46Val + timeFraction / 24) * 21600) / 679);
348
- const i50Val = i49Val % 21600;
349
- const finalPos = wrap21600(21600 - i50Val);
350
- return getSignIndex(finalPos);
345
+ const { relativeJulianDay, timeOfDayHours } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
346
+ const lunarNodeCycleOffset = (relativeJulianDay - 1 - 344) % 679;
347
+ const normalizedCyclePosition = Math.trunc(((lunarNodeCycleOffset + timeOfDayHours / 24) * 21600) / 679);
348
+ const positionWithinCycle = normalizedCyclePosition % 21600;
349
+ const finalLongitude = wrap21600(21600 - positionWithinCycle);
350
+ return getSignIndex(finalLongitude);
351
351
  }
352
352
  function calculateRahu(monthTh, yearBe, day, hour, minute) {
353
- const [, , solarCalcBase] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
354
- const h45Val = Math.floor(solarCalcBase / 20);
355
- const h47Val = Math.floor(solarCalcBase / 265);
356
- const h49Val = h45Val + h47Val;
357
- const h50Val = h49Val % 21600;
358
- const finalPos = wrap21600(15150 - h50Val);
359
- return getSignIndex(finalPos);
353
+ const { solarCycleBaseMinutes } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
354
+ const primaryComponent = Math.floor(solarCycleBaseMinutes / 20);
355
+ const secondaryComponent = Math.floor(solarCycleBaseMinutes / 265);
356
+ const meanLongitude = primaryComponent + secondaryComponent;
357
+ const wrappedLongitude = meanLongitude % 21600;
358
+ const finalLongitude = wrap21600(15150 - wrappedLongitude);
359
+ return getSignIndex(finalLongitude);
360
360
  }
361
361
  function calculateSaturn(monthTh, yearBe, day, hour, minute) {
362
- const [, , solarCalcBase, solarPositionRaw] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
363
- const f45 = Math.floor(Math.trunc(solarCalcBase / 30));
364
- const f47 = Math.floor((solarCalcBase * 6) / 10000);
365
- const initialPos = (f45 + f47 + 11944) % 21600;
366
- const constants = { k51: 14820, k67Base: 3780, k87Mult: 7 / 6 };
367
- const finalPos = applyPlanetaryAdjustments(initialPos, solarPositionRaw, constants);
368
- return getSignIndex(finalPos);
362
+ const { solarCycleBaseMinutes, solarLongitudeCorrected } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
363
+ const primaryCycleComponent = Math.floor(Math.trunc(solarCycleBaseMinutes / 30));
364
+ const secondaryCycleComponent = Math.floor((solarCycleBaseMinutes * 6) / 10000);
365
+ const meanLongitude = (primaryCycleComponent + secondaryCycleComponent + 11944) % 21600;
366
+ const saturnAdjustmentConstants = {
367
+ primaryOffsetBaseline: 14820,
368
+ primaryDenominatorBase: 3780,
369
+ secondaryScaleFactor: 7 / 6,
370
+ };
371
+ const adjustedLongitude = applyPlanetaryAdjustments(meanLongitude, solarLongitudeCorrected, saturnAdjustmentConstants);
372
+ return getSignIndex(adjustedLongitude);
369
373
  }
370
374
  function calculateVenus(monthTh, yearBe, day, hour, minute) {
371
- const [, , solarCalcBase, solarPositionRaw] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
372
- const e45 = Math.floor(Math.trunc((solarCalcBase * 5) / 3));
373
- const e47 = Math.floor((solarCalcBase * 10) / 243);
374
- const venusMeanPos = (e45 - e47 + 10944) % 21600;
375
- const val51 = solarPositionRaw - 4800;
376
- const [, quadVal1, signMult1] = getQuadrantVals(val51);
377
- const adj1 = getTableAdj(quadVal1);
378
- const [g66Val1, signMultSec1] = getSecondaryAdjParams(wrap21600(val51));
379
- const denom1 = 19200 + g66Val1 * signMultSec1;
380
- const appliedAdj1 = denom1 !== 0 ? Math.round((adj1 * 60) / denom1) : 0;
381
- const posAfterAdj1 = solarPositionRaw + appliedAdj1 * signMult1;
382
- const val71 = wrap21600(posAfterAdj1) - venusMeanPos;
383
- const [, quadVal2, signMult2] = getQuadrantVals(val71);
384
- const adj2 = getTableAdj(quadVal2);
385
- const e86Val = Math.round(Math.round(adj2 / 60) / 3);
386
- const e87Val = 60 * 11;
387
- const e88Val = e86Val + e87Val;
388
- const [, signMultSec2, e85Val] = getSecondaryAdjParams(wrap21600(val71));
389
- const denom2 = e88Val + e85Val * signMultSec2;
390
- const appliedAdj2 = denom2 !== 0 ? Math.round((adj2 * 60) / denom2) : 0;
391
- const finalPos = wrap21600(posAfterAdj1) + appliedAdj2 * signMult2;
392
- return getSignIndex(wrap21600(finalPos));
375
+ const { solarCycleBaseMinutes, solarLongitudeCorrected } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
376
+ const primaryCycleComponent = Math.floor(Math.trunc((solarCycleBaseMinutes * 5) / 3));
377
+ const secondaryCycleComponent = Math.floor((solarCycleBaseMinutes * 10) / 243);
378
+ const venusMeanLongitude = (primaryCycleComponent - secondaryCycleComponent + 10944) % 21600;
379
+ const primaryOffset = solarLongitudeCorrected - 4800;
380
+ const { quadrantArcMinutes: primaryQuadrantArc, directionMultiplier: primaryDirection } = describeQuadrant(primaryOffset);
381
+ const primaryTableAdjustment = lookupQuadrantAdjustment(primaryQuadrantArc);
382
+ const { halfAdjustment: primaryHalfAdjustment, secondaryDirection: primarySecondaryDirection, } = getSecondaryAdjustmentParameters(wrap21600(primaryOffset));
383
+ const primaryDenominator = 19200 + primaryHalfAdjustment * primarySecondaryDirection;
384
+ const primaryAdjustment = primaryDenominator !== 0 ? Math.round((primaryTableAdjustment * 60) / primaryDenominator) : 0;
385
+ const positionAfterPrimaryAdjustment = solarLongitudeCorrected + primaryAdjustment * primaryDirection;
386
+ const secondaryOffset = wrap21600(positionAfterPrimaryAdjustment) - venusMeanLongitude;
387
+ const { quadrantArcMinutes: secondaryQuadrantArc, directionMultiplier: secondaryDirection } = describeQuadrant(secondaryOffset);
388
+ const secondaryTableAdjustment = lookupQuadrantAdjustment(secondaryQuadrantArc);
389
+ const roundedSecondaryAdjustment = Math.round(Math.round(secondaryTableAdjustment / 60) / 3);
390
+ const fixedVenusAdjustment = 60 * 11;
391
+ const secondaryNumeratorBase = roundedSecondaryAdjustment + fixedVenusAdjustment;
392
+ const { secondaryDirection: interpolationDirection, interpolatedAdjustment: secondaryInterpolatedAdjustment, } = getSecondaryAdjustmentParameters(wrap21600(secondaryOffset));
393
+ const secondaryDenominator = secondaryNumeratorBase + secondaryInterpolatedAdjustment * interpolationDirection;
394
+ const secondaryAdjustment = secondaryDenominator !== 0 ? Math.round((secondaryTableAdjustment * 60) / secondaryDenominator) : 0;
395
+ const finalLongitude = wrap21600(positionAfterPrimaryAdjustment) + secondaryAdjustment * secondaryDirection;
396
+ return getSignIndex(wrap21600(finalLongitude));
393
397
  }
394
398
  function calculateJupiter(monthTh, yearBe, day, hour, minute) {
395
- const [, , solarCalcBase, solarPositionRaw] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
396
- const d45 = Math.floor(Math.trunc(solarCalcBase / 12));
397
- const d47 = Math.floor(solarCalcBase / 1032);
398
- const initialPos = (d45 + d47 + 14297) % 21600;
399
- const constants = { k51: 10320, k67Base: 5520, k87Mult: 3 / 7 };
400
- const finalPos = applyPlanetaryAdjustments(initialPos, solarPositionRaw, constants);
401
- return getSignIndex(finalPos);
399
+ const { solarCycleBaseMinutes, solarLongitudeCorrected } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
400
+ const primaryCycleComponent = Math.floor(Math.trunc(solarCycleBaseMinutes / 12));
401
+ const secondaryCycleComponent = Math.floor(solarCycleBaseMinutes / 1032);
402
+ const meanLongitude = (primaryCycleComponent + secondaryCycleComponent + 14297) % 21600;
403
+ const jupiterAdjustmentConstants = {
404
+ primaryOffsetBaseline: 10320,
405
+ primaryDenominatorBase: 5520,
406
+ secondaryScaleFactor: 3 / 7,
407
+ };
408
+ const adjustedLongitude = applyPlanetaryAdjustments(meanLongitude, solarLongitudeCorrected, jupiterAdjustmentConstants);
409
+ return getSignIndex(adjustedLongitude);
402
410
  }
403
411
  function calculateMercury(monthTh, yearBe, day, hour, minute) {
404
- const [, , solarCalcBase, solarPositionRaw] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
405
- const c45 = Math.floor(Math.trunc((solarCalcBase * 7) / 46));
406
- const c47 = Math.floor(solarCalcBase * 4);
407
- const mercuryMeanPos = (c45 + c47 + 10642) % 21600;
408
- const val51 = solarPositionRaw - 13200;
409
- const [, quadVal1, signMult1] = getQuadrantVals(val51);
410
- const adj1 = getTableAdj(quadVal1);
411
- const [g66Val1, signMultSec1] = getSecondaryAdjParams(wrap21600(val51));
412
- const denom1 = 6000 + g66Val1 * signMultSec1;
413
- const appliedAdj1 = denom1 !== 0 ? Math.round((adj1 * 60) / denom1) : 0;
414
- const posAfterAdj1 = solarPositionRaw + appliedAdj1 * signMult1;
415
- const val71 = wrap21600(posAfterAdj1) - mercuryMeanPos;
416
- const [, quadVal2, signMult2] = getQuadrantVals(val71);
417
- const adj2 = getTableAdj(quadVal2);
418
- const c86Val = Math.round(Math.round(adj2 / 60) / 3);
419
- const c87Val = 60 * 21;
420
- const c88Val = c86Val + c87Val;
421
- const [, signMultSec2, c85Val] = getSecondaryAdjParams(wrap21600(val71));
422
- const denom2 = c88Val + c85Val * signMultSec2;
423
- const appliedAdj2 = denom2 !== 0 ? Math.round((adj2 * 60) / denom2) : 0;
424
- const finalPos = wrap21600(posAfterAdj1) + appliedAdj2 * signMult2;
425
- return getSignIndex(wrap21600(finalPos));
412
+ const { solarCycleBaseMinutes, solarLongitudeCorrected } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
413
+ const primaryCycleComponent = Math.floor(Math.trunc((solarCycleBaseMinutes * 7) / 46));
414
+ const secondaryCycleComponent = Math.floor(solarCycleBaseMinutes * 4);
415
+ const mercuryMeanLongitude = (primaryCycleComponent + secondaryCycleComponent + 10642) % 21600;
416
+ const primaryOffset = solarLongitudeCorrected - 13200;
417
+ const { quadrantArcMinutes: primaryQuadrantArc, directionMultiplier: primaryDirection } = describeQuadrant(primaryOffset);
418
+ const primaryTableAdjustment = lookupQuadrantAdjustment(primaryQuadrantArc);
419
+ const { halfAdjustment: primaryHalfAdjustment, secondaryDirection: primarySecondaryDirection, } = getSecondaryAdjustmentParameters(wrap21600(primaryOffset));
420
+ const primaryDenominator = 6000 + primaryHalfAdjustment * primarySecondaryDirection;
421
+ const primaryAdjustment = primaryDenominator !== 0 ? Math.round((primaryTableAdjustment * 60) / primaryDenominator) : 0;
422
+ const positionAfterPrimaryAdjustment = solarLongitudeCorrected + primaryAdjustment * primaryDirection;
423
+ const secondaryOffset = wrap21600(positionAfterPrimaryAdjustment) - mercuryMeanLongitude;
424
+ const { quadrantArcMinutes: secondaryQuadrantArc, directionMultiplier: secondaryDirection } = describeQuadrant(secondaryOffset);
425
+ const secondaryTableAdjustment = lookupQuadrantAdjustment(secondaryQuadrantArc);
426
+ const roundedSecondaryAdjustment = Math.round(Math.round(secondaryTableAdjustment / 60) / 3);
427
+ const fixedMercuryAdjustment = 60 * 21;
428
+ const secondaryNumeratorBase = roundedSecondaryAdjustment + fixedMercuryAdjustment;
429
+ const { secondaryDirection: interpolationDirection, interpolatedAdjustment: secondaryInterpolatedAdjustment, } = getSecondaryAdjustmentParameters(wrap21600(secondaryOffset));
430
+ const secondaryDenominator = secondaryNumeratorBase + secondaryInterpolatedAdjustment * interpolationDirection;
431
+ const secondaryAdjustment = secondaryDenominator !== 0 ? Math.round((secondaryTableAdjustment * 60) / secondaryDenominator) : 0;
432
+ const finalLongitude = wrap21600(positionAfterPrimaryAdjustment) + secondaryAdjustment * secondaryDirection;
433
+ return getSignIndex(wrap21600(finalLongitude));
426
434
  }
427
435
  function calculateMars(monthTh, yearBe, day, hour, minute) {
428
- const [, , solarCalcBase, solarPositionRaw] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
429
- const b45 = Math.floor(Math.trunc(solarCalcBase / 2));
430
- const b47 = Math.floor((solarCalcBase * 16) / 505);
431
- const initialPos = (b45 + b47 + 5420) % 21600;
432
- const constants = { k51: 7620, k67Base: 2700, k87Mult: 4 / 15 };
433
- const finalPos = applyPlanetaryAdjustments(initialPos, solarPositionRaw, constants);
434
- return getSignIndex(finalPos);
436
+ const { solarCycleBaseMinutes, solarLongitudeCorrected } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
437
+ const primaryCycleComponent = Math.floor(Math.trunc(solarCycleBaseMinutes / 2));
438
+ const secondaryCycleComponent = Math.floor((solarCycleBaseMinutes * 16) / 505);
439
+ const meanLongitude = (primaryCycleComponent + secondaryCycleComponent + 5420) % 21600;
440
+ const marsAdjustmentConstants = {
441
+ primaryOffsetBaseline: 7620,
442
+ primaryDenominatorBase: 2700,
443
+ secondaryScaleFactor: 4 / 15,
444
+ };
445
+ const adjustedLongitude = applyPlanetaryAdjustments(meanLongitude, solarLongitudeCorrected, marsAdjustmentConstants);
446
+ return getSignIndex(adjustedLongitude);
435
447
  }
436
448
  function calculateMoon(monthTh, yearBe, day, hour, minute) {
437
449
  var _a, _b;
438
450
  const G_VALS_MOON = { 0: 0.0, 1: 77.0, 2: 148.0, 3: 209.0, 4: 256.0, 5: 286.0, 6: 296.0 };
439
- const [relativeJulianDay, timeFraction, , , solarPositionMean] = calculateBaseValues(monthTh, yearBe, day, hour, minute);
440
- const b34Val = ((relativeJulianDay - 1) * 703 + 650 + Math.trunc((timeFraction * 703) / 24)) % 20760;
441
- const b35Val = Math.floor(b34Val / 692);
442
- const b36Val = b34Val % 692;
443
- const d33Val = b35Val * 720 + Math.trunc(1.04 * b36Val) - 40 + solarPositionMean;
444
- const d34Val = wrap21600(d33Val);
445
- const d35Val = (relativeJulianDay - 1 - 621) % 3232;
446
- const e36Val = Math.trunc(((d35Val + timeFraction / 24) / 3232) * 21600) + 2;
447
- const d36Val = wrap21600(e36Val);
448
- const d37ValRaw = d34Val - d36Val;
449
- const b37Val = wrap21600(d37ValRaw);
450
- const b38Val = Math.floor(Math.trunc(b37Val / 5400)) + 1;
451
- const b40Val = [1, 2].includes(b38Val) ? -1 : 1;
452
- let quadrantValB39;
453
- if (b38Val === 1)
454
- quadrantValB39 = b37Val;
455
- else if (b38Val === 2)
456
- quadrantValB39 = 10800 - b37Val;
457
- else if (b38Val === 3)
458
- quadrantValB39 = b37Val - 10800;
451
+ const { relativeJulianDay, timeOfDayHours, solarLongitudeMean } = calculateBaseValues(monthTh, yearBe, day, hour, minute);
452
+ const lunarMeanCycle = ((relativeJulianDay - 1) * 703 + 650 + Math.trunc((timeOfDayHours * 703) / 24)) % 20760;
453
+ const meanCycleQuotient = Math.floor(lunarMeanCycle / 692);
454
+ const meanCycleRemainder = lunarMeanCycle % 692;
455
+ const meanLongitudeEstimate = meanCycleQuotient * 720 + Math.trunc(1.04 * meanCycleRemainder) - 40 + solarLongitudeMean;
456
+ const meanLongitude = wrap21600(meanLongitudeEstimate);
457
+ const anomalyCycle = (relativeJulianDay - 1 - 621) % 3232;
458
+ const anomalyLongitude = Math.trunc(((anomalyCycle + timeOfDayHours / 24) / 3232) * 21600) + 2;
459
+ const anomalyLongitudeWrapped = wrap21600(anomalyLongitude);
460
+ const longitudeDifferenceRaw = meanLongitude - anomalyLongitudeWrapped;
461
+ const longitudeDifference = wrap21600(longitudeDifferenceRaw);
462
+ const quadrantIndex = Math.floor(Math.trunc(longitudeDifference / 5400)) + 1;
463
+ const directionMultiplier = [1, 2].includes(quadrantIndex) ? -1 : 1;
464
+ let quadrantArcMinutes;
465
+ if (quadrantIndex === 1)
466
+ quadrantArcMinutes = longitudeDifference;
467
+ else if (quadrantIndex === 2)
468
+ quadrantArcMinutes = 10800 - longitudeDifference;
469
+ else if (quadrantIndex === 3)
470
+ quadrantArcMinutes = longitudeDifference - 10800;
459
471
  else
460
- quadrantValB39 = 21600 - b37Val;
461
- const e38Val = Math.floor(Math.trunc(quadrantValB39 / 900));
462
- const e39Val = e38Val + 1;
463
- const gE38 = (_a = G_VALS_MOON[e38Val]) !== null && _a !== void 0 ? _a : G_VALS_MOON[6];
464
- const gE39 = (_b = G_VALS_MOON[e39Val]) !== null && _b !== void 0 ? _b : G_VALS_MOON[6];
465
- const interpFactorE40 = quadrantValB39 / 900 - e38Val;
466
- const e40Val = Math.floor(Math.trunc(interpFactorE40 * (gE39 - gE38) + gE38));
467
- const d42Val = d34Val + e40Val * b40Val;
468
- const b42Val = wrap21600(d42Val);
469
- const b43Val = Math.floor(b42Val / 1800);
470
- const finalSignIndex = b43Val < 12 ? b43Val : 0;
472
+ quadrantArcMinutes = 21600 - longitudeDifference;
473
+ const tableIndexFloor = Math.floor(Math.trunc(quadrantArcMinutes / 900));
474
+ const tableIndexCeil = tableIndexFloor + 1;
475
+ const tableValueFloor = (_a = G_VALS_MOON[tableIndexFloor]) !== null && _a !== void 0 ? _a : G_VALS_MOON[6];
476
+ const tableValueCeil = (_b = G_VALS_MOON[tableIndexCeil]) !== null && _b !== void 0 ? _b : G_VALS_MOON[6];
477
+ const interpolationFactor = quadrantArcMinutes / 900 - tableIndexFloor;
478
+ const quadrantAdjustment = Math.floor(Math.trunc(interpolationFactor * (tableValueCeil - tableValueFloor) + tableValueFloor));
479
+ const adjustedLongitude = meanLongitude + quadrantAdjustment * directionMultiplier;
480
+ const wrappedLongitude = wrap21600(adjustedLongitude);
481
+ const signIndex = Math.floor(wrappedLongitude / 1800);
482
+ const finalSignIndex = signIndex < 12 ? signIndex : 0;
471
483
  return finalSignIndex;
472
484
  }
473
485
  function calculateSun(monthTh, yearBe, day, hour, minute) {
474
- const finalPosB30 = calculateSunPrecisePosition(monthTh, yearBe, day, hour, minute);
475
- return getSignIndex(finalPosB30);
486
+ const preciseLongitude = calculateSunPrecisePosition(monthTh, yearBe, day, hour, minute);
487
+ return getSignIndex(preciseLongitude);
476
488
  }
477
489
  function calculateSunDegrees(monthTh, yearBe, day, hour, minute) {
478
- const finalPosB30 = calculateSunPrecisePosition(monthTh, yearBe, day, hour, minute);
479
- const f30Val = finalPosB30 % 1800;
480
- const d31Val = Math.trunc(f30Val / 60);
481
- return d31Val;
490
+ const preciseLongitude = calculateSunPrecisePosition(monthTh, yearBe, day, hour, minute);
491
+ const minutesWithinCurrentSign = preciseLongitude % 1800;
492
+ const degreesInSign = Math.trunc(minutesWithinCurrentSign / 60);
493
+ return degreesInSign;
482
494
  }
483
495
  function calculateSunMinutes(monthTh, yearBe, day, hour, minute) {
484
- const finalPosB30 = calculateSunPrecisePosition(monthTh, yearBe, day, hour, minute);
485
- const f30Val = finalPosB30 % 1800;
486
- const f31Val = Math.trunc(f30Val % 60);
487
- return f31Val;
496
+ const preciseLongitude = calculateSunPrecisePosition(monthTh, yearBe, day, hour, minute);
497
+ const minutesWithinCurrentSign = preciseLongitude % 1800;
498
+ const minutesWithinDegree = Math.trunc(minutesWithinCurrentSign % 60);
499
+ return minutesWithinDegree;
488
500
  }
489
501
  function calculateAscendant(day, monthTh, yearBe, hour, minute, province) {
490
502
  var _a;
491
- const sunPrecisePosB30 = calculateSunPrecisePosition(monthTh, yearBe, day, hour, minute);
492
- const sunSignIndex = Math.floor(Math.trunc(sunPrecisePosB30 / 1800));
493
- const sunPosInSignMinutesArc = sunPrecisePosB30 % 1800;
494
- const sunDegreesInSign = Math.trunc(sunPosInSignMinutesArc / 60);
495
- const sunMinutesInDegree = Math.trunc(sunPosInSignMinutesArc % 60);
496
- const provinceOffsetMin = (_a = PROVINCE_TIME_OFFSETS[province]) !== null && _a !== void 0 ? _a : 18;
497
- const localTimeMin = hour * 60 + minute;
498
- const cumulativeDurationAtSunSignStart = SIGN_DURATIONS_MINUTES.slice(0, sunSignIndex).reduce((sum, duration) => sum + duration, 0);
499
- const sunProgressTotalDegrees = sunDegreesInSign + sunMinutesInDegree / 60;
500
- const sunSignDuration = SIGN_DURATIONS_MINUTES[sunSignIndex];
501
- const sunDurationInCurrentSign = sunSignDuration > 0 ? sunSignDuration * (sunProgressTotalDegrees / 30) : 0;
502
- const sunTotalProgressionMin = cumulativeDurationAtSunSignStart + sunDurationInCurrentSign;
503
- const sunriseTimeMinutes = 360 + provinceOffsetMin;
504
- let j19Val = (localTimeMin - sunriseTimeMinutes) % 1440;
505
- if (j19Val < 0)
506
- j19Val += 1440;
507
- let ascendantTimeMin = (sunTotalProgressionMin + j19Val) % 1440;
508
- if (ascendantTimeMin < 0)
509
- ascendantTimeMin += 1440;
503
+ const sunLongitude = calculateSunPrecisePosition(monthTh, yearBe, day, hour, minute);
504
+ const sunSignIndex = Math.floor(Math.trunc(sunLongitude / 1800));
505
+ const sunMinutesInSign = sunLongitude % 1800;
506
+ const sunDegreesWithinSign = Math.trunc(sunMinutesInSign / 60);
507
+ const sunMinutesWithinDegree = Math.trunc(sunMinutesInSign % 60);
508
+ const provinceSunriseOffsetMinutes = (_a = PROVINCE_TIME_OFFSETS[province]) !== null && _a !== void 0 ? _a : 18;
509
+ const localTimeMinutes = hour * 60 + minute;
510
+ const minutesBeforeSunSign = SIGN_DURATIONS_MINUTES.slice(0, sunSignIndex).reduce((sum, duration) => sum + duration, 0);
511
+ const sunProgressDegrees = sunDegreesWithinSign + sunMinutesWithinDegree / 60;
512
+ const sunSignDurationMinutes = SIGN_DURATIONS_MINUTES[sunSignIndex];
513
+ const sunTraversalMinutes = sunSignDurationMinutes > 0 ? sunSignDurationMinutes * (sunProgressDegrees / 30) : 0;
514
+ const sunTotalProgressionMinutes = minutesBeforeSunSign + sunTraversalMinutes;
515
+ const sunriseTimeMinutes = 360 + provinceSunriseOffsetMinutes;
516
+ let elapsedSinceSunrise = (localTimeMinutes - sunriseTimeMinutes) % 1440;
517
+ if (elapsedSinceSunrise < 0)
518
+ elapsedSinceSunrise += 1440;
519
+ let ascendantMinutesOfDay = (sunTotalProgressionMinutes + elapsedSinceSunrise) % 1440;
520
+ if (ascendantMinutesOfDay < 0)
521
+ ascendantMinutesOfDay += 1440;
510
522
  let ascendantSignIndex = 0;
511
- let cumulativeTime = 0.0;
512
- let degreesInAscendantSign = 0.0;
513
- for (let i = 0; i < SIGN_DURATIONS_MINUTES.length; i++) {
514
- const signDuration = SIGN_DURATIONS_MINUTES[i];
523
+ let cumulativeMinutes = 0.0;
524
+ let degreesWithinAscendantSign = 0.0;
525
+ for (let signIndex = 0; signIndex < SIGN_DURATIONS_MINUTES.length; signIndex++) {
526
+ const signDuration = SIGN_DURATIONS_MINUTES[signIndex];
515
527
  if (signDuration <= 0)
516
528
  continue;
517
- const startOfSign = cumulativeTime;
518
- const endOfSign = cumulativeTime + signDuration;
519
- let fallsInSign = false;
520
- if (startOfSign < endOfSign) {
521
- if (ascendantTimeMin >= startOfSign && ascendantTimeMin < endOfSign) {
522
- fallsInSign = true;
523
- }
524
- }
525
- else {
526
- if (ascendantTimeMin >= startOfSign || ascendantTimeMin < endOfSign) {
527
- fallsInSign = true;
528
- }
529
- }
530
- if (fallsInSign) {
531
- ascendantSignIndex = i;
532
- let timeIntoAscendantSign = (ascendantTimeMin - startOfSign) % 1440;
533
- if (timeIntoAscendantSign < 0)
534
- timeIntoAscendantSign += 1440;
535
- degreesInAscendantSign = (timeIntoAscendantSign * 30) / signDuration;
529
+ const startOfSign = cumulativeMinutes;
530
+ const endOfSign = cumulativeMinutes + signDuration;
531
+ const wrapsAround = startOfSign >= endOfSign;
532
+ const isWithinSign = wrapsAround
533
+ ? ascendantMinutesOfDay >= startOfSign || ascendantMinutesOfDay < endOfSign
534
+ : ascendantMinutesOfDay >= startOfSign && ascendantMinutesOfDay < endOfSign;
535
+ if (isWithinSign) {
536
+ ascendantSignIndex = signIndex;
537
+ let minutesIntoAscendantSign = (ascendantMinutesOfDay - startOfSign) % 1440;
538
+ if (minutesIntoAscendantSign < 0)
539
+ minutesIntoAscendantSign += 1440;
540
+ degreesWithinAscendantSign = (minutesIntoAscendantSign * 30) / signDuration;
536
541
  break;
537
542
  }
538
- cumulativeTime = endOfSign % 1440;
543
+ cumulativeMinutes = endOfSign % 1440;
539
544
  }
540
- const k35Val = (ascendantSignIndex * 30 + degreesInAscendantSign) * 60;
541
- const k36Val = Math.trunc(k35Val / 1800);
542
- return k36Val;
545
+ const ascendantLongitudeMinutes = (ascendantSignIndex * 30 + degreesWithinAscendantSign) * 60;
546
+ const ascendantSign = Math.trunc(ascendantLongitudeMinutes / 1800);
547
+ return ascendantSign;
543
548
  }
544
549
  function calculateTanuseth(positions, ascSign) {
545
550
  try {
546
551
  const lord1Idx = MAP_PLANETS[ascSign];
547
552
  const lord1Name = SIGN_PLANETS[lord1Idx];
548
- const sign1 = positions[lord1Name];
549
- const lord2Idx = MAP_PLANETS[sign1];
553
+ const firstLordSign = positions[lord1Name];
554
+ const lord2Idx = MAP_PLANETS[firstLordSign];
550
555
  const lord2Name = SIGN_PLANETS[lord2Idx];
551
- const sign2 = positions[lord2Name];
552
- const m36 = ((sign1 - ascSign) % 12) + 1;
553
- const m38 = ((sign2 - sign1) % 12) + 1;
554
- const result = (m36 * m38) % 7 || 7;
556
+ const secondLordSign = positions[lord2Name];
557
+ const ascendantDistance = ((firstLordSign - ascSign) % 12) + 1;
558
+ const secondStepDistance = ((secondLordSign - firstLordSign) % 12) + 1;
559
+ const result = (ascendantDistance * secondStepDistance) % 7 || 7;
555
560
  return result;
556
561
  }
557
562
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"astro-calculation.js","sourceRoot":"","sources":["../../engine/astro-calculation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"astro-calculation.js","sourceRoot":"","sources":["../../engine/astro-calculation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../engine/astro-calculation.ts","../engine/astro/ruling-planets.ts","../index.ts"],"fileIdsList":[[37,38]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bea41b5a1668ebc88832876936b5ccb94f750649380da6d9529f1fd6115e4a1","signature":"9d1da7a7e3951f1b77bc8ce3771a604a3d2f6b549f5fb97261d90be062e97053"},{"version":"07b7bb793c403d9eab91b7907ae5dcc465dd7a2e8fbac1abb70d6143c162c417","signature":"59c322ba4ef43b522995220daafc294d13de77c2d19db3490b96c7d4c7b2091d"},{"version":"f1fd5ddeabf699f00137c7ceffe78526d23c3a25ba2e00d3c6fa9372f949d0ab","signature":"f901069e425cd7e62a82ac6709ac325f313760d7e55e79833c41b3cec5946637"}],"root":[[37,39]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":6},"referencedMap":[[39,1]],"latestChangedDtsFile":"./engine/astro-calculation.d.ts","version":"5.9.2"}
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../engine/astro-calculation.ts","../engine/astro/ruling-planets.ts"],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"df0926a7d5e75392f35264a1c296d4ce74f9fa7fe6167c719bf5fe9d44bf850f","signature":"9d1da7a7e3951f1b77bc8ce3771a604a3d2f6b549f5fb97261d90be062e97053"},{"version":"07b7bb793c403d9eab91b7907ae5dcc465dd7a2e8fbac1abb70d6143c162c417","signature":"59c322ba4ef43b522995220daafc294d13de77c2d19db3490b96c7d4c7b2091d"}],"root":[37,38],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strict":true,"target":6},"latestChangedDtsFile":"./engine/astro-calculation.d.ts","version":"5.9.2"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thai-astrology",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Thai astrology ephemeris calculations and utilities for Node.js and TypeScript projects.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",