astro-ascendant 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +185 -0
  3. package/dist/astro-params/index.d.ts +3 -0
  4. package/dist/astro-params/index.d.ts.map +1 -0
  5. package/dist/astro-params/index.js +3 -0
  6. package/dist/astro-params/index.js.map +1 -0
  7. package/dist/astro-params/model.d.ts +11 -0
  8. package/dist/astro-params/model.d.ts.map +1 -0
  9. package/dist/astro-params/model.js +63 -0
  10. package/dist/astro-params/model.js.map +1 -0
  11. package/dist/astro-params/service.d.ts +12 -0
  12. package/dist/astro-params/service.d.ts.map +1 -0
  13. package/dist/astro-params/service.js +13 -0
  14. package/dist/astro-params/service.js.map +1 -0
  15. package/dist/chart/bhava/calculate.d.ts +6 -0
  16. package/dist/chart/bhava/calculate.d.ts.map +1 -0
  17. package/dist/chart/bhava/calculate.js +89 -0
  18. package/dist/chart/bhava/calculate.js.map +1 -0
  19. package/dist/chart/bhava/helper.d.ts +6 -0
  20. package/dist/chart/bhava/helper.d.ts.map +1 -0
  21. package/dist/chart/bhava/helper.js +22 -0
  22. package/dist/chart/bhava/helper.js.map +1 -0
  23. package/dist/chart/bhava/index.d.ts +2 -0
  24. package/dist/chart/bhava/index.d.ts.map +1 -0
  25. package/dist/chart/bhava/index.js +2 -0
  26. package/dist/chart/bhava/index.js.map +1 -0
  27. package/dist/chart/charts.d.ts +5 -0
  28. package/dist/chart/charts.d.ts.map +1 -0
  29. package/dist/chart/charts.js +74 -0
  30. package/dist/chart/charts.js.map +1 -0
  31. package/dist/chart/divisional-mapping/calculate.d.ts +6 -0
  32. package/dist/chart/divisional-mapping/calculate.d.ts.map +1 -0
  33. package/dist/chart/divisional-mapping/calculate.js +24 -0
  34. package/dist/chart/divisional-mapping/calculate.js.map +1 -0
  35. package/dist/chart/divisional-mapping/error.d.ts +9 -0
  36. package/dist/chart/divisional-mapping/error.d.ts.map +1 -0
  37. package/dist/chart/divisional-mapping/error.js +7 -0
  38. package/dist/chart/divisional-mapping/error.js.map +1 -0
  39. package/dist/chart/divisional-mapping/helper.d.ts +11 -0
  40. package/dist/chart/divisional-mapping/helper.d.ts.map +1 -0
  41. package/dist/chart/divisional-mapping/helper.js +92 -0
  42. package/dist/chart/divisional-mapping/helper.js.map +1 -0
  43. package/dist/chart/divisional-mapping/index.d.ts +4 -0
  44. package/dist/chart/divisional-mapping/index.d.ts.map +1 -0
  45. package/dist/chart/divisional-mapping/index.js +4 -0
  46. package/dist/chart/divisional-mapping/index.js.map +1 -0
  47. package/dist/chart/divisional-mapping/model.d.ts +16 -0
  48. package/dist/chart/divisional-mapping/model.d.ts.map +1 -0
  49. package/dist/chart/divisional-mapping/model.js +2 -0
  50. package/dist/chart/divisional-mapping/model.js.map +1 -0
  51. package/dist/chart/error.d.ts +21 -0
  52. package/dist/chart/error.d.ts.map +1 -0
  53. package/dist/chart/error.js +18 -0
  54. package/dist/chart/error.js.map +1 -0
  55. package/dist/chart/generate.d.ts +7 -0
  56. package/dist/chart/generate.d.ts.map +1 -0
  57. package/dist/chart/generate.js +62 -0
  58. package/dist/chart/generate.js.map +1 -0
  59. package/dist/chart/helper.d.ts +4 -0
  60. package/dist/chart/helper.d.ts.map +1 -0
  61. package/dist/chart/helper.js +21 -0
  62. package/dist/chart/helper.js.map +1 -0
  63. package/dist/chart/index.d.ts +5 -0
  64. package/dist/chart/index.d.ts.map +1 -0
  65. package/dist/chart/index.js +5 -0
  66. package/dist/chart/index.js.map +1 -0
  67. package/dist/chart/internal/constants.d.ts +210 -0
  68. package/dist/chart/internal/constants.d.ts.map +1 -0
  69. package/dist/chart/internal/constants.js +461 -0
  70. package/dist/chart/internal/constants.js.map +1 -0
  71. package/dist/chart/internal/position.d.ts +5 -0
  72. package/dist/chart/internal/position.d.ts.map +1 -0
  73. package/dist/chart/internal/position.js +14 -0
  74. package/dist/chart/internal/position.js.map +1 -0
  75. package/dist/chart/model.d.ts +153 -0
  76. package/dist/chart/model.d.ts.map +1 -0
  77. package/dist/chart/model.js +124 -0
  78. package/dist/chart/model.js.map +1 -0
  79. package/dist/chart/placements.d.ts +10 -0
  80. package/dist/chart/placements.d.ts.map +1 -0
  81. package/dist/chart/placements.js +41 -0
  82. package/dist/chart/placements.js.map +1 -0
  83. package/dist/dasha/calculate.d.ts +15 -0
  84. package/dist/dasha/calculate.d.ts.map +1 -0
  85. package/dist/dasha/calculate.js +106 -0
  86. package/dist/dasha/calculate.js.map +1 -0
  87. package/dist/dasha/error.d.ts +9 -0
  88. package/dist/dasha/error.d.ts.map +1 -0
  89. package/dist/dasha/error.js +7 -0
  90. package/dist/dasha/error.js.map +1 -0
  91. package/dist/dasha/index.d.ts +5 -0
  92. package/dist/dasha/index.d.ts.map +1 -0
  93. package/dist/dasha/index.js +5 -0
  94. package/dist/dasha/index.js.map +1 -0
  95. package/dist/dasha/model.d.ts +56 -0
  96. package/dist/dasha/model.d.ts.map +1 -0
  97. package/dist/dasha/model.js +20 -0
  98. package/dist/dasha/model.js.map +1 -0
  99. package/dist/dasha/query.d.ts +31 -0
  100. package/dist/dasha/query.d.ts.map +1 -0
  101. package/dist/dasha/query.js +19 -0
  102. package/dist/dasha/query.js.map +1 -0
  103. package/dist/ephemeris/error.d.ts +9 -0
  104. package/dist/ephemeris/error.d.ts.map +1 -0
  105. package/dist/ephemeris/error.js +7 -0
  106. package/dist/ephemeris/error.js.map +1 -0
  107. package/dist/ephemeris/index.d.ts +4 -0
  108. package/dist/ephemeris/index.d.ts.map +1 -0
  109. package/dist/ephemeris/index.js +4 -0
  110. package/dist/ephemeris/index.js.map +1 -0
  111. package/dist/ephemeris/model.d.ts +28 -0
  112. package/dist/ephemeris/model.d.ts.map +1 -0
  113. package/dist/ephemeris/model.js +14 -0
  114. package/dist/ephemeris/model.js.map +1 -0
  115. package/dist/ephemeris/service.d.ts +14 -0
  116. package/dist/ephemeris/service.d.ts.map +1 -0
  117. package/dist/ephemeris/service.js +8 -0
  118. package/dist/ephemeris/service.js.map +1 -0
  119. package/dist/index.d.ts +13 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.js +13 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/jaimini/argala/calculate.d.ts +28 -0
  124. package/dist/jaimini/argala/calculate.d.ts.map +1 -0
  125. package/dist/jaimini/argala/calculate.js +56 -0
  126. package/dist/jaimini/argala/calculate.js.map +1 -0
  127. package/dist/jaimini/argala/helper.d.ts +8 -0
  128. package/dist/jaimini/argala/helper.d.ts.map +1 -0
  129. package/dist/jaimini/argala/helper.js +12 -0
  130. package/dist/jaimini/argala/helper.js.map +1 -0
  131. package/dist/jaimini/argala/index.d.ts +3 -0
  132. package/dist/jaimini/argala/index.d.ts.map +1 -0
  133. package/dist/jaimini/argala/index.js +3 -0
  134. package/dist/jaimini/argala/index.js.map +1 -0
  135. package/dist/jaimini/argala/model.d.ts +96 -0
  136. package/dist/jaimini/argala/model.d.ts.map +1 -0
  137. package/dist/jaimini/argala/model.js +38 -0
  138. package/dist/jaimini/argala/model.js.map +1 -0
  139. package/dist/jaimini/arudha-pada/calculate.d.ts +16 -0
  140. package/dist/jaimini/arudha-pada/calculate.d.ts.map +1 -0
  141. package/dist/jaimini/arudha-pada/calculate.js +36 -0
  142. package/dist/jaimini/arudha-pada/calculate.js.map +1 -0
  143. package/dist/jaimini/arudha-pada/helper.d.ts +6 -0
  144. package/dist/jaimini/arudha-pada/helper.d.ts.map +1 -0
  145. package/dist/jaimini/arudha-pada/helper.js +8 -0
  146. package/dist/jaimini/arudha-pada/helper.js.map +1 -0
  147. package/dist/jaimini/arudha-pada/index.d.ts +3 -0
  148. package/dist/jaimini/arudha-pada/index.d.ts.map +1 -0
  149. package/dist/jaimini/arudha-pada/index.js +3 -0
  150. package/dist/jaimini/arudha-pada/index.js.map +1 -0
  151. package/dist/jaimini/arudha-pada/model.d.ts +31 -0
  152. package/dist/jaimini/arudha-pada/model.d.ts.map +1 -0
  153. package/dist/jaimini/arudha-pada/model.js +22 -0
  154. package/dist/jaimini/arudha-pada/model.js.map +1 -0
  155. package/dist/jaimini/chara-karakas/calculate.d.ts +21 -0
  156. package/dist/jaimini/chara-karakas/calculate.d.ts.map +1 -0
  157. package/dist/jaimini/chara-karakas/calculate.js +85 -0
  158. package/dist/jaimini/chara-karakas/calculate.js.map +1 -0
  159. package/dist/jaimini/chara-karakas/helper.d.ts +15 -0
  160. package/dist/jaimini/chara-karakas/helper.d.ts.map +1 -0
  161. package/dist/jaimini/chara-karakas/helper.js +50 -0
  162. package/dist/jaimini/chara-karakas/helper.js.map +1 -0
  163. package/dist/jaimini/chara-karakas/index.d.ts +3 -0
  164. package/dist/jaimini/chara-karakas/index.d.ts.map +1 -0
  165. package/dist/jaimini/chara-karakas/index.js +3 -0
  166. package/dist/jaimini/chara-karakas/index.js.map +1 -0
  167. package/dist/jaimini/chara-karakas/model.d.ts +60 -0
  168. package/dist/jaimini/chara-karakas/model.d.ts.map +1 -0
  169. package/dist/jaimini/chara-karakas/model.js +45 -0
  170. package/dist/jaimini/chara-karakas/model.js.map +1 -0
  171. package/dist/jaimini/karakamsha/calculate.d.ts +18 -0
  172. package/dist/jaimini/karakamsha/calculate.d.ts.map +1 -0
  173. package/dist/jaimini/karakamsha/calculate.js +46 -0
  174. package/dist/jaimini/karakamsha/calculate.js.map +1 -0
  175. package/dist/jaimini/karakamsha/helper.d.ts +3 -0
  176. package/dist/jaimini/karakamsha/helper.d.ts.map +1 -0
  177. package/dist/jaimini/karakamsha/helper.js +8 -0
  178. package/dist/jaimini/karakamsha/helper.js.map +1 -0
  179. package/dist/jaimini/karakamsha/index.d.ts +3 -0
  180. package/dist/jaimini/karakamsha/index.d.ts.map +1 -0
  181. package/dist/jaimini/karakamsha/index.js +3 -0
  182. package/dist/jaimini/karakamsha/index.js.map +1 -0
  183. package/dist/jaimini/karakamsha/model.d.ts +42 -0
  184. package/dist/jaimini/karakamsha/model.d.ts.map +1 -0
  185. package/dist/jaimini/karakamsha/model.js +28 -0
  186. package/dist/jaimini/karakamsha/model.js.map +1 -0
  187. package/dist/jaimini/rashi-drishti/calculate.d.ts +11 -0
  188. package/dist/jaimini/rashi-drishti/calculate.d.ts.map +1 -0
  189. package/dist/jaimini/rashi-drishti/calculate.js +16 -0
  190. package/dist/jaimini/rashi-drishti/calculate.js.map +1 -0
  191. package/dist/jaimini/rashi-drishti/helper.d.ts +3 -0
  192. package/dist/jaimini/rashi-drishti/helper.d.ts.map +1 -0
  193. package/dist/jaimini/rashi-drishti/helper.js +41 -0
  194. package/dist/jaimini/rashi-drishti/helper.js.map +1 -0
  195. package/dist/jaimini/rashi-drishti/index.d.ts +3 -0
  196. package/dist/jaimini/rashi-drishti/index.d.ts.map +1 -0
  197. package/dist/jaimini/rashi-drishti/index.js +3 -0
  198. package/dist/jaimini/rashi-drishti/index.js.map +1 -0
  199. package/dist/jaimini/rashi-drishti/model.d.ts +20 -0
  200. package/dist/jaimini/rashi-drishti/model.d.ts.map +1 -0
  201. package/dist/jaimini/rashi-drishti/model.js +13 -0
  202. package/dist/jaimini/rashi-drishti/model.js.map +1 -0
  203. package/dist/jaimini/upapada/calculate.d.ts +15 -0
  204. package/dist/jaimini/upapada/calculate.d.ts.map +1 -0
  205. package/dist/jaimini/upapada/calculate.js +19 -0
  206. package/dist/jaimini/upapada/calculate.js.map +1 -0
  207. package/dist/jaimini/upapada/helper.d.ts +18 -0
  208. package/dist/jaimini/upapada/helper.d.ts.map +1 -0
  209. package/dist/jaimini/upapada/helper.js +10 -0
  210. package/dist/jaimini/upapada/helper.js.map +1 -0
  211. package/dist/jaimini/upapada/index.d.ts +3 -0
  212. package/dist/jaimini/upapada/index.d.ts.map +1 -0
  213. package/dist/jaimini/upapada/index.js +3 -0
  214. package/dist/jaimini/upapada/index.js.map +1 -0
  215. package/dist/jaimini/upapada/model.d.ts +31 -0
  216. package/dist/jaimini/upapada/model.d.ts.map +1 -0
  217. package/dist/jaimini/upapada/model.js +22 -0
  218. package/dist/jaimini/upapada/model.js.map +1 -0
  219. package/dist/sav/calculate.d.ts +282 -0
  220. package/dist/sav/calculate.d.ts.map +1 -0
  221. package/dist/sav/calculate.js +128 -0
  222. package/dist/sav/calculate.js.map +1 -0
  223. package/dist/sav/constants.d.ts +108 -0
  224. package/dist/sav/constants.d.ts.map +1 -0
  225. package/dist/sav/constants.js +131 -0
  226. package/dist/sav/constants.js.map +1 -0
  227. package/dist/sav/error.d.ts +9 -0
  228. package/dist/sav/error.d.ts.map +1 -0
  229. package/dist/sav/error.js +7 -0
  230. package/dist/sav/error.js.map +1 -0
  231. package/dist/sav/index.d.ts +4 -0
  232. package/dist/sav/index.d.ts.map +1 -0
  233. package/dist/sav/index.js +4 -0
  234. package/dist/sav/index.js.map +1 -0
  235. package/dist/sav/model.d.ts +58 -0
  236. package/dist/sav/model.d.ts.map +1 -0
  237. package/dist/sav/model.js +40 -0
  238. package/dist/sav/model.js.map +1 -0
  239. package/dist/swisseph/calculate.d.ts +19 -0
  240. package/dist/swisseph/calculate.d.ts.map +1 -0
  241. package/dist/swisseph/calculate.js +54 -0
  242. package/dist/swisseph/calculate.js.map +1 -0
  243. package/dist/swisseph/helper.d.ts +14 -0
  244. package/dist/swisseph/helper.d.ts.map +1 -0
  245. package/dist/swisseph/helper.js +43 -0
  246. package/dist/swisseph/helper.js.map +1 -0
  247. package/dist/swisseph/index.d.ts +2 -0
  248. package/dist/swisseph/index.d.ts.map +1 -0
  249. package/dist/swisseph/index.js +2 -0
  250. package/dist/swisseph/index.js.map +1 -0
  251. package/dist/swisseph/model.d.ts +7 -0
  252. package/dist/swisseph/model.d.ts.map +1 -0
  253. package/dist/swisseph/model.js +70 -0
  254. package/dist/swisseph/model.js.map +1 -0
  255. package/dist/swisseph/service.d.ts +5 -0
  256. package/dist/swisseph/service.d.ts.map +1 -0
  257. package/dist/swisseph/service.js +10 -0
  258. package/dist/swisseph/service.js.map +1 -0
  259. package/dist/yoga/calculate.d.ts +9 -0
  260. package/dist/yoga/calculate.d.ts.map +1 -0
  261. package/dist/yoga/calculate.js +48 -0
  262. package/dist/yoga/calculate.js.map +1 -0
  263. package/dist/yoga/catalog.d.ts +7 -0
  264. package/dist/yoga/catalog.d.ts.map +1 -0
  265. package/dist/yoga/catalog.js +129 -0
  266. package/dist/yoga/catalog.js.map +1 -0
  267. package/dist/yoga/definitions/house-patterns.d.ts +42 -0
  268. package/dist/yoga/definitions/house-patterns.d.ts.map +1 -0
  269. package/dist/yoga/definitions/house-patterns.js +73 -0
  270. package/dist/yoga/definitions/house-patterns.js.map +1 -0
  271. package/dist/yoga/definitions/moon-relative.d.ts +94 -0
  272. package/dist/yoga/definitions/moon-relative.d.ts.map +1 -0
  273. package/dist/yoga/definitions/moon-relative.js +123 -0
  274. package/dist/yoga/definitions/moon-relative.js.map +1 -0
  275. package/dist/yoga/error.d.ts +38 -0
  276. package/dist/yoga/error.d.ts.map +1 -0
  277. package/dist/yoga/error.js +37 -0
  278. package/dist/yoga/error.js.map +1 -0
  279. package/dist/yoga/evaluate.d.ts +36 -0
  280. package/dist/yoga/evaluate.d.ts.map +1 -0
  281. package/dist/yoga/evaluate.js +173 -0
  282. package/dist/yoga/evaluate.js.map +1 -0
  283. package/dist/yoga/format.d.ts +3 -0
  284. package/dist/yoga/format.d.ts.map +1 -0
  285. package/dist/yoga/format.js +5 -0
  286. package/dist/yoga/format.js.map +1 -0
  287. package/dist/yoga/index.d.ts +6 -0
  288. package/dist/yoga/index.d.ts.map +1 -0
  289. package/dist/yoga/index.js +6 -0
  290. package/dist/yoga/index.js.map +1 -0
  291. package/dist/yoga/internal.d.ts +274 -0
  292. package/dist/yoga/internal.d.ts.map +1 -0
  293. package/dist/yoga/internal.js +4 -0
  294. package/dist/yoga/internal.js.map +1 -0
  295. package/dist/yoga/model.d.ts +107 -0
  296. package/dist/yoga/model.d.ts.map +1 -0
  297. package/dist/yoga/model.js +66 -0
  298. package/dist/yoga/model.js.map +1 -0
  299. package/dist/yoga/provenance.d.ts +3 -0
  300. package/dist/yoga/provenance.d.ts.map +1 -0
  301. package/dist/yoga/provenance.js +5 -0
  302. package/dist/yoga/provenance.js.map +1 -0
  303. package/package.json +122 -0
@@ -0,0 +1,274 @@
1
+ import { Data, type Effect, type Result, Schema } from "effect";
2
+ import type { Division, Houses, Planets, PlanetsLagna } from "../chart/model.js";
3
+ import type { InvalidYogaEvidenceError } from "./error.js";
4
+ import type { YogaDescriptor, YogaEvidence } from "./model.js";
5
+ export type YogaCondition = Data.TaggedEnum<{
6
+ BodyPositionsCondition: {
7
+ readonly division: Division;
8
+ readonly referenceBody: PlanetsLagna;
9
+ readonly bodies: readonly Planets[];
10
+ readonly expectedRelativeHouses: readonly Houses[];
11
+ readonly quantifier: "All" | "Any";
12
+ };
13
+ HouseOccupancyCondition: {
14
+ readonly division: Division;
15
+ readonly referenceBody: PlanetsLagna;
16
+ readonly expectedRelativeHouses: readonly Houses[];
17
+ readonly excludedBodies: readonly Planets[];
18
+ readonly quantifier: "EveryHouse" | "AnyHouse";
19
+ };
20
+ AllCondition: {
21
+ readonly children: readonly YogaCondition[];
22
+ };
23
+ AnyCondition: {
24
+ readonly children: readonly YogaCondition[];
25
+ };
26
+ NotCondition: {
27
+ readonly child: YogaCondition;
28
+ };
29
+ }>;
30
+ export declare const YogaCondition: {
31
+ readonly $is: <Tag extends "AllCondition" | "AnyCondition" | "BodyPositionsCondition" | "HouseOccupancyCondition" | "NotCondition">(tag: Tag) => (u: unknown) => u is Extract<{
32
+ readonly _tag: "AllCondition";
33
+ readonly children: readonly YogaCondition[];
34
+ }, {
35
+ readonly _tag: Tag;
36
+ }> | Extract<{
37
+ readonly _tag: "AnyCondition";
38
+ readonly children: readonly YogaCondition[];
39
+ }, {
40
+ readonly _tag: Tag;
41
+ }> | Extract<{
42
+ readonly _tag: "BodyPositionsCondition";
43
+ readonly division: Division;
44
+ readonly referenceBody: PlanetsLagna;
45
+ readonly bodies: readonly Planets[];
46
+ readonly expectedRelativeHouses: readonly Houses[];
47
+ readonly quantifier: "All" | "Any";
48
+ }, {
49
+ readonly _tag: Tag;
50
+ }> | Extract<{
51
+ readonly _tag: "HouseOccupancyCondition";
52
+ readonly division: Division;
53
+ readonly referenceBody: PlanetsLagna;
54
+ readonly expectedRelativeHouses: readonly Houses[];
55
+ readonly excludedBodies: readonly Planets[];
56
+ readonly quantifier: "EveryHouse" | "AnyHouse";
57
+ }, {
58
+ readonly _tag: Tag;
59
+ }> | Extract<{
60
+ readonly _tag: "NotCondition";
61
+ readonly child: YogaCondition;
62
+ }, {
63
+ readonly _tag: Tag;
64
+ }>;
65
+ readonly $match: {
66
+ <Cases extends { readonly [Tag in "AllCondition" | "AnyCondition" | "BodyPositionsCondition" | "HouseOccupancyCondition" | "NotCondition"]: (args: Extract<{
67
+ readonly _tag: "AllCondition";
68
+ readonly children: readonly YogaCondition[];
69
+ } | {
70
+ readonly _tag: "AnyCondition";
71
+ readonly children: readonly YogaCondition[];
72
+ } | {
73
+ readonly _tag: "BodyPositionsCondition";
74
+ readonly division: Division;
75
+ readonly referenceBody: PlanetsLagna;
76
+ readonly bodies: readonly Planets[];
77
+ readonly expectedRelativeHouses: readonly Houses[];
78
+ readonly quantifier: "All" | "Any";
79
+ } | {
80
+ readonly _tag: "HouseOccupancyCondition";
81
+ readonly division: Division;
82
+ readonly referenceBody: PlanetsLagna;
83
+ readonly expectedRelativeHouses: readonly Houses[];
84
+ readonly excludedBodies: readonly Planets[];
85
+ readonly quantifier: "EveryHouse" | "AnyHouse";
86
+ } | {
87
+ readonly _tag: "NotCondition";
88
+ readonly child: YogaCondition;
89
+ }, {
90
+ readonly _tag: Tag;
91
+ }>) => any; }>(cases: Cases): (value: {
92
+ readonly _tag: "AllCondition";
93
+ readonly children: readonly YogaCondition[];
94
+ } | {
95
+ readonly _tag: "AnyCondition";
96
+ readonly children: readonly YogaCondition[];
97
+ } | {
98
+ readonly _tag: "BodyPositionsCondition";
99
+ readonly division: Division;
100
+ readonly referenceBody: PlanetsLagna;
101
+ readonly bodies: readonly Planets[];
102
+ readonly expectedRelativeHouses: readonly Houses[];
103
+ readonly quantifier: "All" | "Any";
104
+ } | {
105
+ readonly _tag: "HouseOccupancyCondition";
106
+ readonly division: Division;
107
+ readonly referenceBody: PlanetsLagna;
108
+ readonly expectedRelativeHouses: readonly Houses[];
109
+ readonly excludedBodies: readonly Planets[];
110
+ readonly quantifier: "EveryHouse" | "AnyHouse";
111
+ } | {
112
+ readonly _tag: "NotCondition";
113
+ readonly child: YogaCondition;
114
+ }) => import("effect/Unify").Unify<ReturnType<Cases["AllCondition" | "AnyCondition" | "BodyPositionsCondition" | "HouseOccupancyCondition" | "NotCondition"]>>;
115
+ <Cases extends { readonly [Tag in "AllCondition" | "AnyCondition" | "BodyPositionsCondition" | "HouseOccupancyCondition" | "NotCondition"]: (args: Extract<{
116
+ readonly _tag: "AllCondition";
117
+ readonly children: readonly YogaCondition[];
118
+ } | {
119
+ readonly _tag: "AnyCondition";
120
+ readonly children: readonly YogaCondition[];
121
+ } | {
122
+ readonly _tag: "BodyPositionsCondition";
123
+ readonly division: Division;
124
+ readonly referenceBody: PlanetsLagna;
125
+ readonly bodies: readonly Planets[];
126
+ readonly expectedRelativeHouses: readonly Houses[];
127
+ readonly quantifier: "All" | "Any";
128
+ } | {
129
+ readonly _tag: "HouseOccupancyCondition";
130
+ readonly division: Division;
131
+ readonly referenceBody: PlanetsLagna;
132
+ readonly expectedRelativeHouses: readonly Houses[];
133
+ readonly excludedBodies: readonly Planets[];
134
+ readonly quantifier: "EveryHouse" | "AnyHouse";
135
+ } | {
136
+ readonly _tag: "NotCondition";
137
+ readonly child: YogaCondition;
138
+ }, {
139
+ readonly _tag: Tag;
140
+ }>) => any; }>(value: {
141
+ readonly _tag: "AllCondition";
142
+ readonly children: readonly YogaCondition[];
143
+ } | {
144
+ readonly _tag: "AnyCondition";
145
+ readonly children: readonly YogaCondition[];
146
+ } | {
147
+ readonly _tag: "BodyPositionsCondition";
148
+ readonly division: Division;
149
+ readonly referenceBody: PlanetsLagna;
150
+ readonly bodies: readonly Planets[];
151
+ readonly expectedRelativeHouses: readonly Houses[];
152
+ readonly quantifier: "All" | "Any";
153
+ } | {
154
+ readonly _tag: "HouseOccupancyCondition";
155
+ readonly division: Division;
156
+ readonly referenceBody: PlanetsLagna;
157
+ readonly expectedRelativeHouses: readonly Houses[];
158
+ readonly excludedBodies: readonly Planets[];
159
+ readonly quantifier: "EveryHouse" | "AnyHouse";
160
+ } | {
161
+ readonly _tag: "NotCondition";
162
+ readonly child: YogaCondition;
163
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["AllCondition" | "AnyCondition" | "BodyPositionsCondition" | "HouseOccupancyCondition" | "NotCondition"]>>;
164
+ };
165
+ readonly AllCondition: Data.TaggedEnum.ConstructorFrom<{
166
+ readonly _tag: "AllCondition";
167
+ readonly children: readonly YogaCondition[];
168
+ }, "_tag">;
169
+ readonly AnyCondition: Data.TaggedEnum.ConstructorFrom<{
170
+ readonly _tag: "AnyCondition";
171
+ readonly children: readonly YogaCondition[];
172
+ }, "_tag">;
173
+ readonly BodyPositionsCondition: Data.TaggedEnum.ConstructorFrom<{
174
+ readonly _tag: "BodyPositionsCondition";
175
+ readonly division: Division;
176
+ readonly referenceBody: PlanetsLagna;
177
+ readonly bodies: readonly Planets[];
178
+ readonly expectedRelativeHouses: readonly Houses[];
179
+ readonly quantifier: "All" | "Any";
180
+ }, "_tag">;
181
+ readonly HouseOccupancyCondition: Data.TaggedEnum.ConstructorFrom<{
182
+ readonly _tag: "HouseOccupancyCondition";
183
+ readonly division: Division;
184
+ readonly referenceBody: PlanetsLagna;
185
+ readonly expectedRelativeHouses: readonly Houses[];
186
+ readonly excludedBodies: readonly Planets[];
187
+ readonly quantifier: "EveryHouse" | "AnyHouse";
188
+ }, "_tag">;
189
+ readonly NotCondition: Data.TaggedEnum.ConstructorFrom<{
190
+ readonly _tag: "NotCondition";
191
+ readonly child: YogaCondition;
192
+ }, "_tag">;
193
+ };
194
+ export interface IndexedDivision {
195
+ readonly positionOf: (body: PlanetsLagna) => Houses;
196
+ readonly occupantsAtRelativeHouse: (referenceBody: PlanetsLagna, relativeHouse: Houses) => readonly Planets[];
197
+ }
198
+ export interface EvaluationIndex {
199
+ readonly forDivision: (division: Division) => Result.Result<IndexedDivision, InvalidYogaEvidenceError>;
200
+ }
201
+ export type YogaStrategy = Data.TaggedEnum<{
202
+ Condition: {
203
+ readonly condition: YogaCondition;
204
+ };
205
+ Evaluator: {
206
+ readonly name: Schema.String;
207
+ readonly evaluate: (index: EvaluationIndex) => Effect.Effect<YogaEvidence>;
208
+ };
209
+ }>;
210
+ export declare const YogaStrategy: {
211
+ readonly $is: <Tag extends "Condition" | "Evaluator">(tag: Tag) => (u: unknown) => u is Extract<{
212
+ readonly _tag: "Condition";
213
+ readonly condition: YogaCondition;
214
+ }, {
215
+ readonly _tag: Tag;
216
+ }> | Extract<{
217
+ readonly _tag: "Evaluator";
218
+ readonly name: Schema.String;
219
+ readonly evaluate: (index: EvaluationIndex) => Effect.Effect<YogaEvidence>;
220
+ }, {
221
+ readonly _tag: Tag;
222
+ }>;
223
+ readonly $match: {
224
+ <Cases extends { readonly [Tag in "Condition" | "Evaluator"]: (args: Extract<{
225
+ readonly _tag: "Condition";
226
+ readonly condition: YogaCondition;
227
+ } | {
228
+ readonly _tag: "Evaluator";
229
+ readonly name: Schema.String;
230
+ readonly evaluate: (index: EvaluationIndex) => Effect.Effect<YogaEvidence>;
231
+ }, {
232
+ readonly _tag: Tag;
233
+ }>) => any; }>(cases: Cases): (value: {
234
+ readonly _tag: "Condition";
235
+ readonly condition: YogaCondition;
236
+ } | {
237
+ readonly _tag: "Evaluator";
238
+ readonly name: Schema.String;
239
+ readonly evaluate: (index: EvaluationIndex) => Effect.Effect<YogaEvidence>;
240
+ }) => import("effect/Unify").Unify<ReturnType<Cases["Condition" | "Evaluator"]>>;
241
+ <Cases extends { readonly [Tag in "Condition" | "Evaluator"]: (args: Extract<{
242
+ readonly _tag: "Condition";
243
+ readonly condition: YogaCondition;
244
+ } | {
245
+ readonly _tag: "Evaluator";
246
+ readonly name: Schema.String;
247
+ readonly evaluate: (index: EvaluationIndex) => Effect.Effect<YogaEvidence>;
248
+ }, {
249
+ readonly _tag: Tag;
250
+ }>) => any; }>(value: {
251
+ readonly _tag: "Condition";
252
+ readonly condition: YogaCondition;
253
+ } | {
254
+ readonly _tag: "Evaluator";
255
+ readonly name: Schema.String;
256
+ readonly evaluate: (index: EvaluationIndex) => Effect.Effect<YogaEvidence>;
257
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Condition" | "Evaluator"]>>;
258
+ };
259
+ readonly Condition: Data.TaggedEnum.ConstructorFrom<{
260
+ readonly _tag: "Condition";
261
+ readonly condition: YogaCondition;
262
+ }, "_tag">;
263
+ readonly Evaluator: Data.TaggedEnum.ConstructorFrom<{
264
+ readonly _tag: "Evaluator";
265
+ readonly name: Schema.String;
266
+ readonly evaluate: (index: EvaluationIndex) => Effect.Effect<YogaEvidence>;
267
+ }, "_tag">;
268
+ };
269
+ export interface YogaDefinition {
270
+ readonly yoga: YogaDescriptor;
271
+ readonly requiredDivisions: readonly [Division, ...Division[]];
272
+ readonly strategy: YogaStrategy;
273
+ }
274
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/yoga/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;IAC1C,sBAAsB,EAAE;QACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC5B,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;QACpC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;QACnD,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;KACpC,CAAC;IACF,uBAAuB,EAAE;QACvB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC5B,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;QACrC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;QACnD,QAAQ,CAAC,cAAc,EAAE,SAAS,OAAO,EAAE,CAAC;QAC5C,QAAQ,CAAC,UAAU,EAAE,YAAY,GAAG,UAAU,CAAC;KAChD,CAAC;IACF,YAAY,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;KAAE,CAAC;IAC9D,YAAY,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;KAAE,CAAC;IAC9D,YAAY,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;KAAE,CAAC;CACjD,CAAC,CAAC;AAEH,eAAO,MAAM,aAAa;;;2BALW,SAAS,aAAa,EAAE;;;;;2BACxB,SAAS,aAAa,EAAE;;;;;2BAdtC,QAAQ;gCACH,YAAY;yBACnB,SAAS,OAAO,EAAE;yCACF,SAAS,MAAM,EAAE;6BAC7B,KAAK,GAAG,KAAK;;;;;2BAGf,QAAQ;gCACH,YAAY;yCACH,SAAS,MAAM,EAAE;iCACzB,SAAS,OAAO,EAAE;6BACtB,YAAY,GAAG,UAAU;;;;;wBAIhB,aAAa;;;;;;;+BAFV,SAAS,aAAa,EAAE;;;+BACxB,SAAS,aAAa,EAAE;;;+BAdtC,QAAQ;oCACH,YAAY;6BACnB,SAAS,OAAO,EAAE;6CACF,SAAS,MAAM,EAAE;iCAC7B,KAAK,GAAG,KAAK;;;+BAGf,QAAQ;oCACH,YAAY;6CACH,SAAS,MAAM,EAAE;qCACzB,SAAS,OAAO,EAAE;iCACtB,YAAY,GAAG,UAAU;;;4BAIhB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAFV,SAAS,aAAa,EAAE;;;+BACxB,SAAS,aAAa,EAAE;;;+BAdtC,QAAQ;oCACH,YAAY;6BACnB,SAAS,OAAO,EAAE;6CACF,SAAS,MAAM,EAAE;iCAC7B,KAAK,GAAG,KAAK;;;+BAGf,QAAQ;oCACH,YAAY;6CACH,SAAS,MAAM,EAAE;qCACzB,SAAS,OAAO,EAAE;iCACtB,YAAY,GAAG,UAAU;;;4BAIhB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAFV,SAAS,aAAa,EAAE;;;;2BACxB,SAAS,aAAa,EAAE;;;;2BAdtC,QAAQ;gCACH,YAAY;yBACnB,SAAS,OAAO,EAAE;yCACF,SAAS,MAAM,EAAE;6BAC7B,KAAK,GAAG,KAAK;;;;2BAGf,QAAQ;gCACH,YAAY;yCACH,SAAS,MAAM,EAAE;iCACzB,SAAS,OAAO,EAAE;6BACtB,YAAY,GAAG,UAAU;;;;wBAIhB,aAAa;;CAGc,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC;IACpD,QAAQ,CAAC,wBAAwB,EAAE,CACjC,aAAa,EAAE,YAAY,EAC3B,aAAa,EAAE,MAAM,KAClB,SAAS,OAAO,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,CACpB,QAAQ,EAAE,QAAQ,KACf,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;CAC/D;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;IACzC,SAAS,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;KAAE,CAAC;IACjD,SAAS,EAAE;QACT,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KAC5E,CAAC;CACH,CAAC,CAAC;AAEH,eAAO,MAAM,YAAY;;;4BAPU,aAAa;;;;;uBAE7B,MAAM,CAAC,MAAM;2BACT,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;;;;;;;gCAH3C,aAAa;;;2BAE7B,MAAM,CAAC,MAAM;+BACT,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;;;;;;;;;;;;;gCAH3C,aAAa;;;2BAE7B,MAAM,CAAC,MAAM;+BACT,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;;;;;;;;;;;;;;4BAH3C,aAAa;;;;uBAE7B,MAAM,CAAC,MAAM;2BACT,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;;CAInB,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC"}
@@ -0,0 +1,4 @@
1
+ import { Data, Schema } from "effect";
2
+ export const YogaCondition = Data.taggedEnum();
3
+ export const YogaStrategy = Data.taggedEnum();
4
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/yoga/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAA4B,MAAM,EAAE,MAAM,QAAQ,CAAC;AA0BhE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAiB,CAAC;AAwB9D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAgB,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { Schema } from "effect";
2
+ export declare const YogaId: Schema.brand<Schema.String, "YogaId">;
3
+ export type YogaId = typeof YogaId.Type;
4
+ export declare const YogaIds: Schema.brand<Schema.String, "YogaId">;
5
+ export declare const YogaClassifications: Schema.Literals<readonly ["Positive", "Negative", "Neutral"]>;
6
+ export type YogaClassification = typeof YogaClassifications.Type;
7
+ export declare const YogaDescriptor: Schema.Struct<{
8
+ readonly id: Schema.brand<Schema.String, "YogaId">;
9
+ readonly name: Schema.String;
10
+ readonly aliases: Schema.$Array<Schema.String>;
11
+ readonly classification: Schema.Literals<readonly ["Positive", "Negative", "Neutral"]>;
12
+ readonly description: Schema.String;
13
+ }>;
14
+ export interface YogaDescriptor extends Schema.Schema.Type<typeof YogaDescriptor> {
15
+ }
16
+ export declare const BodyPositionObservation: Schema.Struct<{
17
+ readonly body: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
18
+ readonly relativeHouse: Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>;
19
+ }>;
20
+ export interface BodyPositionObservation extends Schema.Schema.Type<typeof BodyPositionObservation> {
21
+ }
22
+ export declare const HouseOccupancyObservation: Schema.Struct<{
23
+ readonly relativeHouse: Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>;
24
+ readonly occupants: Schema.$Array<Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>>;
25
+ }>;
26
+ export interface HouseOccupancyObservation extends Schema.Schema.Type<typeof HouseOccupancyObservation> {
27
+ }
28
+ export declare const BodyPositionsEvidence: Schema.TaggedStruct<"BodyPositionsEvidence", {
29
+ readonly division: Schema.Literals<readonly [1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60]>;
30
+ readonly referenceBody: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
31
+ readonly bodies: Schema.$Array<Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>>;
32
+ readonly expectedRelativeHouses: Schema.$Array<Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>>;
33
+ readonly observed: Schema.$Array<Schema.Struct<{
34
+ readonly body: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
35
+ readonly relativeHouse: Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>;
36
+ }>>;
37
+ readonly quantifier: Schema.Literals<readonly ["All", "Any"]>;
38
+ readonly matched: Schema.Boolean;
39
+ }>;
40
+ export interface BodyPositionsEvidence extends Schema.Schema.Type<typeof BodyPositionsEvidence> {
41
+ }
42
+ export declare const HouseOccupancyEvidence: Schema.TaggedStruct<"HouseOccupancyEvidence", {
43
+ readonly division: Schema.Literals<readonly [1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60]>;
44
+ readonly referenceBody: Schema.Union<readonly [Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>, Schema.Literal<"Lagna">]>;
45
+ readonly expectedRelativeHouses: Schema.$Array<Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>>;
46
+ readonly observed: Schema.$Array<Schema.Struct<{
47
+ readonly relativeHouse: Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]>;
48
+ readonly occupants: Schema.$Array<Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>>;
49
+ }>>;
50
+ readonly excludedBodies: Schema.$Array<Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>>;
51
+ readonly quantifier: Schema.Literals<readonly ["EveryHouse", "AnyHouse"]>;
52
+ readonly matched: Schema.Boolean;
53
+ }>;
54
+ export interface HouseOccupancyEvidence extends Schema.Schema.Type<typeof HouseOccupancyEvidence> {
55
+ }
56
+ export interface AllEvidence {
57
+ readonly _tag: "AllEvidence";
58
+ readonly children: readonly YogaEvidence[];
59
+ readonly matched: boolean;
60
+ }
61
+ export interface AnyEvidence {
62
+ readonly _tag: "AnyEvidence";
63
+ readonly children: readonly YogaEvidence[];
64
+ readonly matched: boolean;
65
+ }
66
+ export interface NotEvidence {
67
+ readonly _tag: "NotEvidence";
68
+ readonly child: YogaEvidence;
69
+ readonly matched: boolean;
70
+ }
71
+ export type YogaEvidence = BodyPositionsEvidence | HouseOccupancyEvidence | AllEvidence | AnyEvidence | NotEvidence;
72
+ export declare const YogaEvidence: Schema.Codec<YogaEvidence>;
73
+ export declare const YogaResult: Schema.Struct<{
74
+ readonly yoga: Schema.Struct<{
75
+ readonly id: Schema.brand<Schema.String, "YogaId">;
76
+ readonly name: Schema.String;
77
+ readonly aliases: Schema.$Array<Schema.String>;
78
+ readonly classification: Schema.Literals<readonly ["Positive", "Negative", "Neutral"]>;
79
+ readonly description: Schema.String;
80
+ }>;
81
+ readonly present: Schema.Boolean;
82
+ readonly evidence: Schema.Codec<YogaEvidence, YogaEvidence, never, never>;
83
+ }>;
84
+ export interface YogaResult extends Schema.Schema.Type<typeof YogaResult> {
85
+ }
86
+ export declare const YogaEvaluation: Schema.Struct<{
87
+ readonly provenance: Schema.Struct<{
88
+ readonly method: Schema.String;
89
+ readonly version: Schema.String;
90
+ }>;
91
+ readonly results: Schema.$Array<Schema.Struct<{
92
+ readonly yoga: Schema.Struct<{
93
+ readonly id: Schema.brand<Schema.String, "YogaId">;
94
+ readonly name: Schema.String;
95
+ readonly aliases: Schema.$Array<Schema.String>;
96
+ readonly classification: Schema.Literals<readonly ["Positive", "Negative", "Neutral"]>;
97
+ readonly description: Schema.String;
98
+ }>;
99
+ readonly present: Schema.Boolean;
100
+ readonly evidence: Schema.Codec<YogaEvidence, YogaEvidence, never, never>;
101
+ }>>;
102
+ }>;
103
+ export interface YogaEvaluation extends Schema.Schema.Type<typeof YogaEvaluation> {
104
+ }
105
+ export declare const YogaSelection: Schema.NonEmptyArray<Schema.String>;
106
+ export type YogaSelection = typeof YogaSelection.Type;
107
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/yoga/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,eAAO,MAAM,MAAM,uCAElB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC;AACxC,eAAO,MAAM,OAAO,uCAAS,CAAC;AAE9B,eAAO,MAAM,mBAAmB,+DAAgE,CAAC;AACjG,MAAM,MAAM,kBAAkB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAEjE,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC;CAAG;AAEpF,eAAO,MAAM,uBAAuB;;;EAGlC,CAAC;AACH,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACjE,OAAO,uBAAuB,CAC/B;CAAG;AAEJ,eAAO,MAAM,yBAAyB;;;EAGpC,CAAC;AACH,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACnE,OAAO,yBAAyB,CACjC;CAAG;AAEJ,eAAO,MAAM,qBAAqB;;;;;;;;;;;EAQhC,CAAC;AACH,MAAM,WAAW,qBAAsB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,qBAAqB,CAAC;CAAG;AAElG,eAAO,MAAM,sBAAsB;;;;;;;;;;;EAQjC,CAAC;AACH,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC;CAAG;AAEpG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,YAAY,GACpB,qBAAqB,GACrB,sBAAsB,GACtB,WAAW,GACX,WAAW,GACX,WAAW,CAAC;AAIhB,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAelD,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;EAIrB,CAAC;AACH,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;CAAG;AAE5E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAGzB,CAAC;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC;CAAG;AAEpF,eAAO,MAAM,aAAa,qCAAsC,CAAC;AACjE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { Schema } from "effect";
2
+ import { Division, Houses, Planets, PlanetsLagna, Provenance } from "../chart/model.js";
3
+ export const YogaId = Schema.String.check(Schema.isPattern(/^[a-z][a-z0-9_]*$/)).pipe(Schema.brand("YogaId"));
4
+ export const YogaIds = YogaId;
5
+ export const YogaClassifications = Schema.Literals(["Positive", "Negative", "Neutral"]);
6
+ export const YogaDescriptor = Schema.Struct({
7
+ id: YogaIds,
8
+ name: Schema.String,
9
+ aliases: Schema.Array(Schema.String),
10
+ classification: YogaClassifications,
11
+ description: Schema.String,
12
+ });
13
+ export const BodyPositionObservation = Schema.Struct({
14
+ body: Planets,
15
+ relativeHouse: Houses,
16
+ });
17
+ export const HouseOccupancyObservation = Schema.Struct({
18
+ relativeHouse: Houses,
19
+ occupants: Schema.Array(Planets),
20
+ });
21
+ export const BodyPositionsEvidence = Schema.TaggedStruct("BodyPositionsEvidence", {
22
+ division: Division,
23
+ referenceBody: PlanetsLagna,
24
+ bodies: Schema.Array(Planets),
25
+ expectedRelativeHouses: Schema.Array(Houses),
26
+ observed: Schema.Array(BodyPositionObservation),
27
+ quantifier: Schema.Literals(["All", "Any"]),
28
+ matched: Schema.Boolean,
29
+ });
30
+ export const HouseOccupancyEvidence = Schema.TaggedStruct("HouseOccupancyEvidence", {
31
+ division: Division,
32
+ referenceBody: PlanetsLagna,
33
+ expectedRelativeHouses: Schema.Array(Houses),
34
+ observed: Schema.Array(HouseOccupancyObservation),
35
+ excludedBodies: Schema.Array(Planets),
36
+ quantifier: Schema.Literals(["EveryHouse", "AnyHouse"]),
37
+ matched: Schema.Boolean,
38
+ });
39
+ const YogaEvidenceRef = Schema.suspend(() => YogaEvidence);
40
+ export const YogaEvidence = Schema.Union([
41
+ BodyPositionsEvidence,
42
+ HouseOccupancyEvidence,
43
+ Schema.TaggedStruct("AllEvidence", {
44
+ children: Schema.Array(YogaEvidenceRef),
45
+ matched: Schema.Boolean,
46
+ }),
47
+ Schema.TaggedStruct("AnyEvidence", {
48
+ children: Schema.Array(YogaEvidenceRef),
49
+ matched: Schema.Boolean,
50
+ }),
51
+ Schema.TaggedStruct("NotEvidence", {
52
+ child: YogaEvidenceRef,
53
+ matched: Schema.Boolean,
54
+ }),
55
+ ]);
56
+ export const YogaResult = Schema.Struct({
57
+ yoga: YogaDescriptor,
58
+ present: Schema.Boolean,
59
+ evidence: YogaEvidence,
60
+ });
61
+ export const YogaEvaluation = Schema.Struct({
62
+ provenance: Provenance,
63
+ results: Schema.Array(YogaResult),
64
+ });
65
+ export const YogaSelection = Schema.NonEmptyArray(Schema.String);
66
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/yoga/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Provenance } from "../chart/model.js";
2
+ export declare const provenance: Provenance;
3
+ //# sourceMappingURL=provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/yoga/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,UAAU,EAAE,UAGf,CAAC"}
@@ -0,0 +1,5 @@
1
+ export const provenance = {
2
+ method: "ascendant-yoga",
3
+ version: "v1",
4
+ };
5
+ //# sourceMappingURL=provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/yoga/provenance.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,IAAI;CACL,CAAC"}
package/package.json ADDED
@@ -0,0 +1,122 @@
1
+ {
2
+ "name": "astro-ascendant",
3
+ "version": "0.1.0",
4
+ "license": "AGPL-3.0-or-later",
5
+ "files": [
6
+ "dist",
7
+ "README.md",
8
+ "LICENSE"
9
+ ],
10
+ "type": "module",
11
+ "sideEffects": false,
12
+ "main": "./dist/index.js",
13
+ "types": "./dist/index.d.ts",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/index.js"
18
+ },
19
+ "./chart": {
20
+ "types": "./dist/chart/index.d.ts",
21
+ "import": "./dist/chart/index.js"
22
+ },
23
+ "./chart/divisional-mapping": {
24
+ "types": "./dist/chart/divisional-mapping/index.d.ts",
25
+ "import": "./dist/chart/divisional-mapping/index.js"
26
+ },
27
+ "./dasha": {
28
+ "types": "./dist/dasha/index.d.ts",
29
+ "import": "./dist/dasha/index.js"
30
+ },
31
+ "./ephemeris": {
32
+ "types": "./dist/ephemeris/index.d.ts",
33
+ "import": "./dist/ephemeris/index.js"
34
+ },
35
+ "./sav": {
36
+ "types": "./dist/sav/index.d.ts",
37
+ "import": "./dist/sav/index.js"
38
+ },
39
+ "./yoga": {
40
+ "types": "./dist/yoga/index.d.ts",
41
+ "import": "./dist/yoga/index.js"
42
+ },
43
+ "./astro-params": {
44
+ "types": "./dist/astro-params/index.d.ts",
45
+ "import": "./dist/astro-params/index.js"
46
+ },
47
+ "./argala": {
48
+ "types": "./dist/jaimini/argala/index.d.ts",
49
+ "import": "./dist/jaimini/argala/index.js"
50
+ },
51
+ "./arudha-pada": {
52
+ "types": "./dist/jaimini/arudha-pada/index.d.ts",
53
+ "import": "./dist/jaimini/arudha-pada/index.js"
54
+ },
55
+ "./chara-karakas": {
56
+ "types": "./dist/jaimini/chara-karakas/index.d.ts",
57
+ "import": "./dist/jaimini/chara-karakas/index.js"
58
+ },
59
+ "./karakamsha": {
60
+ "types": "./dist/jaimini/karakamsha/index.d.ts",
61
+ "import": "./dist/jaimini/karakamsha/index.js"
62
+ },
63
+ "./rashi-drishti": {
64
+ "types": "./dist/jaimini/rashi-drishti/index.d.ts",
65
+ "import": "./dist/jaimini/rashi-drishti/index.js"
66
+ },
67
+ "./upapada": {
68
+ "types": "./dist/jaimini/upapada/index.d.ts",
69
+ "import": "./dist/jaimini/upapada/index.js"
70
+ },
71
+ "./swisseph": {
72
+ "types": "./dist/swisseph/index.d.ts",
73
+ "import": "./dist/swisseph/index.js"
74
+ },
75
+ "./package.json": "./package.json"
76
+ },
77
+ "publishConfig": {
78
+ "access": "public",
79
+ "provenance": true
80
+ },
81
+ "scripts": {
82
+ "prepare": "effect-tsgo patch --typescript --oxlint",
83
+ "build": "tsc -p tsconfig.build.json",
84
+ "prepack": "bun run build",
85
+ "test": "vitest run",
86
+ "test:watch": "vitest",
87
+ "typecheck": "tsc --noEmit",
88
+ "lint": "oxlint --type-aware --ignore-pattern='repos/**' --ignore-pattern='dist/**'",
89
+ "lint:fix": "oxlint --fix --type-aware --ignore-pattern='repos/**' --ignore-pattern='dist/**'",
90
+ "fmt": "oxfmt .",
91
+ "fmt:check": "oxfmt --check .",
92
+ "package:check": "bun run build && tsc -p tsconfig.package.json && bun tests/package/runtime.mjs && bun pm pack --dry-run",
93
+ "check": "bun run typecheck && bun run test && bun run lint && bun run fmt:check && bun run build"
94
+ },
95
+ "dependencies": {
96
+ "@effect/platform-bun": "^4.0.0-rc.112"
97
+ },
98
+ "devDependencies": {
99
+ "@effect/tsgo": "0.37.0",
100
+ "@effect/vitest": "^4.0.0-rc.112",
101
+ "@swisseph/node": "^1.3.1",
102
+ "effect": "^4.0.0-rc.112",
103
+ "oxfmt": "^0.65.0",
104
+ "oxlint": "1.80.0",
105
+ "oxlint-tsgolint": "^7.0.2001",
106
+ "typescript": "7.0.2",
107
+ "vitest": "latest"
108
+ },
109
+ "peerDependencies": {
110
+ "@swisseph/node": "^1.3.1",
111
+ "effect": "^4.0.0-rc.112"
112
+ },
113
+ "peerDependenciesMeta": {
114
+ "@swisseph/node": {
115
+ "optional": true
116
+ }
117
+ },
118
+ "trustedDependencies": [
119
+ "@swisseph/node",
120
+ "msgpackr-extract"
121
+ ]
122
+ }