astro-ascendant 3.2.0 → 4.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 (207) hide show
  1. package/dist/chart/calculate.d.ts +2 -7
  2. package/dist/chart/calculate.d.ts.map +1 -1
  3. package/dist/chart/calculate.js +132 -136
  4. package/dist/chart/calculate.js.map +1 -1
  5. package/dist/chart/charts.d.ts +14 -7
  6. package/dist/chart/charts.d.ts.map +1 -1
  7. package/dist/chart/charts.js +29 -26
  8. package/dist/chart/charts.js.map +1 -1
  9. package/dist/chart/cusp.d.ts +7 -4
  10. package/dist/chart/cusp.d.ts.map +1 -1
  11. package/dist/chart/cusp.js +19 -16
  12. package/dist/chart/cusp.js.map +1 -1
  13. package/dist/chart/divisional-mapping/calculate.d.ts +5 -8
  14. package/dist/chart/divisional-mapping/calculate.d.ts.map +1 -1
  15. package/dist/chart/divisional-mapping/calculate.js +13 -22
  16. package/dist/chart/divisional-mapping/calculate.js.map +1 -1
  17. package/dist/chart/divisional-mapping/helper.d.ts +8 -13
  18. package/dist/chart/divisional-mapping/helper.d.ts.map +1 -1
  19. package/dist/chart/divisional-mapping/helper.js +10 -25
  20. package/dist/chart/divisional-mapping/helper.js.map +1 -1
  21. package/dist/chart/divisional-mapping/index.d.ts +1 -1
  22. package/dist/chart/divisional-mapping/index.d.ts.map +1 -1
  23. package/dist/chart/divisional-mapping/index.js +1 -1
  24. package/dist/chart/divisional-mapping/index.js.map +1 -1
  25. package/dist/chart/divisional-mapping/model.d.ts +1 -1
  26. package/dist/chart/error.d.ts +1 -1
  27. package/dist/chart/generate.d.ts +1 -7
  28. package/dist/chart/generate.d.ts.map +1 -1
  29. package/dist/chart/generate.js +20 -29
  30. package/dist/chart/generate.js.map +1 -1
  31. package/dist/chart/helper.d.ts +4 -3
  32. package/dist/chart/helper.d.ts.map +1 -1
  33. package/dist/chart/helper.js +24 -24
  34. package/dist/chart/helper.js.map +1 -1
  35. package/dist/chart/internal/constants.d.ts +6 -5
  36. package/dist/chart/internal/constants.d.ts.map +1 -1
  37. package/dist/chart/internal/constants.js +6 -4
  38. package/dist/chart/internal/constants.js.map +1 -1
  39. package/dist/chart/internal/position.d.ts +12 -4
  40. package/dist/chart/internal/position.d.ts.map +1 -1
  41. package/dist/chart/internal/position.js +19 -13
  42. package/dist/chart/internal/position.js.map +1 -1
  43. package/dist/chart/model.d.ts +26 -27
  44. package/dist/chart/model.d.ts.map +1 -1
  45. package/dist/chart/model.js +11 -12
  46. package/dist/chart/model.js.map +1 -1
  47. package/dist/chart/placements.d.ts +0 -5
  48. package/dist/chart/placements.d.ts.map +1 -1
  49. package/dist/chart/placements.js +32 -30
  50. package/dist/chart/placements.js.map +1 -1
  51. package/dist/dasha/calendar.d.ts +0 -5
  52. package/dist/dasha/calendar.d.ts.map +1 -1
  53. package/dist/dasha/calendar.js +0 -5
  54. package/dist/dasha/calendar.js.map +1 -1
  55. package/dist/dasha/chara/calculate.d.ts +12 -7
  56. package/dist/dasha/chara/calculate.d.ts.map +1 -1
  57. package/dist/dasha/chara/calculate.js +83 -93
  58. package/dist/dasha/chara/calculate.js.map +1 -1
  59. package/dist/dasha/error.d.ts +1 -1
  60. package/dist/dasha/evidence.d.ts +2 -1
  61. package/dist/dasha/evidence.d.ts.map +1 -1
  62. package/dist/dasha/evidence.js +6 -2
  63. package/dist/dasha/evidence.js.map +1 -1
  64. package/dist/dasha/model.d.ts +26 -26
  65. package/dist/dasha/query.d.ts +7 -28
  66. package/dist/dasha/query.d.ts.map +1 -1
  67. package/dist/dasha/query.js +3 -18
  68. package/dist/dasha/query.js.map +1 -1
  69. package/dist/dasha/rashi-internal.d.ts +2 -8
  70. package/dist/dasha/rashi-internal.d.ts.map +1 -1
  71. package/dist/dasha/rashi-internal.js +3 -13
  72. package/dist/dasha/rashi-internal.js.map +1 -1
  73. package/dist/dasha/rashi-query.d.ts +1 -0
  74. package/dist/dasha/rashi-query.d.ts.map +1 -1
  75. package/dist/dasha/rashi-query.js +2 -4
  76. package/dist/dasha/rashi-query.js.map +1 -1
  77. package/dist/dasha/sthira/calculate.d.ts +2 -9
  78. package/dist/dasha/sthira/calculate.d.ts.map +1 -1
  79. package/dist/dasha/sthira/calculate.js +122 -188
  80. package/dist/dasha/sthira/calculate.js.map +1 -1
  81. package/dist/dasha/sthira/constants.d.ts +50 -0
  82. package/dist/dasha/sthira/constants.d.ts.map +1 -0
  83. package/dist/dasha/sthira/constants.js +73 -0
  84. package/dist/dasha/sthira/constants.js.map +1 -0
  85. package/dist/dasha/vimshottari/calculate.d.ts +3 -16
  86. package/dist/dasha/vimshottari/calculate.d.ts.map +1 -1
  87. package/dist/dasha/vimshottari/calculate.js +47 -74
  88. package/dist/dasha/vimshottari/calculate.js.map +1 -1
  89. package/dist/dasha/vimshottari/query.d.ts.map +1 -1
  90. package/dist/dasha/vimshottari/query.js +2 -5
  91. package/dist/dasha/vimshottari/query.js.map +1 -1
  92. package/dist/ephemeris/model.d.ts +1 -1
  93. package/dist/ephemeris/model.d.ts.map +1 -1
  94. package/dist/ephemeris/model.js +1 -0
  95. package/dist/ephemeris/model.js.map +1 -1
  96. package/dist/jaimini/argala/calculate.d.ts +6 -33
  97. package/dist/jaimini/argala/calculate.d.ts.map +1 -1
  98. package/dist/jaimini/argala/calculate.js +37 -48
  99. package/dist/jaimini/argala/calculate.js.map +1 -1
  100. package/dist/jaimini/argala/helper.d.ts +1 -1
  101. package/dist/jaimini/argala/helper.d.ts.map +1 -1
  102. package/dist/jaimini/argala/helper.js +6 -4
  103. package/dist/jaimini/argala/helper.js.map +1 -1
  104. package/dist/jaimini/argala/model.d.ts +10 -10
  105. package/dist/jaimini/arudha-pada/calculate.d.ts +2 -6
  106. package/dist/jaimini/arudha-pada/calculate.d.ts.map +1 -1
  107. package/dist/jaimini/arudha-pada/calculate.js +15 -26
  108. package/dist/jaimini/arudha-pada/calculate.js.map +1 -1
  109. package/dist/jaimini/arudha-pada/model.d.ts +2 -2
  110. package/dist/jaimini/chara-karakas/calculate.d.ts +0 -5
  111. package/dist/jaimini/chara-karakas/calculate.d.ts.map +1 -1
  112. package/dist/jaimini/chara-karakas/calculate.js +5 -9
  113. package/dist/jaimini/chara-karakas/calculate.js.map +1 -1
  114. package/dist/jaimini/chara-karakas/helper.d.ts +1 -8
  115. package/dist/jaimini/chara-karakas/helper.d.ts.map +1 -1
  116. package/dist/jaimini/chara-karakas/helper.js +2 -8
  117. package/dist/jaimini/chara-karakas/helper.js.map +1 -1
  118. package/dist/jaimini/chara-karakas/index.d.ts +1 -0
  119. package/dist/jaimini/chara-karakas/index.d.ts.map +1 -1
  120. package/dist/jaimini/chara-karakas/index.js +1 -0
  121. package/dist/jaimini/chara-karakas/index.js.map +1 -1
  122. package/dist/jaimini/chara-karakas/model.d.ts.map +1 -1
  123. package/dist/jaimini/chara-karakas/model.js +2 -9
  124. package/dist/jaimini/chara-karakas/model.js.map +1 -1
  125. package/dist/jaimini/karakamsha/calculate.d.ts +1 -6
  126. package/dist/jaimini/karakamsha/calculate.d.ts.map +1 -1
  127. package/dist/jaimini/karakamsha/calculate.js +6 -11
  128. package/dist/jaimini/karakamsha/calculate.js.map +1 -1
  129. package/dist/jaimini/karakamsha/helper.d.ts +1 -1
  130. package/dist/jaimini/karakamsha/helper.d.ts.map +1 -1
  131. package/dist/jaimini/karakamsha/helper.js +6 -5
  132. package/dist/jaimini/karakamsha/helper.js.map +1 -1
  133. package/dist/jaimini/karakamsha/model.js +3 -3
  134. package/dist/jaimini/karakamsha/model.js.map +1 -1
  135. package/dist/jaimini/rashi-drishti/calculate.d.ts +1 -5
  136. package/dist/jaimini/rashi-drishti/calculate.d.ts.map +1 -1
  137. package/dist/jaimini/rashi-drishti/calculate.js +3 -7
  138. package/dist/jaimini/rashi-drishti/calculate.js.map +1 -1
  139. package/dist/jaimini/rashi-drishti/helper.d.ts +2 -6
  140. package/dist/jaimini/rashi-drishti/helper.d.ts.map +1 -1
  141. package/dist/jaimini/rashi-drishti/helper.js +28 -34
  142. package/dist/jaimini/rashi-drishti/helper.js.map +1 -1
  143. package/dist/jaimini/rashi-drishti/index.d.ts +1 -0
  144. package/dist/jaimini/rashi-drishti/index.d.ts.map +1 -1
  145. package/dist/jaimini/rashi-drishti/index.js +1 -0
  146. package/dist/jaimini/rashi-drishti/index.js.map +1 -1
  147. package/dist/jaimini/upapada/calculate.d.ts +2 -6
  148. package/dist/jaimini/upapada/calculate.d.ts.map +1 -1
  149. package/dist/jaimini/upapada/calculate.js +6 -10
  150. package/dist/jaimini/upapada/calculate.js.map +1 -1
  151. package/dist/jaimini/upapada/model.d.ts +2 -2
  152. package/dist/position/index.d.ts +29 -0
  153. package/dist/position/index.d.ts.map +1 -0
  154. package/dist/position/index.js +53 -0
  155. package/dist/position/index.js.map +1 -0
  156. package/dist/provenance.d.ts +156 -5
  157. package/dist/provenance.d.ts.map +1 -1
  158. package/dist/provenance.js +128 -126
  159. package/dist/provenance.js.map +1 -1
  160. package/dist/sav/calculate.d.ts +13 -18
  161. package/dist/sav/calculate.d.ts.map +1 -1
  162. package/dist/sav/calculate.js +28 -62
  163. package/dist/sav/calculate.js.map +1 -1
  164. package/dist/sav/constants.d.ts +3 -2
  165. package/dist/sav/constants.d.ts.map +1 -1
  166. package/dist/sav/constants.js +2 -9
  167. package/dist/sav/constants.js.map +1 -1
  168. package/dist/sav/model.d.ts.map +1 -1
  169. package/dist/sav/model.js +2 -9
  170. package/dist/sav/model.js.map +1 -1
  171. package/dist/swisseph/calculate.d.ts +9 -9
  172. package/dist/swisseph/calculate.d.ts.map +1 -1
  173. package/dist/swisseph/calculate.js +26 -21
  174. package/dist/swisseph/calculate.js.map +1 -1
  175. package/dist/swisseph/helper.d.ts +5 -8
  176. package/dist/swisseph/helper.d.ts.map +1 -1
  177. package/dist/swisseph/helper.js +12 -19
  178. package/dist/swisseph/helper.js.map +1 -1
  179. package/dist/swisseph/model.d.ts.map +1 -1
  180. package/dist/swisseph/model.js +1 -0
  181. package/dist/swisseph/model.js.map +1 -1
  182. package/dist/transit/find.d.ts +1 -6
  183. package/dist/transit/find.d.ts.map +1 -1
  184. package/dist/transit/find.js +15 -14
  185. package/dist/transit/find.js.map +1 -1
  186. package/dist/transit/model.d.ts +1 -1
  187. package/dist/transit/search.d.ts +8 -10
  188. package/dist/transit/search.d.ts.map +1 -1
  189. package/dist/transit/search.js +27 -36
  190. package/dist/transit/search.js.map +1 -1
  191. package/dist/utils/index.d.ts +10 -0
  192. package/dist/utils/index.d.ts.map +1 -0
  193. package/dist/utils/index.js +10 -0
  194. package/dist/utils/index.js.map +1 -0
  195. package/dist/utils/placement.d.ts +9 -0
  196. package/dist/utils/placement.d.ts.map +1 -0
  197. package/dist/utils/placement.js +14 -0
  198. package/dist/utils/placement.js.map +1 -0
  199. package/dist/utils/position.d.ts +41 -0
  200. package/dist/utils/position.d.ts.map +1 -0
  201. package/dist/utils/position.js +82 -0
  202. package/dist/utils/position.js.map +1 -0
  203. package/dist/utils/zodiac.d.ts +34 -0
  204. package/dist/utils/zodiac.d.ts.map +1 -0
  205. package/dist/utils/zodiac.js +41 -0
  206. package/dist/utils/zodiac.js.map +1 -0
  207. package/package.json +2 -2
@@ -2,17 +2,11 @@ import { DateTime } from "effect";
2
2
  import type { Rashis } from "../chart/model.js";
3
3
  import { RashiMahaDasha } from "./model.js";
4
4
  export type Direction = 1 | -1;
5
- export declare function rashiIndex(sign: Rashis): number;
6
- declare function sequenceFrom(startIndex: number, direction: Direction): readonly Rashis[];
7
- /**
8
- * Creates one sign Mahadasha with twelve contiguous equal-month antardashas.
9
- * The final child is clamped to the calendar-shifted parent end so rounding in
10
- * fractional calendar years cannot leave a gap or overrun the parent interval.
11
- */
5
+ /** The final child clamps to the parent end; fractional years must not gap or overrun. */
12
6
  declare function makeRashiMahaDasha(mahadasha: Rashis, start: DateTime.Utc, years: number, antardashaSequence: readonly Rashis[]): RashiMahaDasha;
13
7
  export declare const RashiInternal: {
14
8
  makeRashiMahaDasha: typeof makeRashiMahaDasha;
15
- sequenceFrom: typeof sequenceFrom;
9
+ sequenceFrom: ((direction: 1 | -1) => (startIndex: number) => readonly Rashis[]) & ((startIndex: number, direction: 1 | -1) => readonly Rashis[]);
16
10
  };
17
11
  export {};
18
12
  //# sourceMappingURL=rashi-internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rashi-internal.d.ts","sourceRoot":"","sources":["../../src/dasha/rashi-internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAIlC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAmB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/B,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,iBAAS,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAIjF;AAED;;;;GAIG;AACH,iBAAS,kBAAkB,CACzB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,QAAQ,CAAC,GAAG,EACnB,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,cAAc,CAwBhB;AAED,eAAO,MAAM,aAAa;;;CAAuC,CAAC"}
1
+ {"version":3,"file":"rashi-internal.d.ts","sourceRoot":"","sources":["../../src/dasha/rashi-internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAmB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAI/B,0FAA0F;AAC1F,iBAAS,kBAAkB,CACzB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,QAAQ,CAAC,GAAG,EACnB,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,cAAc,CAwBhB;AAED,eAAO,MAAM,aAAa;;;CAAuC,CAAC"}
@@ -1,19 +1,9 @@
1
1
  import { DateTime } from "effect";
2
- import { RASHIS } from "../chart/internal/constants.js";
3
- import { signAt } from "../chart/internal/position.js";
2
+ import { Zodiac } from "../utils/index.js";
4
3
  import { Calendar } from "./calendar.js";
5
4
  import { RashiAntarDasha, RashiMahaDasha } from "./model.js";
6
- export function rashiIndex(sign) {
7
- return RASHIS.indexOf(sign);
8
- }
9
- function sequenceFrom(startIndex, direction) {
10
- return Array.from({ length: RASHIS.length }, (_, index) => signAt(startIndex + index * direction));
11
- }
12
- /**
13
- * Creates one sign Mahadasha with twelve contiguous equal-month antardashas.
14
- * The final child is clamped to the calendar-shifted parent end so rounding in
15
- * fractional calendar years cannot leave a gap or overrun the parent interval.
16
- */
5
+ const sequenceFrom = Zodiac.sequenceFrom;
6
+ /** The final child clamps to the parent end; fractional years must not gap or overrun. */
17
7
  function makeRashiMahaDasha(mahadasha, start, years, antardashaSequence) {
18
8
  const end = Calendar.shiftDate(start, years, 1);
19
9
  let antardashaStart = start;
@@ -1 +1 @@
1
- {"version":3,"file":"rashi-internal.js","sourceRoot":"","sources":["../../src/dasha/rashi-internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI7D,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB,EAAE,SAAoB;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACxD,MAAM,CAAC,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC,CACvC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,SAAiB,EACjB,KAAmB,EACnB,KAAa,EACb,kBAAqC;IAErC,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QAC/D,MAAM,aAAa,GACjB,KAAK,KAAK,kBAAkB,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;YAClC,SAAS;YACT,UAAU;YACV,KAAK,EAAE,eAAe;YACtB,GAAG,EAAE,aAAa;SACnB,CAAC,CAAC;QACH,eAAe,GAAG,aAAa,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC,IAAI,CAAC;QACzB,SAAS;QACT,KAAK;QACL,GAAG;QACH,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"rashi-internal.js","sourceRoot":"","sources":["../../src/dasha/rashi-internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI7D,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AAEzC,0FAA0F;AAC1F,SAAS,kBAAkB,CACzB,SAAiB,EACjB,KAAmB,EACnB,KAAa,EACb,kBAAqC;IAErC,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QAC/D,MAAM,aAAa,GACjB,KAAK,KAAK,kBAAkB,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;YAClC,SAAS;YACT,UAAU;YACV,KAAK,EAAE,eAAe;YACtB,GAAG,EAAE,aAAa;SACnB,CAAC,CAAC;QACH,eAAe,GAAG,aAAa,CAAC;QAChC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC,IAAI,CAAC;QACzB,SAAS;QACT,KAAK;QACL,GAAG;QACH,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,kBAAkB,EAAE,YAAY,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { DateTime, Effect } from "effect";
2
+ /** Finds the Rashi Mahadasha and Antardasha active at an instant (now by default); null when outside the timeline. */
2
3
  export declare const atRashi: (timeline: {
3
4
  readonly system: "Chara";
4
5
  readonly provenance: {
@@ -1 +1 @@
1
- {"version":3,"file":"rashi-query.d.ts","sourceRoot":"","sources":["../../src/dasha/rashi-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAc1C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAoBlB,CAAC"}
1
+ {"version":3,"file":"rashi-query.d.ts","sourceRoot":"","sources":["../../src/dasha/rashi-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAK1C,sHAAsH;AACtH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAoBlB,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { DateTime, Effect } from "effect";
2
- function contains(period, instant) {
3
- return (period.start.epochMilliseconds <= instant.epochMilliseconds &&
4
- instant.epochMilliseconds < period.end.epochMilliseconds);
5
- }
2
+ import { contains } from "./query.js";
3
+ /** Finds the Rashi Mahadasha and Antardasha active at an instant (now by default); null when outside the timeline. */
6
4
  export const atRashi = Effect.fn("astro-ascendant/dasha/atRashi")(function* (timeline, when) {
7
5
  const instant = when ?? (yield* DateTime.now);
8
6
  for (const mahadasha of timeline.mahadashas) {
@@ -1 +1 @@
1
- {"version":3,"file":"rashi-query.js","sourceRoot":"","sources":["../../src/dasha/rashi-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI1C,SAAS,QAAQ,CACf,MAAoE,EACpE,OAAqB;IAErB,OAAO,CACL,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB;QAC3D,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,EACzE,QAAoB,EACpB,IAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE9C,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;YAAE,SAAS;QAC5C,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,SAAS;oBACT,UAAU;iBACiB,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"rashi-query.js","sourceRoot":"","sources":["../../src/dasha/rashi-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,sHAAsH;AACtH,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,EACzE,QAAoB,EACpB,IAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE9C,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;YAAE,SAAS;QAC5C,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,SAAS;oBACT,UAAU;iBACiB,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC"}
@@ -1,14 +1,7 @@
1
1
  import { Effect } from "effect";
2
2
  import type { Moment, Placements } from "../../chart/model.js";
3
- import * as CharaKarakas from "../../jaimini/chara-karakas/index.js";
4
3
  import { DashaCalculationError, DashaEvidenceError } from "../error.js";
5
- /**
6
- * Builds the deterministic Sthira Dasha and its reproducible Brahma scorecard.
7
- * It selects the stronger of Lagna and its seventh sign, scores eligible sixth,
8
- * eighth, and twelfth lords by dignity, Chara Karaka, and Kendradi Bala, then
9
- * resolves equal scores by exact degree and natural strength. Mahadashas begin
10
- * from Brahma's sign and use the fixed 7/8/9-year modality durations.
11
- */
4
+ /** Calculates the Sthira Dasha: selects Brahma by Graha strength and lays out its Rashi Mahadashas. */
12
5
  export declare const calculateSthira: (moment: Moment, placements: Placements) => Effect.Effect<{
13
6
  readonly system: "Sthira";
14
7
  readonly provenance: {
@@ -83,5 +76,5 @@ export declare const calculateSthira: (moment: Moment, placements: Placements) =
83
76
  readonly end: import("effect/DateTime").Utc;
84
77
  }[];
85
78
  }[];
86
- }, import("../../jaimini/rashi-drishti/model.js").CalculationError | DashaCalculationError | DashaEvidenceError | CharaKarakas.ParseError, never>;
79
+ }, import("../../jaimini/rashi-drishti/model.js").CalculationError | DashaCalculationError | DashaEvidenceError | import("../../utils/position.js").LongitudeError | import("../../jaimini/chara-karakas/model.js").ParseError | import("../../utils/position.js").SignIndexError, never>;
87
80
  //# sourceMappingURL=calculate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculate.d.ts","sourceRoot":"","sources":["../../../src/dasha/sthira/calculate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AAEhF,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AAIrE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAsHxE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iJA+J1B,CAAC"}
1
+ {"version":3,"file":"calculate.d.ts","sourceRoot":"","sources":["../../../src/dasha/sthira/calculate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAK7D,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AAYhF,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA2OxE,uGAAuG;AACvG,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yRAqC1B,CAAC"}
@@ -1,97 +1,34 @@
1
- import { Effect } from "effect";
1
+ import { Array as Arr, Effect, HashSet, pipe } from "effect";
2
2
  import { inSignStatus } from "../../chart/helper.js";
3
- import { SIGN_LORDS } from "../../chart/internal/constants.js";
4
- import { signAt, signIndexOf } from "../../chart/internal/position.js";
3
+ import { RASHIS, SIGN_LORDS } from "../../chart/internal/constants.js";
4
+ import { signAt } from "../../chart/internal/position.js";
5
+ import { calculate as calculateCharaKarakas } from "../../jaimini/chara-karakas/calculate.js";
5
6
  import { compareExactDegrees, exactDegreeOf } from "../../jaimini/chara-karakas/helper.js";
6
- import * as CharaKarakas from "../../jaimini/chara-karakas/index.js";
7
+ import { ClassicalPlanets, } from "../../jaimini/chara-karakas/model.js";
7
8
  import { targetsOf } from "../../jaimini/rashi-drishti/helper.js";
8
- import { methods } from "../../provenance.js";
9
+ import { sthiraDasha } from "../../provenance.js";
10
+ import { Zodiac } from "../../utils/index.js";
11
+ import { indexOfSign, signIndexOf } from "../../utils/position.js";
9
12
  import { DashaCalculationError, DashaEvidenceError } from "../error.js";
10
- import { validateUniquePlanetPlacements } from "../evidence.js";
13
+ import { placementOf, validateRequiredPlacements } from "../evidence.js";
11
14
  import { SthiraDasha } from "../model.js";
12
- import { RashiInternal, rashiIndex } from "../rashi-internal.js";
13
- const ELIGIBLE_BRAHMA_PLANETS = new Set([
14
- "Sun",
15
- "Moon",
16
- "Mars",
17
- "Mercury",
18
- "Jupiter",
19
- "Venus",
20
- ]);
21
- const DIGNITY_BALA = {
22
- EXALTED: 60,
23
- MOOLA_TRIKONA: 45,
24
- OWN: 30,
25
- FRIEND: 22.5,
26
- NEUTRAL: 15,
27
- ENEMY: 7.5,
28
- DEBILITATED: 3.75,
29
- };
30
- const KARAKA_BALA = {
31
- Atmakaraka: 60,
32
- Amatyakaraka: 45,
33
- Bhratrikaraka: 30,
34
- Matrikaraka: 22.5,
35
- Putrakaraka: 15,
36
- Gnatikaraka: 7.5,
37
- Darakaraka: 3.75,
38
- };
39
- const NATURAL_STRENGTH = {
40
- Sun: 7,
41
- Moon: 6,
42
- Venus: 5,
43
- Jupiter: 4,
44
- Mercury: 3,
45
- Mars: 2,
46
- Saturn: 1,
47
- };
48
- const placementOf = Effect.fn("Dasha.brahmaPlacementOf")(function* (placements, planet, context) {
49
- const matches = placements.planets.filter((placement) => placement.name === planet);
50
- const match = matches[0];
51
- if (matches.length !== 1 || match === undefined) {
52
- return yield* DashaEvidenceError.make({
53
- placement: planet,
54
- expected: 1,
55
- actual: matches.length,
56
- context,
57
- });
58
- }
59
- return match;
60
- });
15
+ import { RashiInternal } from "../rashi-internal.js";
16
+ import { CHARA_BALA, DIGNITY_BALA, ELIGIBLE_BRAHMA_PLANETS, KARAKA_BALA, KENDRADI_BALA, NATURAL_STRENGTH, SIGN_DURATION, } from "./constants.js";
17
+ /** Brahma must be a luminary or a benefic/malefic classical planet — never Saturn, Rahu, or Ketu. */
61
18
  function isEligibleBrahma(planet) {
62
- return ELIGIBLE_BRAHMA_PLANETS.has(planet);
19
+ return HashSet.has(ELIGIBLE_BRAHMA_PLANETS, planet);
63
20
  }
64
- function charaBalaOf(sign) {
65
- const modality = rashiIndex(sign) % 3;
66
- return modality === 0 ? 15 : modality === 1 ? 30 : 60;
67
- }
68
- function kendradiBalaOf(house) {
69
- const remainder = (house - 1) % 3;
70
- return remainder === 0 ? 60 : remainder === 1 ? 30 : 15;
71
- }
72
- function durationOf(sign) {
73
- const modality = rashiIndex(sign) % 3;
74
- return modality === 0 ? 7 : modality === 1 ? 8 : 9;
75
- }
76
- /**
77
- * Computes the B.V. Raman/Koch Rashi Bala used only to choose the Brahma
78
- * reference between Lagna and the seventh sign: modality, occupancy, and
79
- * Jaimini Rashi Drishti from the lord, Jupiter, and Mercury.
80
- */
81
- const rashiBalaOf = Effect.fn("Dasha.rashiBalaOf")(function* (placements, sign) {
82
- const lord = SIGN_LORDS[sign];
83
- const aspectingPlanets = [];
84
- for (const planet of [lord, "Jupiter", "Mercury"]) {
85
- if (aspectingPlanets.includes(planet))
86
- continue;
87
- const placement = yield* placementOf(placements, planet, "Rashi Bala drishti");
88
- const aspecting = yield* targetsOf(signAt(signIndexOf(placement.longitude)));
89
- if (aspecting.includes(sign)) {
90
- aspectingPlanets.push(planet);
91
- }
92
- }
93
- const planetCount = placements.planets.filter((placement) => signIndexOf(placement.longitude) === rashiIndex(sign)).length;
94
- const charaBala = charaBalaOf(sign);
21
+ /** Orders Brahma contenders by total bala, then exact degree, then natural strength — all descending. */
22
+ const byStrength = (left, right) => right.total - left.total ||
23
+ compareExactDegrees(right.exactDegree, left.exactDegree) ||
24
+ right.naturalStrength - left.naturalStrength;
25
+ /** Rashi strength as Chara Bala (movability) + Sthira Bala (occupancy) + Drishti Bala (aspect). */
26
+ const rashiBalaOf = Effect.fn("astro-ascendant/dasha/sthira/rashiBalaOf")(function* (placements, sign) {
27
+ const signIdx = yield* indexOfSign(sign);
28
+ // Dedupe handles the case where the lord is Jupiter or Mercury
29
+ const aspectingPlanets = yield* Effect.filter(Arr.dedupe([SIGN_LORDS[sign], "Jupiter", "Mercury"]), (planet) => placementOf(placements, planet, "Rashi Bala drishti").pipe(Effect.flatMap((found) => signAt(found.longitude)), Effect.flatMap((planetSign) => targetsOf(planetSign)), Effect.map((targets) => targets.includes(sign))));
30
+ const planetCount = (yield* Effect.filter(placements.planets, ({ longitude }) => signIndexOf(longitude).pipe(Effect.map((index) => index === signIdx)))).length;
31
+ const charaBala = CHARA_BALA[sign];
95
32
  const sthiraBala = planetCount === 0 ? 0 : 45 + 15 * planetCount;
96
33
  const drishtiBala = aspectingPlanets.length * 60;
97
34
  return {
@@ -100,125 +37,122 @@ const rashiBalaOf = Effect.fn("Dasha.rashiBalaOf")(function* (placements, sign)
100
37
  sthiraBala,
101
38
  drishtiBala,
102
39
  planetCount,
103
- aspectingPlanets,
40
+ aspectingPlanets: [...aspectingPlanets],
104
41
  total: charaBala + sthiraBala + drishtiBala,
105
42
  };
106
43
  });
107
- /**
108
- * Builds the deterministic Sthira Dasha and its reproducible Brahma scorecard.
109
- * It selects the stronger of Lagna and its seventh sign, scores eligible sixth,
110
- * eighth, and twelfth lords by dignity, Chara Karaka, and Kendradi Bala, then
111
- * resolves equal scores by exact degree and natural strength. Mahadashas begin
112
- * from Brahma's sign and use the fixed 7/8/9-year modality durations.
113
- */
114
- export const calculateSthira = Effect.fn("astro-ascendant/dasha/calculateSthira")(function* (moment, placements) {
115
- yield* validateUniquePlanetPlacements(placements, "Sthira Dasha strength");
116
- const lagnaSignIndex = signIndexOf(placements.lagna.longitude);
117
- const lagnaSign = signAt(lagnaSignIndex);
118
- const seventhSign = signAt(lagnaSignIndex + 6);
119
- const lagnaRashiBala = yield* rashiBalaOf(placements, lagnaSign);
120
- const seventhRashiBala = yield* rashiBalaOf(placements, seventhSign);
121
- const referenceSign = lagnaRashiBala.total >= seventhRashiBala.total ? lagnaSign : seventhSign;
122
- const rawCandidates = [5, 7, 11].map((offset) => SIGN_LORDS[signAt(rashiIndex(referenceSign) + offset)]);
123
- const candidates = rawCandidates
124
- .filter(isEligibleBrahma)
125
- .filter((candidate, index, values) => values.indexOf(candidate) === index);
126
- const firstCandidate = candidates[0];
127
- if (firstCandidate === undefined) {
128
- return yield* DashaEvidenceError.make({
44
+ /** Picks the stronger of the Lagna and 7th signs as the Brahma reference; Lagna wins ties. */
45
+ const referenceOf = Effect.fn("astro-ascendant/dasha/sthira/referenceOf")(function* (placements) {
46
+ const lagnaSign = yield* signAt(placements.lagna.longitude);
47
+ const seventhSign = Arr.getUnsafe(RASHIS, Zodiac.wrapIndex((yield* indexOfSign(lagnaSign)) + 6));
48
+ const [lagnaRashiBala, seventhRashiBala] = yield* Effect.all([
49
+ rashiBalaOf(placements, lagnaSign),
50
+ rashiBalaOf(placements, seventhSign),
51
+ ]);
52
+ return {
53
+ lagnaRashiBala,
54
+ seventhRashiBala,
55
+ referenceSign: lagnaRashiBala.total >= seventhRashiBala.total ? lagnaSign : seventhSign,
56
+ };
57
+ });
58
+ /** Lords of the 5th, 7th, and 11th from the reference sign, filtered to eligible Brahma planets and deduped. */
59
+ const candidatesOf = Effect.fn("astro-ascendant/dasha/sthira/candidatesOf")(function* (referenceSign) {
60
+ const start = yield* indexOfSign(referenceSign);
61
+ return pipe([5, 7, 11], Arr.map((offset) => SIGN_LORDS[Arr.getUnsafe(RASHIS, Zodiac.wrapIndex(start + offset))]), Arr.filter((candidate) => isEligibleBrahma(candidate)), Arr.dedupe);
62
+ });
63
+ /** Chara Karaka assignments plus the resolved Atmakaraka and its placement for Kendradi Bala. */
64
+ const karakasOf = Effect.fn("astro-ascendant/dasha/sthira/karakasOf")(function* (placements) {
65
+ const karakas = yield* calculateCharaKarakas(placements).pipe(Effect.mapError((error) => error._tag === "CharaKarakasEvidenceError"
66
+ ? DashaEvidenceError.make({
67
+ placement: error.placement,
68
+ expected: 1,
69
+ actual: error.actual,
70
+ context: "Brahma Chara Karaka Bala",
71
+ })
72
+ : DashaEvidenceError.make({
129
73
  placement: "Lagna",
130
74
  expected: 1,
131
75
  actual: 0,
132
- context: "No eligible Brahma candidates remain after excluding Saturn, Rahu, and Ketu",
76
+ context: `Brahma Chara Karaka Bala: ${error.message}`,
77
+ })));
78
+ const atmakaraka = karakas.assignments.Atmakaraka.reduce((strongest, holder) => NATURAL_STRENGTH[holder.planet] > NATURAL_STRENGTH[strongest.planet] ? holder : strongest);
79
+ const atmakarakaPlacement = yield* placementOf(placements, atmakaraka.planet, "Brahma Kendradi Bala Atmakaraka");
80
+ const atmakarakaSignIndex = yield* signIndexOf(atmakarakaPlacement.longitude);
81
+ const atmakarakaSign = yield* signAt(atmakarakaPlacement.longitude);
82
+ return { karakas, atmakaraka, atmakarakaSign, atmakarakaSignIndex };
83
+ });
84
+ /** Scores one Brahma contender on dignity, Chara Karaka, and Kendradi-from-Atmakaraka balas. */
85
+ const scoreCandidate = Effect.fn("astro-ascendant/dasha/sthira/scoreCandidate")(function* (candidate, placements, karakas, atmakarakaSignIndex) {
86
+ const placement = yield* placementOf(placements, candidate, "Brahma Graha Bala");
87
+ const [dignity] = inSignStatus(candidate, placement.longitude);
88
+ if (dignity === undefined) {
89
+ return yield* DashaCalculationError.make({
90
+ message: `Missing dignity for ${candidate}`,
91
+ cause: candidate,
133
92
  });
134
93
  }
135
- const karakas = yield* CharaKarakas.calculate(placements).pipe(Effect.mapError((error) => {
136
- if (error._tag === "CharaKarakasEvidenceError") {
137
- return DashaEvidenceError.make({
138
- placement: error.placement,
139
- expected: 1,
140
- actual: error.actual,
141
- context: "Brahma Chara Karaka Bala",
142
- });
143
- }
144
- return DashaEvidenceError.make({
94
+ const charaKarakaRoles = pipe(Object.entries(karakas.assignments), Arr.filter(([, holders]) => holders.some((holder) => holder.planet === candidate)), Arr.map(([role]) => role));
95
+ const charaKarakaBala = Math.max(...charaKarakaRoles.map((role) => KARAKA_BALA[role]));
96
+ const signIndex = yield* signIndexOf(placement.longitude);
97
+ const kendradiHouseFromAtmakaraka = Zodiac.houseDistance(atmakarakaSignIndex, signIndex);
98
+ const kendradiBala = KENDRADI_BALA[kendradiHouseFromAtmakaraka];
99
+ const exactDegree = yield* exactDegreeOf(placement.longitude);
100
+ const sign = yield* signAt(placement.longitude);
101
+ return {
102
+ planet: candidate,
103
+ sign,
104
+ dignity,
105
+ dignityBala: DIGNITY_BALA[dignity],
106
+ charaKarakaRoles,
107
+ charaKarakaBala,
108
+ kendradiHouseFromAtmakaraka,
109
+ kendradiBala,
110
+ exactDegreeWithinSign: exactDegree.value,
111
+ naturalStrength: NATURAL_STRENGTH[candidate],
112
+ total: DIGNITY_BALA[dignity] + charaKarakaBala + kendradiBala,
113
+ exactDegree,
114
+ };
115
+ });
116
+ /** Scores every contender, ranks by strength, and returns the winner with its selection record. */
117
+ const scoredOf = Effect.fn("astro-ascendant/dasha/sthira/scoredOf")(function* (candidates, placements, karakas, atmakarakaSignIndex) {
118
+ if (candidates.length === 0) {
119
+ return yield* DashaEvidenceError.make({
145
120
  placement: "Lagna",
146
121
  expected: 1,
147
122
  actual: 0,
148
- context: `Brahma Chara Karaka Bala: ${error.message}`,
149
- });
150
- }));
151
- const atmakaraka = karakas.assignments.Atmakaraka.reduce((strongest, holder) => NATURAL_STRENGTH[holder.planet] > NATURAL_STRENGTH[strongest.planet] ? holder : strongest);
152
- const atmakarakaPlacement = yield* placementOf(placements, atmakaraka.planet, "Brahma Kendradi Bala Atmakaraka");
153
- const atmakarakaSignIndex = signIndexOf(atmakarakaPlacement.longitude);
154
- const scoredWithExactDegrees = [];
155
- for (const candidate of candidates) {
156
- const placement = yield* placementOf(placements, candidate, "Brahma Graha Bala");
157
- const [dignity] = inSignStatus(candidate, placement.longitude);
158
- if (dignity === undefined) {
159
- return yield* DashaCalculationError.make({
160
- message: `Missing dignity for ${candidate}`,
161
- cause: candidate,
162
- });
163
- }
164
- const charaKarakaRoles = Object.entries(karakas.assignments)
165
- .filter(([, holders]) => holders.some((holder) => holder.planet === candidate))
166
- .map(([role]) => role);
167
- const charaKarakaBala = Math.max(...charaKarakaRoles.map((role) => KARAKA_BALA[role]));
168
- const signIndex = signIndexOf(placement.longitude);
169
- const kendradiHouseFromAtmakaraka = ((signIndex - atmakarakaSignIndex + 12) % 12) + 1;
170
- const kendradiBala = kendradiBalaOf(kendradiHouseFromAtmakaraka);
171
- const exactDegree = yield* exactDegreeOf(placement.longitude);
172
- scoredWithExactDegrees.push({
173
- planet: candidate,
174
- sign: signAt(signIndex),
175
- dignity,
176
- dignityBala: DIGNITY_BALA[dignity],
177
- charaKarakaRoles,
178
- charaKarakaBala,
179
- kendradiHouseFromAtmakaraka,
180
- kendradiBala,
181
- exactDegreeWithinSign: exactDegree.value,
182
- naturalStrength: NATURAL_STRENGTH[candidate],
183
- total: DIGNITY_BALA[dignity] + charaKarakaBala + kendradiBala,
184
- exactDegree,
123
+ context: "No eligible Brahma candidates remain after excluding Saturn, Rahu, and Ketu",
185
124
  });
186
125
  }
187
- scoredWithExactDegrees.sort((left, right) => right.total - left.total ||
188
- compareExactDegrees(right.exactDegree, left.exactDegree) ||
189
- right.naturalStrength - left.naturalStrength);
190
- const winner = scoredWithExactDegrees[0];
126
+ const [winner, ...rest] = pipe(yield* Effect.forEach(candidates, (candidate) => scoreCandidate(candidate, placements, karakas, atmakarakaSignIndex)), (scored) => [...scored].sort(byStrength));
191
127
  if (winner === undefined) {
192
128
  return yield* DashaCalculationError.make({
193
129
  message: "Missing scored Brahma candidate",
194
- cause: scoredWithExactDegrees,
130
+ cause: candidates,
195
131
  });
196
132
  }
197
- const candidateScores = scoredWithExactDegrees.map((score) => ({
198
- planet: score.planet,
199
- sign: score.sign,
200
- dignity: score.dignity,
201
- dignityBala: score.dignityBala,
202
- charaKarakaRoles: score.charaKarakaRoles,
203
- charaKarakaBala: score.charaKarakaBala,
204
- kendradiHouseFromAtmakaraka: score.kendradiHouseFromAtmakaraka,
205
- kendradiBala: score.kendradiBala,
206
- exactDegreeWithinSign: score.exactDegreeWithinSign,
207
- naturalStrength: score.naturalStrength,
208
- total: score.total,
209
- }));
210
- const brahmaSignIndex = rashiIndex(winner.sign);
211
- const sequence = RashiInternal.sequenceFrom(brahmaSignIndex, 1);
212
- const mahadashas = [];
213
- let mahadashaStart = moment.date;
214
- for (const mahadasha of sequence) {
215
- const period = RashiInternal.makeRashiMahaDasha(mahadasha, mahadashaStart, durationOf(mahadasha), RashiInternal.sequenceFrom(rashiIndex(mahadasha), 1));
216
- mahadashas.push(period);
217
- mahadashaStart = period.end;
218
- }
133
+ return {
134
+ winner,
135
+ candidateScores: pipe([winner, ...rest], Arr.map(({ exactDegree: _dropped, ...score }) => score)),
136
+ };
137
+ });
138
+ /** Builds the twelve Rashi Mahadashas from the Brahma sign onward, each lasting its sign duration. */
139
+ const mahadashasFrom = Effect.fn("astro-ascendant/dasha/sthira/mahadashasFrom")(function* (winnerSign, start) {
140
+ const startIndex = yield* indexOfSign(winnerSign);
141
+ return pipe(Arr.range(0, RASHIS.length - 1), Arr.map((offset) => Zodiac.wrapIndex(startIndex + offset)), Arr.reduce({ start, periods: [] }, ({ start, periods }, index) => {
142
+ const mahadasha = Arr.getUnsafe(RASHIS, index);
143
+ const period = RashiInternal.makeRashiMahaDasha(mahadasha, start, SIGN_DURATION[mahadasha], RashiInternal.sequenceFrom(index, 1));
144
+ return { start: period.end, periods: [...periods, period] };
145
+ }), ({ periods }) => periods);
146
+ });
147
+ /** Calculates the Sthira Dasha: selects Brahma by Graha strength and lays out its Rashi Mahadashas. */
148
+ export const calculateSthira = Effect.fn("astro-ascendant/dasha/sthira/calculateSthira")(function* (moment, placements) {
149
+ yield* validateRequiredPlacements(placements, ClassicalPlanets.literals, "Sthira Dasha strength");
150
+ const { lagnaRashiBala, seventhRashiBala, referenceSign } = yield* referenceOf(placements);
151
+ const { karakas, atmakaraka, atmakarakaSign, atmakarakaSignIndex } = yield* karakasOf(placements);
152
+ const { winner, candidateScores } = yield* scoredOf(yield* candidatesOf(referenceSign), placements, karakas, atmakarakaSignIndex);
219
153
  return SthiraDasha.make({
220
154
  system: "Sthira",
221
- provenance: methods.sthiraDasha.provenance,
155
+ provenance: sthiraDasha.provenance,
222
156
  brahma: {
223
157
  planet: winner.planet,
224
158
  sign: winner.sign,
@@ -229,7 +163,7 @@ export const calculateSthira = Effect.fn("astro-ascendant/dasha/calculateSthira"
229
163
  referenceTieBreak: "lagna-on-equal-rashi-bala",
230
164
  atmakaraka: {
231
165
  planet: atmakaraka.planet,
232
- sign: signAt(atmakarakaSignIndex),
166
+ sign: atmakarakaSign,
233
167
  resolution: karakas.assignments.Atmakaraka.length === 1
234
168
  ? "highest-exact-degree"
235
169
  : "natural-strength-on-exact-degree-tie",
@@ -237,7 +171,7 @@ export const calculateSthira = Effect.fn("astro-ascendant/dasha/calculateSthira"
237
171
  candidates: [candidateScores[0], ...candidateScores.slice(1)],
238
172
  },
239
173
  },
240
- mahadashas,
174
+ mahadashas: yield* mahadashasFrom(winner.sign, moment.date),
241
175
  });
242
176
  });
243
177
  //# sourceMappingURL=calculate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calculate.js","sourceRoot":"","sources":["../../../src/dasha/sthira/calculate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculate.js","sourceRoot":"","sources":["../../../src/dasha/sthira/calculate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EACL,gBAAgB,GAGjB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAOzE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAKxB,qGAAqG;AACrG,SAAS,gBAAgB,CAAC,MAAe;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAA8B,CAAC,CAAC;AAC9E,CAAC;AAED,yGAAyG;AAEzG,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CACzD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;IACxB,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC;IACxD,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AAE/C,mGAAmG;AACnG,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,0CAA0C,CAAC,CAAC,QAAQ,CAAC,EACjF,UAAsB,EACtB,IAAY;IAEZ,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,+DAA+D;IAC/D,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC,EAC7D,CAAC,MAAM,EAAE,EAAE,CACT,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,IAAI,CACxD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAClD,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EACrD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAChD,CACJ,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAC9E,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAE,KAAgB,KAAK,OAAO,CAAC,CAAC,CAClF,CAAC,CAAC,MAAM,CAAC;IACV,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;IACjE,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,GAAG,EAAE,CAAC;IACjD,OAAO;QACL,IAAI;QACJ,SAAS;QACT,UAAU;QACV,WAAW;QACX,WAAW;QACX,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC;QACvC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW;KACxB,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,8FAA8F;AAC9F,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,0CAA0C,CAAC,CAAC,QAAQ,CAAC,EACjF,UAAsB;IAEtB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3D,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC;QAClC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC;KACrC,CAAC,CAAC;IACH,OAAO;QACL,cAAc;QACd,gBAAgB;QAChB,aAAa,EAAE,cAAc,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;KACxF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gHAAgH;AAChH,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,2CAA2C,CAAC,CAAC,QAAQ,CAAC,EACnF,aAAqB;IAErB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAChD,OAAO,IAAI,CACT,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EACV,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EACxF,GAAG,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EACtD,GAAG,CAAC,MAAM,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,iGAAiG;AACjG,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,wCAAwC,CAAC,CAAC,QAAQ,CAAC,EAC7E,UAAsB;IAEtB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,IAAI,CAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,KAAK,CAAC,IAAI,KAAK,2BAA2B;QACxC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,0BAA0B;SACpC,CAAC;QACJ,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACtB,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,6BAA6B,KAAK,CAAC,OAAO,EAAE;SACtD,CAAC,CACP,CACF,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAC7E,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;IACF,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,WAAW,CAC5C,UAAU,EACV,UAAU,CAAC,MAAM,EACjB,iCAAiC,CAClC,CAAC;IACF,MAAM,mBAAmB,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACpE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,gGAAgG;AAChG,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,6CAA6C,CAAC,CAAC,QAAQ,CAAC,EACvF,SAA+B,EAC/B,UAAsB,EACtB,OAAgB,EAChB,mBAAsC;IAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACjF,MAAM,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACvC,OAAO,EAAE,uBAAuB,SAAS,EAAE;YAC3C,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,gBAAgB,GAAG,IAAI,CAC3B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAEjC,EACD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,EAClF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAC1B,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,2BAA2B,GAAG,MAAM,CAAC,aAAa,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IACzF,MAAM,YAAY,GAAG,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,IAAI;QACJ,OAAO;QACP,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC;QAClC,gBAAgB;QAChB,eAAe;QACf,2BAA2B;QAC3B,YAAY;QACZ,qBAAqB,EAAE,WAAW,CAAC,KAAK;QACxC,eAAe,EAAE,gBAAgB,CAAC,SAAS,CAAC;QAC5C,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,eAAe,GAAG,YAAY;QAC7D,WAAW;KACK,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,mGAAmG;AACnG,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,uCAAuC,CAAC,CAAC,QAAQ,CAAC,EAC3E,UAAuC,EACvC,UAAsB,EACtB,OAAgB,EAChB,mBAAsC;IAEtC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACpC,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,6EAA6E;SACvF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAC5B,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CAC9C,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,CAAC,CACpE,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CACzC,CAAC;IACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACvC,OAAO,EAAE,iCAAiC;YAC1C,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,MAAM;QACN,eAAe,EAAE,IAAI,CACnB,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EACjB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAwB,EAAE,CAAC,KAAK,CAAC,CAC9E;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,sGAAsG;AACtG,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,6CAA6C,CAAC,CAAC,QAAQ,CAAC,EACvF,UAAkB,EAClB,KAAqB;IAErB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO,IAAI,CACT,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAC/B,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,EAC1D,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAA2B,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE;QACxF,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,kBAAkB,CAC7C,SAAS,EACT,KAAK,EACL,aAAa,CAAC,SAAS,CAAC,EACxB,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CACrC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;IAC9D,CAAC,CAAC,EACF,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CACzB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,uGAAuG;AACvG,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,8CAA8C,CAAC,CAAC,QAAQ,CAAC,EAChG,MAAc,EACd,UAAsB;IAEtB,KAAK,CAAC,CAAC,0BAA0B,CAAC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IAClG,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3F,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClG,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC,QAAQ,CACjD,KAAK,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,EAClC,UAAU,EACV,OAAO,EACP,mBAAmB,CACpB,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC;QACtB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE;gBACT,UAAU,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;gBAC9C,aAAa;gBACb,iBAAiB,EAAE,2BAA2B;gBAC9C,UAAU,EAAE;oBACV,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,IAAI,EAAE,cAAc;oBACpB,UAAU,EACR,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;wBACzC,CAAC,CAAC,sBAAsB;wBACxB,CAAC,CAAC,sCAAsC;iBAC7C;gBACD,UAAU,EAAE,CAAC,eAAe,CAAC,CAAC,CAAE,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/D;SACF;QACD,UAAU,EAAE,KAAK,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { HashSet, Record } from "effect";
2
+ import type { PlanetDignity } from "../../chart/model.js";
3
+ import type { ClassicalPlanets, Role } from "../../jaimini/chara-karakas/index.js";
4
+ export declare const ELIGIBLE_BRAHMA_PLANETS: HashSet.HashSet<"Jupiter" | "Mars" | "Mercury" | "Moon" | "Sun" | "Venus">;
5
+ export declare const DIGNITY_BALA: Record.ReadonlyRecord<PlanetDignity, number>;
6
+ export declare const KARAKA_BALA: Record.ReadonlyRecord<Role, number>;
7
+ export declare const NATURAL_STRENGTH: Record.ReadonlyRecord<ClassicalPlanets, number>;
8
+ export declare const KENDRADI_BALA: {
9
+ readonly 1: 60;
10
+ readonly 4: 60;
11
+ readonly 7: 60;
12
+ readonly 10: 60;
13
+ readonly 2: 30;
14
+ readonly 5: 30;
15
+ readonly 8: 30;
16
+ readonly 11: 30;
17
+ readonly 3: 15;
18
+ readonly 6: 15;
19
+ readonly 9: 15;
20
+ readonly 12: 15;
21
+ };
22
+ export declare const CHARA_BALA: {
23
+ readonly Aries: 15;
24
+ readonly Cancer: 15;
25
+ readonly Libra: 15;
26
+ readonly Capricorn: 15;
27
+ readonly Taurus: 30;
28
+ readonly Leo: 30;
29
+ readonly Scorpio: 30;
30
+ readonly Aquarius: 30;
31
+ readonly Gemini: 60;
32
+ readonly Virgo: 60;
33
+ readonly Sagittarius: 60;
34
+ readonly Pisces: 60;
35
+ };
36
+ export declare const SIGN_DURATION: {
37
+ readonly Aries: 7;
38
+ readonly Cancer: 7;
39
+ readonly Libra: 7;
40
+ readonly Capricorn: 7;
41
+ readonly Taurus: 8;
42
+ readonly Leo: 8;
43
+ readonly Scorpio: 8;
44
+ readonly Aquarius: 8;
45
+ readonly Gemini: 9;
46
+ readonly Virgo: 9;
47
+ readonly Sagittarius: 9;
48
+ readonly Pisces: 9;
49
+ };
50
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/dasha/sthira/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAU,aAAa,EAAU,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,sCAAsC,CAAC;AAGnF,eAAO,MAAM,uBAAuB,4EAAuD,CAAC;AAE5F,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAQrE,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAQ3D,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,CAQ5E,CAAC;AAEF,eAAO,MAAM,aAAa;gBACrB,EAAE;gBACF,EAAE;gBACF,EAAE;iBACD,EAAE;gBACH,EAAE;gBACF,EAAE;gBACF,EAAE;iBACD,EAAE;gBACH,EAAE;gBACF,EAAE;gBACF,EAAE;iBACD,EAAE;CACqD,CAAC;AAE9D,eAAO,MAAM,UAAU;oBACd,EAAE;qBACD,EAAE;oBACH,EAAE;wBACE,EAAE;qBACL,EAAE;kBACL,EAAE;sBACE,EAAE;uBACD,EAAE;qBACJ,EAAE;oBACH,EAAE;0BACI,EAAE;qBACP,EAAE;CACiD,CAAC;AAE9D,eAAO,MAAM,aAAa;oBACjB,CAAC;qBACA,CAAC;oBACF,CAAC;wBACG,CAAC;qBACJ,CAAC;kBACJ,CAAC;sBACG,CAAC;uBACA,CAAC;qBACH,CAAC;oBACF,CAAC;0BACK,CAAC;qBACN,CAAC;CAC+C,CAAC"}