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.
- package/LICENSE +661 -0
- package/README.md +185 -0
- package/dist/astro-params/index.d.ts +3 -0
- package/dist/astro-params/index.d.ts.map +1 -0
- package/dist/astro-params/index.js +3 -0
- package/dist/astro-params/index.js.map +1 -0
- package/dist/astro-params/model.d.ts +11 -0
- package/dist/astro-params/model.d.ts.map +1 -0
- package/dist/astro-params/model.js +63 -0
- package/dist/astro-params/model.js.map +1 -0
- package/dist/astro-params/service.d.ts +12 -0
- package/dist/astro-params/service.d.ts.map +1 -0
- package/dist/astro-params/service.js +13 -0
- package/dist/astro-params/service.js.map +1 -0
- package/dist/chart/bhava/calculate.d.ts +6 -0
- package/dist/chart/bhava/calculate.d.ts.map +1 -0
- package/dist/chart/bhava/calculate.js +89 -0
- package/dist/chart/bhava/calculate.js.map +1 -0
- package/dist/chart/bhava/helper.d.ts +6 -0
- package/dist/chart/bhava/helper.d.ts.map +1 -0
- package/dist/chart/bhava/helper.js +22 -0
- package/dist/chart/bhava/helper.js.map +1 -0
- package/dist/chart/bhava/index.d.ts +2 -0
- package/dist/chart/bhava/index.d.ts.map +1 -0
- package/dist/chart/bhava/index.js +2 -0
- package/dist/chart/bhava/index.js.map +1 -0
- package/dist/chart/charts.d.ts +5 -0
- package/dist/chart/charts.d.ts.map +1 -0
- package/dist/chart/charts.js +74 -0
- package/dist/chart/charts.js.map +1 -0
- package/dist/chart/divisional-mapping/calculate.d.ts +6 -0
- package/dist/chart/divisional-mapping/calculate.d.ts.map +1 -0
- package/dist/chart/divisional-mapping/calculate.js +24 -0
- package/dist/chart/divisional-mapping/calculate.js.map +1 -0
- package/dist/chart/divisional-mapping/error.d.ts +9 -0
- package/dist/chart/divisional-mapping/error.d.ts.map +1 -0
- package/dist/chart/divisional-mapping/error.js +7 -0
- package/dist/chart/divisional-mapping/error.js.map +1 -0
- package/dist/chart/divisional-mapping/helper.d.ts +11 -0
- package/dist/chart/divisional-mapping/helper.d.ts.map +1 -0
- package/dist/chart/divisional-mapping/helper.js +92 -0
- package/dist/chart/divisional-mapping/helper.js.map +1 -0
- package/dist/chart/divisional-mapping/index.d.ts +4 -0
- package/dist/chart/divisional-mapping/index.d.ts.map +1 -0
- package/dist/chart/divisional-mapping/index.js +4 -0
- package/dist/chart/divisional-mapping/index.js.map +1 -0
- package/dist/chart/divisional-mapping/model.d.ts +16 -0
- package/dist/chart/divisional-mapping/model.d.ts.map +1 -0
- package/dist/chart/divisional-mapping/model.js +2 -0
- package/dist/chart/divisional-mapping/model.js.map +1 -0
- package/dist/chart/error.d.ts +21 -0
- package/dist/chart/error.d.ts.map +1 -0
- package/dist/chart/error.js +18 -0
- package/dist/chart/error.js.map +1 -0
- package/dist/chart/generate.d.ts +7 -0
- package/dist/chart/generate.d.ts.map +1 -0
- package/dist/chart/generate.js +62 -0
- package/dist/chart/generate.js.map +1 -0
- package/dist/chart/helper.d.ts +4 -0
- package/dist/chart/helper.d.ts.map +1 -0
- package/dist/chart/helper.js +21 -0
- package/dist/chart/helper.js.map +1 -0
- package/dist/chart/index.d.ts +5 -0
- package/dist/chart/index.d.ts.map +1 -0
- package/dist/chart/index.js +5 -0
- package/dist/chart/index.js.map +1 -0
- package/dist/chart/internal/constants.d.ts +210 -0
- package/dist/chart/internal/constants.d.ts.map +1 -0
- package/dist/chart/internal/constants.js +461 -0
- package/dist/chart/internal/constants.js.map +1 -0
- package/dist/chart/internal/position.d.ts +5 -0
- package/dist/chart/internal/position.d.ts.map +1 -0
- package/dist/chart/internal/position.js +14 -0
- package/dist/chart/internal/position.js.map +1 -0
- package/dist/chart/model.d.ts +153 -0
- package/dist/chart/model.d.ts.map +1 -0
- package/dist/chart/model.js +124 -0
- package/dist/chart/model.js.map +1 -0
- package/dist/chart/placements.d.ts +10 -0
- package/dist/chart/placements.d.ts.map +1 -0
- package/dist/chart/placements.js +41 -0
- package/dist/chart/placements.js.map +1 -0
- package/dist/dasha/calculate.d.ts +15 -0
- package/dist/dasha/calculate.d.ts.map +1 -0
- package/dist/dasha/calculate.js +106 -0
- package/dist/dasha/calculate.js.map +1 -0
- package/dist/dasha/error.d.ts +9 -0
- package/dist/dasha/error.d.ts.map +1 -0
- package/dist/dasha/error.js +7 -0
- package/dist/dasha/error.js.map +1 -0
- package/dist/dasha/index.d.ts +5 -0
- package/dist/dasha/index.d.ts.map +1 -0
- package/dist/dasha/index.js +5 -0
- package/dist/dasha/index.js.map +1 -0
- package/dist/dasha/model.d.ts +56 -0
- package/dist/dasha/model.d.ts.map +1 -0
- package/dist/dasha/model.js +20 -0
- package/dist/dasha/model.js.map +1 -0
- package/dist/dasha/query.d.ts +31 -0
- package/dist/dasha/query.d.ts.map +1 -0
- package/dist/dasha/query.js +19 -0
- package/dist/dasha/query.js.map +1 -0
- package/dist/ephemeris/error.d.ts +9 -0
- package/dist/ephemeris/error.d.ts.map +1 -0
- package/dist/ephemeris/error.js +7 -0
- package/dist/ephemeris/error.js.map +1 -0
- package/dist/ephemeris/index.d.ts +4 -0
- package/dist/ephemeris/index.d.ts.map +1 -0
- package/dist/ephemeris/index.js +4 -0
- package/dist/ephemeris/index.js.map +1 -0
- package/dist/ephemeris/model.d.ts +28 -0
- package/dist/ephemeris/model.d.ts.map +1 -0
- package/dist/ephemeris/model.js +14 -0
- package/dist/ephemeris/model.js.map +1 -0
- package/dist/ephemeris/service.d.ts +14 -0
- package/dist/ephemeris/service.d.ts.map +1 -0
- package/dist/ephemeris/service.js +8 -0
- package/dist/ephemeris/service.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/jaimini/argala/calculate.d.ts +28 -0
- package/dist/jaimini/argala/calculate.d.ts.map +1 -0
- package/dist/jaimini/argala/calculate.js +56 -0
- package/dist/jaimini/argala/calculate.js.map +1 -0
- package/dist/jaimini/argala/helper.d.ts +8 -0
- package/dist/jaimini/argala/helper.d.ts.map +1 -0
- package/dist/jaimini/argala/helper.js +12 -0
- package/dist/jaimini/argala/helper.js.map +1 -0
- package/dist/jaimini/argala/index.d.ts +3 -0
- package/dist/jaimini/argala/index.d.ts.map +1 -0
- package/dist/jaimini/argala/index.js +3 -0
- package/dist/jaimini/argala/index.js.map +1 -0
- package/dist/jaimini/argala/model.d.ts +96 -0
- package/dist/jaimini/argala/model.d.ts.map +1 -0
- package/dist/jaimini/argala/model.js +38 -0
- package/dist/jaimini/argala/model.js.map +1 -0
- package/dist/jaimini/arudha-pada/calculate.d.ts +16 -0
- package/dist/jaimini/arudha-pada/calculate.d.ts.map +1 -0
- package/dist/jaimini/arudha-pada/calculate.js +36 -0
- package/dist/jaimini/arudha-pada/calculate.js.map +1 -0
- package/dist/jaimini/arudha-pada/helper.d.ts +6 -0
- package/dist/jaimini/arudha-pada/helper.d.ts.map +1 -0
- package/dist/jaimini/arudha-pada/helper.js +8 -0
- package/dist/jaimini/arudha-pada/helper.js.map +1 -0
- package/dist/jaimini/arudha-pada/index.d.ts +3 -0
- package/dist/jaimini/arudha-pada/index.d.ts.map +1 -0
- package/dist/jaimini/arudha-pada/index.js +3 -0
- package/dist/jaimini/arudha-pada/index.js.map +1 -0
- package/dist/jaimini/arudha-pada/model.d.ts +31 -0
- package/dist/jaimini/arudha-pada/model.d.ts.map +1 -0
- package/dist/jaimini/arudha-pada/model.js +22 -0
- package/dist/jaimini/arudha-pada/model.js.map +1 -0
- package/dist/jaimini/chara-karakas/calculate.d.ts +21 -0
- package/dist/jaimini/chara-karakas/calculate.d.ts.map +1 -0
- package/dist/jaimini/chara-karakas/calculate.js +85 -0
- package/dist/jaimini/chara-karakas/calculate.js.map +1 -0
- package/dist/jaimini/chara-karakas/helper.d.ts +15 -0
- package/dist/jaimini/chara-karakas/helper.d.ts.map +1 -0
- package/dist/jaimini/chara-karakas/helper.js +50 -0
- package/dist/jaimini/chara-karakas/helper.js.map +1 -0
- package/dist/jaimini/chara-karakas/index.d.ts +3 -0
- package/dist/jaimini/chara-karakas/index.d.ts.map +1 -0
- package/dist/jaimini/chara-karakas/index.js +3 -0
- package/dist/jaimini/chara-karakas/index.js.map +1 -0
- package/dist/jaimini/chara-karakas/model.d.ts +60 -0
- package/dist/jaimini/chara-karakas/model.d.ts.map +1 -0
- package/dist/jaimini/chara-karakas/model.js +45 -0
- package/dist/jaimini/chara-karakas/model.js.map +1 -0
- package/dist/jaimini/karakamsha/calculate.d.ts +18 -0
- package/dist/jaimini/karakamsha/calculate.d.ts.map +1 -0
- package/dist/jaimini/karakamsha/calculate.js +46 -0
- package/dist/jaimini/karakamsha/calculate.js.map +1 -0
- package/dist/jaimini/karakamsha/helper.d.ts +3 -0
- package/dist/jaimini/karakamsha/helper.d.ts.map +1 -0
- package/dist/jaimini/karakamsha/helper.js +8 -0
- package/dist/jaimini/karakamsha/helper.js.map +1 -0
- package/dist/jaimini/karakamsha/index.d.ts +3 -0
- package/dist/jaimini/karakamsha/index.d.ts.map +1 -0
- package/dist/jaimini/karakamsha/index.js +3 -0
- package/dist/jaimini/karakamsha/index.js.map +1 -0
- package/dist/jaimini/karakamsha/model.d.ts +42 -0
- package/dist/jaimini/karakamsha/model.d.ts.map +1 -0
- package/dist/jaimini/karakamsha/model.js +28 -0
- package/dist/jaimini/karakamsha/model.js.map +1 -0
- package/dist/jaimini/rashi-drishti/calculate.d.ts +11 -0
- package/dist/jaimini/rashi-drishti/calculate.d.ts.map +1 -0
- package/dist/jaimini/rashi-drishti/calculate.js +16 -0
- package/dist/jaimini/rashi-drishti/calculate.js.map +1 -0
- package/dist/jaimini/rashi-drishti/helper.d.ts +3 -0
- package/dist/jaimini/rashi-drishti/helper.d.ts.map +1 -0
- package/dist/jaimini/rashi-drishti/helper.js +41 -0
- package/dist/jaimini/rashi-drishti/helper.js.map +1 -0
- package/dist/jaimini/rashi-drishti/index.d.ts +3 -0
- package/dist/jaimini/rashi-drishti/index.d.ts.map +1 -0
- package/dist/jaimini/rashi-drishti/index.js +3 -0
- package/dist/jaimini/rashi-drishti/index.js.map +1 -0
- package/dist/jaimini/rashi-drishti/model.d.ts +20 -0
- package/dist/jaimini/rashi-drishti/model.d.ts.map +1 -0
- package/dist/jaimini/rashi-drishti/model.js +13 -0
- package/dist/jaimini/rashi-drishti/model.js.map +1 -0
- package/dist/jaimini/upapada/calculate.d.ts +15 -0
- package/dist/jaimini/upapada/calculate.d.ts.map +1 -0
- package/dist/jaimini/upapada/calculate.js +19 -0
- package/dist/jaimini/upapada/calculate.js.map +1 -0
- package/dist/jaimini/upapada/helper.d.ts +18 -0
- package/dist/jaimini/upapada/helper.d.ts.map +1 -0
- package/dist/jaimini/upapada/helper.js +10 -0
- package/dist/jaimini/upapada/helper.js.map +1 -0
- package/dist/jaimini/upapada/index.d.ts +3 -0
- package/dist/jaimini/upapada/index.d.ts.map +1 -0
- package/dist/jaimini/upapada/index.js +3 -0
- package/dist/jaimini/upapada/index.js.map +1 -0
- package/dist/jaimini/upapada/model.d.ts +31 -0
- package/dist/jaimini/upapada/model.d.ts.map +1 -0
- package/dist/jaimini/upapada/model.js +22 -0
- package/dist/jaimini/upapada/model.js.map +1 -0
- package/dist/sav/calculate.d.ts +282 -0
- package/dist/sav/calculate.d.ts.map +1 -0
- package/dist/sav/calculate.js +128 -0
- package/dist/sav/calculate.js.map +1 -0
- package/dist/sav/constants.d.ts +108 -0
- package/dist/sav/constants.d.ts.map +1 -0
- package/dist/sav/constants.js +131 -0
- package/dist/sav/constants.js.map +1 -0
- package/dist/sav/error.d.ts +9 -0
- package/dist/sav/error.d.ts.map +1 -0
- package/dist/sav/error.js +7 -0
- package/dist/sav/error.js.map +1 -0
- package/dist/sav/index.d.ts +4 -0
- package/dist/sav/index.d.ts.map +1 -0
- package/dist/sav/index.js +4 -0
- package/dist/sav/index.js.map +1 -0
- package/dist/sav/model.d.ts +58 -0
- package/dist/sav/model.d.ts.map +1 -0
- package/dist/sav/model.js +40 -0
- package/dist/sav/model.js.map +1 -0
- package/dist/swisseph/calculate.d.ts +19 -0
- package/dist/swisseph/calculate.d.ts.map +1 -0
- package/dist/swisseph/calculate.js +54 -0
- package/dist/swisseph/calculate.js.map +1 -0
- package/dist/swisseph/helper.d.ts +14 -0
- package/dist/swisseph/helper.d.ts.map +1 -0
- package/dist/swisseph/helper.js +43 -0
- package/dist/swisseph/helper.js.map +1 -0
- package/dist/swisseph/index.d.ts +2 -0
- package/dist/swisseph/index.d.ts.map +1 -0
- package/dist/swisseph/index.js +2 -0
- package/dist/swisseph/index.js.map +1 -0
- package/dist/swisseph/model.d.ts +7 -0
- package/dist/swisseph/model.d.ts.map +1 -0
- package/dist/swisseph/model.js +70 -0
- package/dist/swisseph/model.js.map +1 -0
- package/dist/swisseph/service.d.ts +5 -0
- package/dist/swisseph/service.d.ts.map +1 -0
- package/dist/swisseph/service.js +10 -0
- package/dist/swisseph/service.js.map +1 -0
- package/dist/yoga/calculate.d.ts +9 -0
- package/dist/yoga/calculate.d.ts.map +1 -0
- package/dist/yoga/calculate.js +48 -0
- package/dist/yoga/calculate.js.map +1 -0
- package/dist/yoga/catalog.d.ts +7 -0
- package/dist/yoga/catalog.d.ts.map +1 -0
- package/dist/yoga/catalog.js +129 -0
- package/dist/yoga/catalog.js.map +1 -0
- package/dist/yoga/definitions/house-patterns.d.ts +42 -0
- package/dist/yoga/definitions/house-patterns.d.ts.map +1 -0
- package/dist/yoga/definitions/house-patterns.js +73 -0
- package/dist/yoga/definitions/house-patterns.js.map +1 -0
- package/dist/yoga/definitions/moon-relative.d.ts +94 -0
- package/dist/yoga/definitions/moon-relative.d.ts.map +1 -0
- package/dist/yoga/definitions/moon-relative.js +123 -0
- package/dist/yoga/definitions/moon-relative.js.map +1 -0
- package/dist/yoga/error.d.ts +38 -0
- package/dist/yoga/error.d.ts.map +1 -0
- package/dist/yoga/error.js +37 -0
- package/dist/yoga/error.js.map +1 -0
- package/dist/yoga/evaluate.d.ts +36 -0
- package/dist/yoga/evaluate.d.ts.map +1 -0
- package/dist/yoga/evaluate.js +173 -0
- package/dist/yoga/evaluate.js.map +1 -0
- package/dist/yoga/format.d.ts +3 -0
- package/dist/yoga/format.d.ts.map +1 -0
- package/dist/yoga/format.js +5 -0
- package/dist/yoga/format.js.map +1 -0
- package/dist/yoga/index.d.ts +6 -0
- package/dist/yoga/index.d.ts.map +1 -0
- package/dist/yoga/index.js +6 -0
- package/dist/yoga/index.js.map +1 -0
- package/dist/yoga/internal.d.ts +274 -0
- package/dist/yoga/internal.d.ts.map +1 -0
- package/dist/yoga/internal.js +4 -0
- package/dist/yoga/internal.js.map +1 -0
- package/dist/yoga/model.d.ts +107 -0
- package/dist/yoga/model.d.ts.map +1 -0
- package/dist/yoga/model.js +66 -0
- package/dist/yoga/model.js.map +1 -0
- package/dist/yoga/provenance.d.ts +3 -0
- package/dist/yoga/provenance.d.ts.map +1 -0
- package/dist/yoga/provenance.js +5 -0
- package/dist/yoga/provenance.js.map +1 -0
- package/package.json +122 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { Options as AstroParamsOptions } from "../astro-params/model.js";
|
|
3
|
+
import { PLANETS, CLASSICAL_PLANETS, RASHIS, NAKSHATRAS, PLANET_DIGNITY, } from "./internal/constants.js";
|
|
4
|
+
export const Planets = Schema.Literals(PLANETS);
|
|
5
|
+
export const Rashis = Schema.Literals(RASHIS);
|
|
6
|
+
export const LagnaName = Schema.Literal("Lagna");
|
|
7
|
+
export const PlanetsLagna = Schema.Union([Planets, LagnaName]);
|
|
8
|
+
export const Houses = Schema.Literals([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]);
|
|
9
|
+
export const RashiLords = Schema.Literals(CLASSICAL_PLANETS);
|
|
10
|
+
export const Nakshatras = Schema.Literals(NAKSHATRAS);
|
|
11
|
+
export const Pada = Schema.Literals([1, 2, 3, 4]);
|
|
12
|
+
export const PlanetDignity = Schema.Literals(PLANET_DIGNITY);
|
|
13
|
+
export const Division = Schema.Literals([
|
|
14
|
+
1, 2, 3, 4, 7, 9, 10, 12, 16, 20, 24, 27, 30, 40, 45, 60,
|
|
15
|
+
]);
|
|
16
|
+
export const Longitude = Schema.Finite.check(Schema.isBetween({ minimum: 0, maximum: 360, exclusiveMaximum: true })).pipe(Schema.brand("Longitude"));
|
|
17
|
+
export const CircleAngle = Schema.Finite.check(Schema.isBetween({ minimum: 0, maximum: 360, exclusiveMaximum: true })).pipe(Schema.brand("CircleAngle"));
|
|
18
|
+
export const Degree = Schema.Finite.check(Schema.isBetween({ minimum: 0, maximum: 30, exclusiveMaximum: true })).pipe(Schema.brand("Degree"));
|
|
19
|
+
export class Nakshatra extends Schema.Class("Nakshatra")({
|
|
20
|
+
name: Nakshatras,
|
|
21
|
+
lord: Planets,
|
|
22
|
+
pada: Pada,
|
|
23
|
+
}) {
|
|
24
|
+
}
|
|
25
|
+
export class Sign extends Schema.Class("Sign")({
|
|
26
|
+
name: Rashis,
|
|
27
|
+
lord: RashiLords,
|
|
28
|
+
}) {
|
|
29
|
+
}
|
|
30
|
+
export class Planet extends Schema.Class("Planet")({
|
|
31
|
+
name: Planets,
|
|
32
|
+
longitude: Longitude,
|
|
33
|
+
degree: Degree,
|
|
34
|
+
is_retrograde: Schema.Boolean,
|
|
35
|
+
in_sign: Schema.Array(PlanetDignity),
|
|
36
|
+
sign: Sign,
|
|
37
|
+
}) {
|
|
38
|
+
}
|
|
39
|
+
export class Lagna extends Schema.Class("Lagna")({
|
|
40
|
+
name: LagnaName,
|
|
41
|
+
longitude: Longitude,
|
|
42
|
+
degree: Degree,
|
|
43
|
+
sign: Sign,
|
|
44
|
+
}) {
|
|
45
|
+
}
|
|
46
|
+
export class House extends Schema.Class("House")({
|
|
47
|
+
sign: Rashis,
|
|
48
|
+
planets: Schema.Array(Planet),
|
|
49
|
+
lagna: Schema.NullOr(Lagna),
|
|
50
|
+
}) {
|
|
51
|
+
}
|
|
52
|
+
export const ChartHouses = Schema.Record(Houses, House);
|
|
53
|
+
export class SourcePlanet extends Schema.Class("SourcePlanet")({
|
|
54
|
+
name: Planets,
|
|
55
|
+
longitude: Longitude,
|
|
56
|
+
is_retrograde: Schema.Boolean,
|
|
57
|
+
nakshatra: Nakshatra,
|
|
58
|
+
}) {
|
|
59
|
+
}
|
|
60
|
+
export class SourceLagna extends Schema.Class("SourceLagna")({
|
|
61
|
+
name: LagnaName,
|
|
62
|
+
longitude: Longitude,
|
|
63
|
+
nakshatra: Nakshatra,
|
|
64
|
+
}) {
|
|
65
|
+
}
|
|
66
|
+
export class Placements extends Schema.Class("Placements")({
|
|
67
|
+
lagna: SourceLagna,
|
|
68
|
+
planets: Schema.Array(SourcePlanet),
|
|
69
|
+
}) {
|
|
70
|
+
}
|
|
71
|
+
export const Provenance = Schema.Struct({
|
|
72
|
+
method: Schema.String,
|
|
73
|
+
version: Schema.String,
|
|
74
|
+
});
|
|
75
|
+
export class Chart extends Schema.Class("Chart")({
|
|
76
|
+
provenance: Provenance,
|
|
77
|
+
division: Division,
|
|
78
|
+
houses: ChartHouses,
|
|
79
|
+
}) {
|
|
80
|
+
}
|
|
81
|
+
export class BhavaHouse extends Schema.Class("BhavaHouse")({
|
|
82
|
+
cusp: Longitude,
|
|
83
|
+
planets: Schema.Array(Planet),
|
|
84
|
+
lagna: Schema.NullOr(Lagna),
|
|
85
|
+
}) {
|
|
86
|
+
}
|
|
87
|
+
export const BhavaHouses = Schema.Record(Houses, BhavaHouse);
|
|
88
|
+
export class BhavaAngles extends Schema.Class("BhavaAngles")({
|
|
89
|
+
ascendant: CircleAngle,
|
|
90
|
+
mc: CircleAngle,
|
|
91
|
+
armc: CircleAngle,
|
|
92
|
+
vertex: CircleAngle,
|
|
93
|
+
equatorialAscendant: CircleAngle,
|
|
94
|
+
coAscendant1: CircleAngle,
|
|
95
|
+
coAscendant2: CircleAngle,
|
|
96
|
+
polarAscendant: CircleAngle,
|
|
97
|
+
}) {
|
|
98
|
+
}
|
|
99
|
+
export class BhavaChart extends Schema.Class("BhavaChart")({
|
|
100
|
+
houses: BhavaHouses,
|
|
101
|
+
angles: BhavaAngles,
|
|
102
|
+
}) {
|
|
103
|
+
}
|
|
104
|
+
export const CalculationCharts = Schema.NonEmptyArray(Chart).check(Schema.makeFilter((charts) => charts[0].division === 1, {
|
|
105
|
+
expected: "A non-empty Chart collection beginning with D1",
|
|
106
|
+
}));
|
|
107
|
+
export class ChartCalculation extends Schema.Class("ChartCalculation")({
|
|
108
|
+
placements: Placements,
|
|
109
|
+
charts: CalculationCharts,
|
|
110
|
+
bhava: BhavaChart,
|
|
111
|
+
astroParams: AstroParamsOptions,
|
|
112
|
+
}) {
|
|
113
|
+
}
|
|
114
|
+
export class Moment extends Schema.Class("Moment")({
|
|
115
|
+
date: Schema.DateTimeUtc,
|
|
116
|
+
}) {
|
|
117
|
+
}
|
|
118
|
+
export class LocatedMoment extends Schema.Class("LocatedMoment")({
|
|
119
|
+
moment: Moment,
|
|
120
|
+
latitude: Schema.Finite,
|
|
121
|
+
longitude: Schema.Finite,
|
|
122
|
+
}) {
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/chart/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { HouseData, PlanetaryPosition } from "../ephemeris/model.js";
|
|
3
|
+
import { ChartCalculationError } from "./error.js";
|
|
4
|
+
import { Placements, SourcePlanet } from "./model.js";
|
|
5
|
+
export interface PlacementEvidence {
|
|
6
|
+
readonly houses: HouseData;
|
|
7
|
+
readonly planetEntries: readonly (readonly [SourcePlanet["name"], PlanetaryPosition])[];
|
|
8
|
+
}
|
|
9
|
+
export declare const placementsFromEvidence: (evidence: PlacementEvidence) => Effect.Effect<Placements, ChartCalculationError, never>;
|
|
10
|
+
//# sourceMappingURL=placements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placements.d.ts","sourceRoot":"","sources":["../../src/chart/placements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAAyB,MAAM,YAAY,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAe,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC;CACzF;AAED,eAAO,MAAM,sBAAsB,0FAmDlC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { normalizeLongitude } from "./divisional-mapping/calculate.js";
|
|
3
|
+
import { ChartCalculationError, MissingPlacementError } from "./error.js";
|
|
4
|
+
import { nakshatraOf } from "./helper.js";
|
|
5
|
+
import { Placements, SourceLagna, SourcePlanet } from "./model.js";
|
|
6
|
+
export const placementsFromEvidence = Effect.fn("Chart.placementsFromEvidence")(function* (evidence) {
|
|
7
|
+
const sourcePlanets = yield* Effect.all(evidence.planetEntries.map(([name, position]) => normalizeLongitude(position.longitude).pipe(Effect.map((longitude) => SourcePlanet.make({
|
|
8
|
+
name,
|
|
9
|
+
longitude,
|
|
10
|
+
is_retrograde: position.longitudeSpeed < 0,
|
|
11
|
+
nakshatra: nakshatraOf(longitude),
|
|
12
|
+
})))), { concurrency: "unbounded" });
|
|
13
|
+
const rahu = sourcePlanets.find((planet) => planet.name === "Rahu");
|
|
14
|
+
if (rahu === undefined) {
|
|
15
|
+
return yield* MissingPlacementError.make({ placement: "Rahu" });
|
|
16
|
+
}
|
|
17
|
+
const ketuLongitude = yield* normalizeLongitude(rahu.longitude + 180);
|
|
18
|
+
const ascendant = yield* normalizeLongitude(evidence.houses.ascendant);
|
|
19
|
+
const planets = [
|
|
20
|
+
...sourcePlanets,
|
|
21
|
+
SourcePlanet.make({
|
|
22
|
+
name: "Ketu",
|
|
23
|
+
longitude: ketuLongitude,
|
|
24
|
+
is_retrograde: rahu.is_retrograde,
|
|
25
|
+
nakshatra: nakshatraOf(ketuLongitude),
|
|
26
|
+
}),
|
|
27
|
+
];
|
|
28
|
+
return Placements.make({
|
|
29
|
+
lagna: SourceLagna.make({
|
|
30
|
+
name: "Lagna",
|
|
31
|
+
longitude: ascendant,
|
|
32
|
+
nakshatra: nakshatraOf(ascendant),
|
|
33
|
+
}),
|
|
34
|
+
planets,
|
|
35
|
+
});
|
|
36
|
+
}, Effect.mapError((cause) => ChartCalculationError.make({
|
|
37
|
+
stage: "placements",
|
|
38
|
+
message: "Could not calculate Placements",
|
|
39
|
+
cause,
|
|
40
|
+
})));
|
|
41
|
+
//# sourceMappingURL=placements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placements.js","sourceRoot":"","sources":["../../src/chart/placements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAOnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAC7E,QAAQ,CAAC,EAAE,QAA2B;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACrC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC9C,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CACzC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACvB,YAAY,CAAC,IAAI,CAAC;QAChB,IAAI;QACJ,SAAS;QACT,aAAa,EAAE,QAAQ,CAAC,cAAc,GAAG,CAAC;QAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC;KAClC,CAAC,CACH,CACF,CACF,EACD,EAAE,WAAW,EAAE,WAAW,EAAE,CAC7B,CAAC;IAEF,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACpE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG;QACd,GAAG,aAAa;QAChB,YAAY,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,aAAa;YACxB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC;SACtC,CAAC;KACH,CAAC;IAEF,OAAO,UAAU,CAAC,IAAI,CAAC;QACrB,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;YACtB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC;SAClC,CAAC;QACF,OAAO;KACR,CAAC,CAAC;AACL,CAAC,EACD,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,qBAAqB,CAAC,IAAI,CAAC;IACzB,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,gCAAgC;IACzC,KAAK;CACN,CAAC,CACH,CACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Effect, DateTime } from "effect";
|
|
2
|
+
import type { Moment, Placements } from "../chart/model.js";
|
|
3
|
+
import { DashaCalculationError } from "./error.js";
|
|
4
|
+
export declare const calculate: (moment: Moment, placements: Placements) => Effect.Effect<{
|
|
5
|
+
readonly mahadasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
6
|
+
readonly start: DateTime.Utc;
|
|
7
|
+
readonly end: DateTime.Utc;
|
|
8
|
+
readonly antardashas: readonly {
|
|
9
|
+
readonly mahadasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
10
|
+
readonly antardasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
11
|
+
readonly start: DateTime.Utc;
|
|
12
|
+
readonly end: DateTime.Utc;
|
|
13
|
+
}[];
|
|
14
|
+
}[], DashaCalculationError, never>;
|
|
15
|
+
//# sourceMappingURL=calculate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate.d.ts","sourceRoot":"","sources":["../../src/dasha/calculate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAW,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAuEnD,eAAO,MAAM,SAAS;;;;;;;;;;kCA2DrB,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Effect, DateTime } from "effect";
|
|
2
|
+
import { DashaCalculationError } from "./error.js";
|
|
3
|
+
import { AntarDasha, MahaDasha } from "./model.js";
|
|
4
|
+
const VIMSHOTTARI_PLANETS = [
|
|
5
|
+
"Ketu",
|
|
6
|
+
"Venus",
|
|
7
|
+
"Sun",
|
|
8
|
+
"Moon",
|
|
9
|
+
"Mars",
|
|
10
|
+
"Rahu",
|
|
11
|
+
"Jupiter",
|
|
12
|
+
"Saturn",
|
|
13
|
+
"Mercury",
|
|
14
|
+
];
|
|
15
|
+
const VIMSHOTTARI_YEARS = {
|
|
16
|
+
Ketu: 7,
|
|
17
|
+
Venus: 20,
|
|
18
|
+
Sun: 6,
|
|
19
|
+
Moon: 10,
|
|
20
|
+
Mars: 7,
|
|
21
|
+
Rahu: 18,
|
|
22
|
+
Jupiter: 16,
|
|
23
|
+
Saturn: 19,
|
|
24
|
+
Mercury: 17,
|
|
25
|
+
};
|
|
26
|
+
const NAKSHATRA_ARC_MINUTES = 800;
|
|
27
|
+
const VIMSHOTTARI_CYCLE_YEARS = 120;
|
|
28
|
+
function calendarDuration(decimalYears) {
|
|
29
|
+
const years = Math.trunc(decimalYears);
|
|
30
|
+
const monthsValue = (decimalYears - years) * 12;
|
|
31
|
+
const months = Math.trunc(monthsValue);
|
|
32
|
+
const daysValue = (monthsValue - months) * 30;
|
|
33
|
+
const days = Math.trunc(daysValue);
|
|
34
|
+
const hoursValue = (daysValue - days) * 24;
|
|
35
|
+
const hours = Math.trunc(hoursValue);
|
|
36
|
+
const minutes = Math.trunc((hoursValue - hours) * 60);
|
|
37
|
+
return { years, months, days, hours, minutes };
|
|
38
|
+
}
|
|
39
|
+
function shiftDate(date, decimalYears, direction) {
|
|
40
|
+
const duration = calendarDuration(decimalYears);
|
|
41
|
+
const months = duration.years * 12 + duration.months;
|
|
42
|
+
const shiftedMonth = DateTime.add(date, {
|
|
43
|
+
months: direction * months,
|
|
44
|
+
});
|
|
45
|
+
return DateTime.add(shiftedMonth, {
|
|
46
|
+
days: direction * duration.days,
|
|
47
|
+
hours: direction * duration.hours,
|
|
48
|
+
minutes: direction * duration.minutes,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function rotate(values, start) {
|
|
52
|
+
return [...values.slice(start), ...values.slice(0, start)];
|
|
53
|
+
}
|
|
54
|
+
export const calculate = Effect.fn("astro-ascendant/dasha/calculate")(function* (moment, placements) {
|
|
55
|
+
const moon = placements.planets.find((planet) => planet.name === "Moon");
|
|
56
|
+
if (moon === undefined) {
|
|
57
|
+
return yield* DashaCalculationError.make({
|
|
58
|
+
message: "Placements must contain the Moon",
|
|
59
|
+
cause: placements,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
const nakshatraLord = moon?.nakshatra.lord;
|
|
63
|
+
const startIndex = VIMSHOTTARI_PLANETS.indexOf(nakshatraLord);
|
|
64
|
+
const sequence = rotate(VIMSHOTTARI_PLANETS, startIndex);
|
|
65
|
+
const nakshatraIndex = Math.floor(moon.longitude / (360 / 27));
|
|
66
|
+
const nakshatraStart = nakshatraIndex * NAKSHATRA_ARC_MINUTES;
|
|
67
|
+
const elapsedArcMinutes = Math.round(moon.longitude * 60 * 100) / 100 - nakshatraStart;
|
|
68
|
+
const remainingArcMinutes = NAKSHATRA_ARC_MINUTES - elapsedArcMinutes;
|
|
69
|
+
const lordYears = VIMSHOTTARI_YEARS[nakshatraLord];
|
|
70
|
+
const elapsedYears = lordYears - (lordYears / NAKSHATRA_ARC_MINUTES) * remainingArcMinutes;
|
|
71
|
+
let mahadashaStart = shiftDate(moment.date, elapsedYears, -1);
|
|
72
|
+
return sequence.map((mahadasha) => {
|
|
73
|
+
const mahadashaYears = VIMSHOTTARI_YEARS[mahadasha];
|
|
74
|
+
const mahadashaEnd = shiftDate(mahadashaStart, mahadashaYears, 1);
|
|
75
|
+
const antardashaSequence = rotate(sequence, sequence.indexOf(mahadasha));
|
|
76
|
+
let antardashaStart = mahadashaStart;
|
|
77
|
+
let elapsedAntardashaYears = 0;
|
|
78
|
+
const antardashas = antardashaSequence.map((antardasha, index) => {
|
|
79
|
+
elapsedAntardashaYears +=
|
|
80
|
+
(mahadashaYears * VIMSHOTTARI_YEARS[antardasha]) / VIMSHOTTARI_CYCLE_YEARS;
|
|
81
|
+
const antardashaEnd = index === antardashaSequence.length - 1
|
|
82
|
+
? mahadashaEnd
|
|
83
|
+
: shiftDate(mahadashaStart, elapsedAntardashaYears, 1);
|
|
84
|
+
const period = AntarDasha.make({
|
|
85
|
+
mahadasha,
|
|
86
|
+
antardasha,
|
|
87
|
+
start: antardashaStart,
|
|
88
|
+
end: antardashaEnd,
|
|
89
|
+
});
|
|
90
|
+
antardashaStart = antardashaEnd;
|
|
91
|
+
return period;
|
|
92
|
+
});
|
|
93
|
+
const period = MahaDasha.make({
|
|
94
|
+
mahadasha,
|
|
95
|
+
start: mahadashaStart,
|
|
96
|
+
end: mahadashaEnd,
|
|
97
|
+
antardashas,
|
|
98
|
+
});
|
|
99
|
+
mahadashaStart = mahadashaEnd;
|
|
100
|
+
return period;
|
|
101
|
+
});
|
|
102
|
+
}, Effect.mapError((cause) => DashaCalculationError.make({
|
|
103
|
+
message: "Could not calculate Vimshottari Dasha",
|
|
104
|
+
cause,
|
|
105
|
+
})));
|
|
106
|
+
//# sourceMappingURL=calculate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calculate.js","sourceRoot":"","sources":["../../src/dasha/calculate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
declare const DashaCalculationError_base: Schema.Class<DashaCalculationError, Schema.TaggedStruct<"DashaCalculationError", {
|
|
3
|
+
readonly message: Schema.String;
|
|
4
|
+
readonly cause: Schema.Defect;
|
|
5
|
+
}>, import("effect/Cause").YieldableError>;
|
|
6
|
+
export declare class DashaCalculationError extends DashaCalculationError_base {
|
|
7
|
+
}
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/dasha/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;AAEhC,qBAAa,qBAAsB,SAAQ,0BAM1C;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/dasha/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,WAAW,EAAyB,CACpF,uBAAuB,EACvB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;CACvB,CACF;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dasha/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dasha/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
export declare const AntarDasha: Schema.Struct<{
|
|
3
|
+
readonly mahadasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
4
|
+
readonly antardasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
5
|
+
readonly start: Schema.DateTimeUtc;
|
|
6
|
+
readonly end: Schema.DateTimeUtc;
|
|
7
|
+
}>;
|
|
8
|
+
export interface AntarDasha extends Schema.Schema.Type<typeof AntarDasha> {
|
|
9
|
+
}
|
|
10
|
+
export declare const MahaDasha: Schema.Struct<{
|
|
11
|
+
readonly mahadasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
12
|
+
readonly start: Schema.DateTimeUtc;
|
|
13
|
+
readonly end: Schema.DateTimeUtc;
|
|
14
|
+
readonly antardashas: Schema.$Array<Schema.Struct<{
|
|
15
|
+
readonly mahadasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
16
|
+
readonly antardasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
17
|
+
readonly start: Schema.DateTimeUtc;
|
|
18
|
+
readonly end: Schema.DateTimeUtc;
|
|
19
|
+
}>>;
|
|
20
|
+
}>;
|
|
21
|
+
export interface MahaDasha extends Schema.Schema.Type<typeof MahaDasha> {
|
|
22
|
+
}
|
|
23
|
+
export declare const VimshottariDasha: Schema.$Array<Schema.Struct<{
|
|
24
|
+
readonly mahadasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
25
|
+
readonly start: Schema.DateTimeUtc;
|
|
26
|
+
readonly end: Schema.DateTimeUtc;
|
|
27
|
+
readonly antardashas: Schema.$Array<Schema.Struct<{
|
|
28
|
+
readonly mahadasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
29
|
+
readonly antardasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
30
|
+
readonly start: Schema.DateTimeUtc;
|
|
31
|
+
readonly end: Schema.DateTimeUtc;
|
|
32
|
+
}>>;
|
|
33
|
+
}>>;
|
|
34
|
+
export type VimshottariDasha = typeof VimshottariDasha.Type;
|
|
35
|
+
export declare const CurrentDasha: Schema.Struct<{
|
|
36
|
+
readonly mahadasha: Schema.Struct<{
|
|
37
|
+
readonly mahadasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
38
|
+
readonly start: Schema.DateTimeUtc;
|
|
39
|
+
readonly end: Schema.DateTimeUtc;
|
|
40
|
+
readonly antardashas: Schema.$Array<Schema.Struct<{
|
|
41
|
+
readonly mahadasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
42
|
+
readonly antardasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
43
|
+
readonly start: Schema.DateTimeUtc;
|
|
44
|
+
readonly end: Schema.DateTimeUtc;
|
|
45
|
+
}>>;
|
|
46
|
+
}>;
|
|
47
|
+
readonly antardasha: Schema.Struct<{
|
|
48
|
+
readonly mahadasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
49
|
+
readonly antardasha: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
50
|
+
readonly start: Schema.DateTimeUtc;
|
|
51
|
+
readonly end: Schema.DateTimeUtc;
|
|
52
|
+
}>;
|
|
53
|
+
}>;
|
|
54
|
+
export interface CurrentDasha extends Schema.Schema.Type<typeof CurrentDasha> {
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/dasha/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,eAAO,MAAM,UAAU;;;;;EAKrB,CAAC;AACH,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;CAAG;AAE5E,eAAO,MAAM,SAAS;;;;;;;;;;EAKpB,CAAC;AACH,MAAM,WAAW,SAAU,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC;CAAG;AAE1E,eAAO,MAAM,gBAAgB;;;;;;;;;;GAA0B,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAGvB,CAAC;AACH,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC;CAAG"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { Planets } from "../chart/model.js";
|
|
3
|
+
export const AntarDasha = Schema.Struct({
|
|
4
|
+
mahadasha: Planets,
|
|
5
|
+
antardasha: Planets,
|
|
6
|
+
start: Schema.DateTimeUtc,
|
|
7
|
+
end: Schema.DateTimeUtc,
|
|
8
|
+
});
|
|
9
|
+
export const MahaDasha = Schema.Struct({
|
|
10
|
+
mahadasha: Planets,
|
|
11
|
+
start: Schema.DateTimeUtc,
|
|
12
|
+
end: Schema.DateTimeUtc,
|
|
13
|
+
antardashas: Schema.Array(AntarDasha),
|
|
14
|
+
});
|
|
15
|
+
export const VimshottariDasha = Schema.Array(MahaDasha);
|
|
16
|
+
export const CurrentDasha = Schema.Struct({
|
|
17
|
+
mahadasha: MahaDasha,
|
|
18
|
+
antardasha: AntarDasha,
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/dasha/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,OAAO;IACnB,KAAK,EAAE,MAAM,CAAC,WAAW;IACzB,GAAG,EAAE,MAAM,CAAC,WAAW;CACxB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,MAAM,CAAC,WAAW;IACzB,GAAG,EAAE,MAAM,CAAC,WAAW;IACvB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;CACtC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAGxD,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,UAAU;CACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DateTime, Effect } from "effect";
|
|
2
|
+
export declare const at: (timeline: readonly {
|
|
3
|
+
readonly mahadasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
4
|
+
readonly start: DateTime.Utc;
|
|
5
|
+
readonly end: DateTime.Utc;
|
|
6
|
+
readonly antardashas: readonly {
|
|
7
|
+
readonly mahadasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
8
|
+
readonly antardasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
9
|
+
readonly start: DateTime.Utc;
|
|
10
|
+
readonly end: DateTime.Utc;
|
|
11
|
+
}[];
|
|
12
|
+
}[], when?: DateTime.Utc | undefined) => Effect.Effect<{
|
|
13
|
+
mahadasha: {
|
|
14
|
+
readonly mahadasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
15
|
+
readonly start: DateTime.Utc;
|
|
16
|
+
readonly end: DateTime.Utc;
|
|
17
|
+
readonly antardashas: readonly {
|
|
18
|
+
readonly mahadasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
19
|
+
readonly antardasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
20
|
+
readonly start: DateTime.Utc;
|
|
21
|
+
readonly end: DateTime.Utc;
|
|
22
|
+
}[];
|
|
23
|
+
};
|
|
24
|
+
antardasha: {
|
|
25
|
+
readonly mahadasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
26
|
+
readonly antardasha: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus";
|
|
27
|
+
readonly start: DateTime.Utc;
|
|
28
|
+
readonly end: DateTime.Utc;
|
|
29
|
+
};
|
|
30
|
+
} | null, never, never>;
|
|
31
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/dasha/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAc1C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiBb,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
}
|
|
6
|
+
export const at = Effect.fn("astro-ascendant/dasha/at")(function* (timeline, when) {
|
|
7
|
+
const instant = when ?? (yield* DateTime.now);
|
|
8
|
+
for (const mahadasha of timeline) {
|
|
9
|
+
if (!contains(mahadasha, instant))
|
|
10
|
+
continue;
|
|
11
|
+
for (const antardasha of mahadasha.antardashas) {
|
|
12
|
+
if (contains(antardasha, instant)) {
|
|
13
|
+
return { mahadasha, antardasha };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return null;
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/dasha/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,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,EAC/D,QAA0B,EAC1B,IAAmB;IAEnB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE9C,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;YAAE,SAAS;QAE5C,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAyB,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
declare const EphemerisError_base: Schema.Class<EphemerisError, Schema.TaggedStruct<"EphemerisError", {
|
|
3
|
+
readonly operation: Schema.String;
|
|
4
|
+
readonly cause: Schema.Defect;
|
|
5
|
+
}>, import("effect/Cause").YieldableError>;
|
|
6
|
+
export declare class EphemerisError extends EphemerisError_base {
|
|
7
|
+
}
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/ephemeris/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;;AAEhC,qBAAa,cAAe,SAAQ,mBAGlC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/ephemeris/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE;IACzF,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;CACvB,CAAC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ephemeris/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ephemeris/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { type HouseSystem } from "../astro-params/model.js";
|
|
3
|
+
export declare const JulianDay: Schema.brand<Schema.Finite, "JulianDay">;
|
|
4
|
+
export type JulianDay = typeof JulianDay.Type;
|
|
5
|
+
export declare const CelestialBody: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "TrueNode"]>;
|
|
6
|
+
export type CelestialBody = typeof CelestialBody.Type;
|
|
7
|
+
export interface PlanetaryPosition {
|
|
8
|
+
readonly longitude: number;
|
|
9
|
+
readonly latitude: number;
|
|
10
|
+
readonly distance: number;
|
|
11
|
+
readonly longitudeSpeed: number;
|
|
12
|
+
readonly latitudeSpeed: number;
|
|
13
|
+
readonly distanceSpeed: number;
|
|
14
|
+
readonly flags: number;
|
|
15
|
+
}
|
|
16
|
+
export interface HouseData {
|
|
17
|
+
readonly cusps: readonly number[];
|
|
18
|
+
readonly ascendant: number;
|
|
19
|
+
readonly mc: number;
|
|
20
|
+
readonly armc: number;
|
|
21
|
+
readonly vertex: number;
|
|
22
|
+
readonly equatorialAscendant: number;
|
|
23
|
+
readonly coAscendant1: number;
|
|
24
|
+
readonly coAscendant2: number;
|
|
25
|
+
readonly polarAscendant: number;
|
|
26
|
+
readonly houseSystem: typeof HouseSystem.Type;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/ephemeris/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,eAAO,MAAM,SAAS,0CAErB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAE9C,eAAO,MAAM,aAAa,wGASxB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,WAAW,CAAC,IAAI,CAAC;CAC/C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import {} from "../astro-params/model.js";
|
|
3
|
+
export const JulianDay = Schema.Finite.check(Schema.isBetween({ minimum: 0, maximum: 1e7 })).pipe(Schema.brand("JulianDay"));
|
|
4
|
+
export const CelestialBody = Schema.Literals([
|
|
5
|
+
"Sun",
|
|
6
|
+
"Moon",
|
|
7
|
+
"Mars",
|
|
8
|
+
"Mercury",
|
|
9
|
+
"Venus",
|
|
10
|
+
"Jupiter",
|
|
11
|
+
"Saturn",
|
|
12
|
+
"TrueNode",
|
|
13
|
+
]);
|
|
14
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/ephemeris/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAoB,MAAM,0BAA0B,CAAC;AAE5D,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAC/F,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAC1B,CAAC;AAIF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3C,KAAK;IACL,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;CACX,CAAC,CAAC"}
|