astro-ascendant 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -2
- package/dist/chart/model.d.ts +1 -1
- package/dist/dasha/sthira/calculate.d.ts +2 -2
- package/dist/dasha/sthira/calculate.d.ts.map +1 -1
- package/dist/dasha/sthira/calculate.js +15 -6
- package/dist/dasha/sthira/calculate.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/jaimini/argala/calculate.d.ts +38 -6
- package/dist/jaimini/argala/calculate.d.ts.map +1 -1
- package/dist/jaimini/argala/calculate.js +22 -17
- package/dist/jaimini/argala/calculate.js.map +1 -1
- package/dist/jaimini/argala/helper.d.ts +7 -7
- package/dist/jaimini/argala/helper.d.ts.map +1 -1
- package/dist/jaimini/argala/helper.js +9 -5
- package/dist/jaimini/argala/helper.js.map +1 -1
- package/dist/jaimini/argala/model.d.ts +6 -0
- package/dist/jaimini/argala/model.d.ts.map +1 -1
- package/dist/jaimini/argala/model.js +5 -0
- package/dist/jaimini/argala/model.js.map +1 -1
- package/dist/jaimini/karakamsha/calculate.d.ts.map +1 -1
- package/dist/jaimini/karakamsha/calculate.js +11 -7
- package/dist/jaimini/karakamsha/calculate.js.map +1 -1
- package/dist/jaimini/karakamsha/helper.d.ts +3 -2
- package/dist/jaimini/karakamsha/helper.d.ts.map +1 -1
- package/dist/jaimini/karakamsha/helper.js +10 -4
- package/dist/jaimini/karakamsha/helper.js.map +1 -1
- package/dist/jaimini/rashi-drishti/calculate.d.ts +1 -1
- package/dist/jaimini/rashi-drishti/calculate.d.ts.map +1 -1
- package/dist/jaimini/rashi-drishti/calculate.js +3 -3
- package/dist/jaimini/rashi-drishti/calculate.js.map +1 -1
- package/dist/jaimini/rashi-drishti/helper.d.ts +3 -2
- package/dist/jaimini/rashi-drishti/helper.d.ts.map +1 -1
- package/dist/jaimini/rashi-drishti/helper.js +8 -4
- package/dist/jaimini/rashi-drishti/helper.js.map +1 -1
- package/dist/jaimini/rashi-drishti/model.d.ts +6 -0
- package/dist/jaimini/rashi-drishti/model.d.ts.map +1 -1
- package/dist/jaimini/rashi-drishti/model.js +5 -0
- package/dist/jaimini/rashi-drishti/model.js.map +1 -1
- package/dist/provenance.d.ts +24 -2
- package/dist/provenance.d.ts.map +1 -1
- package/dist/provenance.js +24 -2
- package/dist/provenance.js.map +1 -1
- package/dist/transit/error.d.ts +17 -0
- package/dist/transit/error.d.ts.map +1 -0
- package/dist/transit/error.js +14 -0
- package/dist/transit/error.js.map +1 -0
- package/dist/transit/find.d.ts +12 -0
- package/dist/transit/find.d.ts.map +1 -0
- package/dist/transit/find.js +120 -0
- package/dist/transit/find.js.map +1 -0
- package/dist/transit/index.d.ts +6 -0
- package/dist/transit/index.d.ts.map +1 -0
- package/dist/transit/index.js +5 -0
- package/dist/transit/index.js.map +1 -0
- package/dist/transit/model.d.ts +39 -0
- package/dist/transit/model.d.ts.map +1 -0
- package/dist/transit/model.js +24 -0
- package/dist/transit/model.js.map +1 -0
- package/dist/transit/search.d.ts +63 -0
- package/dist/transit/search.d.ts.map +1 -0
- package/dist/transit/search.js +204 -0
- package/dist/transit/search.js.map +1 -0
- package/package.json +6 -3
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { CalculationError } from "./model.js";
|
|
2
3
|
/**
|
|
3
4
|
* Returns the exactly three signs aspected by a reference under Jaimini Rashi
|
|
4
5
|
* Drishti: movable signs aspect non-adjacent fixed signs, fixed signs aspect
|
|
5
6
|
* non-adjacent movable signs, and dual signs aspect the other dual signs.
|
|
6
7
|
*/
|
|
7
|
-
export declare
|
|
8
|
+
export declare const targetsOf: (reference: "Aquarius" | "Aries" | "Cancer" | "Capricorn" | "Gemini" | "Leo" | "Libra" | "Pisces" | "Sagittarius" | "Scorpio" | "Taurus" | "Virgo") => Effect.Effect<readonly ["Aquarius" | "Aries" | "Cancer" | "Capricorn" | "Gemini" | "Leo" | "Libra" | "Pisces" | "Sagittarius" | "Scorpio" | "Taurus" | "Virgo", "Aquarius" | "Aries" | "Cancer" | "Capricorn" | "Gemini" | "Leo" | "Libra" | "Pisces" | "Sagittarius" | "Scorpio" | "Taurus" | "Virgo", "Aquarius" | "Aries" | "Cancer" | "Capricorn" | "Gemini" | "Leo" | "Libra" | "Pisces" | "Sagittarius" | "Scorpio" | "Taurus" | "Virgo"], CalculationError, never>;
|
|
8
9
|
//# sourceMappingURL=helper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/jaimini/rashi-drishti/helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/jaimini/rashi-drishti/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,QAAQ,CAAC;AAKzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAqB9C;;;;GAIG;AACH,eAAO,MAAM,SAAS,kmBAyBpB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { HashSet } from "effect";
|
|
1
|
+
import { Effect, HashSet } from "effect";
|
|
2
2
|
import { RASHIS } from "../../chart/internal/constants.js";
|
|
3
3
|
import { signAt } from "../../chart/internal/position.js";
|
|
4
|
+
import { CalculationError } from "./model.js";
|
|
4
5
|
const MOVABLE = HashSet.fromIterable([
|
|
5
6
|
"Aries",
|
|
6
7
|
"Cancer",
|
|
@@ -24,7 +25,7 @@ const DUAL = HashSet.fromIterable([
|
|
|
24
25
|
* Drishti: movable signs aspect non-adjacent fixed signs, fixed signs aspect
|
|
25
26
|
* non-adjacent movable signs, and dual signs aspect the other dual signs.
|
|
26
27
|
*/
|
|
27
|
-
export
|
|
28
|
+
export const targetsOf = Effect.fn("RashiDrishti.targetsOf")(function* (reference) {
|
|
28
29
|
const referenceIndex = RASHIS.indexOf(reference);
|
|
29
30
|
const targets = RASHIS.filter((candidate) => {
|
|
30
31
|
if (HashSet.has(MOVABLE, reference)) {
|
|
@@ -39,8 +40,11 @@ export function targetsOf(reference) {
|
|
|
39
40
|
const second = targets[1];
|
|
40
41
|
const third = targets[2];
|
|
41
42
|
if (first === undefined || second === undefined || third === undefined) {
|
|
42
|
-
|
|
43
|
+
return yield* CalculationError.make({
|
|
44
|
+
message: `Rashi Drishti did not produce three targets for ${reference}`,
|
|
45
|
+
cause: reference,
|
|
46
|
+
});
|
|
43
47
|
}
|
|
44
48
|
return [first, second, third];
|
|
45
|
-
}
|
|
49
|
+
});
|
|
46
50
|
//# sourceMappingURL=helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/jaimini/rashi-drishti/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/jaimini/rashi-drishti/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IACnC,OAAO;IACP,QAAQ;IACR,OAAO;IACP,WAAW;CACyB,CAAC,CAAC;AACxC,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;IACjC,QAAQ;IACR,KAAK;IACL,SAAS;IACT,UAAU;CAC0B,CAAC,CAAC;AACxC,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAChC,QAAQ;IACR,OAAO;IACP,aAAa;IACb,QAAQ;CAC4B,CAAC,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EACpE,SAAiB;IAEjB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,SAAS,KAAK,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,SAAS,KAAK,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,SAAS,KAAK,SAAS,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,mDAAmD,SAAS,EAAE;YACvE,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC"}
|
|
@@ -11,4 +11,10 @@ export declare const Result: Schema.Struct<{
|
|
|
11
11
|
}>;
|
|
12
12
|
export interface Result extends Schema.Schema.Type<typeof Result> {
|
|
13
13
|
}
|
|
14
|
+
declare const CalculationError_base: Schema.Class<CalculationError, Schema.TaggedStruct<"RashiDrishtiCalculationError", {
|
|
15
|
+
readonly message: Schema.String;
|
|
16
|
+
readonly cause: Schema.Defect;
|
|
17
|
+
}>, import("effect/Cause").YieldableError>;
|
|
18
|
+
export declare class CalculationError extends CalculationError_base {
|
|
19
|
+
}
|
|
14
20
|
//# sourceMappingURL=model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/jaimini/rashi-drishti/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,6BAA6B,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElF,eAAO,MAAM,MAAM;;;;;;;;EAIjB,CAAC;AACH,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC;CAAG"}
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/jaimini/rashi-drishti/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,6BAA6B,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElF,eAAO,MAAM,MAAM;;;;;;;;EAIjB,CAAC;AACH,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC;CAAG;;;;;AAEpE,qBAAa,gBAAiB,SAAQ,qBAMrC;CAAG"}
|
|
@@ -7,4 +7,9 @@ export const Result = Schema.Struct({
|
|
|
7
7
|
reference: Rashis,
|
|
8
8
|
targets: Schema.Tuple([Rashis, Rashis, Rashis]),
|
|
9
9
|
});
|
|
10
|
+
export class CalculationError extends Schema.TaggedError()("RashiDrishtiCalculationError", {
|
|
11
|
+
message: Schema.String,
|
|
12
|
+
cause: Schema.Defect(),
|
|
13
|
+
}) {
|
|
14
|
+
}
|
|
10
15
|
//# sourceMappingURL=model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/jaimini/rashi-drishti/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,6BAA6B,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElF,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,6BAA6B;IACzC,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/jaimini/rashi-drishti/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,6BAA6B,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElF,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,6BAA6B;IACzC,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAAC,CAAC;AAGH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAC1E,8BAA8B,EAC9B;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;CACvB,CACF;CAAG"}
|
package/dist/provenance.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export interface MethodSpecification extends Schema.Schema.Type<typeof MethodSpe
|
|
|
30
30
|
export declare const ChartProjectionProvenance: Schema.Struct<{
|
|
31
31
|
readonly school: Schema.Literal<"Ascendant">;
|
|
32
32
|
readonly method: Schema.Literal<"ascendant-divisional-mapping">;
|
|
33
|
-
readonly version: Schema.Literal<
|
|
33
|
+
readonly version: Schema.Literal<1>;
|
|
34
34
|
}>;
|
|
35
35
|
export interface ChartProjectionProvenance extends Schema.Schema.Type<typeof ChartProjectionProvenance> {
|
|
36
36
|
}
|
|
@@ -90,6 +90,13 @@ export declare const SthiraDashaProvenance: Schema.Struct<{
|
|
|
90
90
|
}>;
|
|
91
91
|
export interface SthiraDashaProvenance extends Schema.Schema.Type<typeof SthiraDashaProvenance> {
|
|
92
92
|
}
|
|
93
|
+
export declare const TransitSearchProvenance: Schema.Struct<{
|
|
94
|
+
readonly school: Schema.Literal<"Ascendant">;
|
|
95
|
+
readonly method: Schema.Literal<"transit-sample-bisect">;
|
|
96
|
+
readonly version: Schema.Literal<1>;
|
|
97
|
+
}>;
|
|
98
|
+
export interface TransitSearchProvenance extends Schema.Schema.Type<typeof TransitSearchProvenance> {
|
|
99
|
+
}
|
|
93
100
|
/**
|
|
94
101
|
* The canonical registry of calculation methods. Results carry the matching
|
|
95
102
|
* `provenance`; this registry supplies the auditable method steps and checks.
|
|
@@ -99,7 +106,7 @@ export declare const methods: {
|
|
|
99
106
|
readonly provenance: {
|
|
100
107
|
readonly school: "Ascendant";
|
|
101
108
|
readonly method: "ascendant-divisional-mapping";
|
|
102
|
-
readonly version:
|
|
109
|
+
readonly version: 1;
|
|
103
110
|
};
|
|
104
111
|
readonly steps: readonly [{
|
|
105
112
|
readonly id: "map-longitudes";
|
|
@@ -236,6 +243,21 @@ export declare const methods: {
|
|
|
236
243
|
}];
|
|
237
244
|
readonly verification: readonly ["Brahma scorecards expose all candidate scores.", "Exact-degree then natural-strength breaks score ties."];
|
|
238
245
|
};
|
|
246
|
+
readonly transitSearch: {
|
|
247
|
+
readonly provenance: {
|
|
248
|
+
readonly school: "Ascendant";
|
|
249
|
+
readonly method: "transit-sample-bisect";
|
|
250
|
+
readonly version: 1;
|
|
251
|
+
};
|
|
252
|
+
readonly steps: readonly [{
|
|
253
|
+
readonly id: "sample-coarse";
|
|
254
|
+
readonly description: "Step per-planet coarse intervals from the located moment.";
|
|
255
|
+
}, {
|
|
256
|
+
readonly id: "bisect-brackets";
|
|
257
|
+
readonly description: "Bisect each bracketed crossing to one-minute precision.";
|
|
258
|
+
}];
|
|
259
|
+
readonly verification: readonly ["Every zero-crossing counts in strict time order.", "Exhausted searches fail typed instead of returning short lists."];
|
|
260
|
+
};
|
|
239
261
|
};
|
|
240
262
|
export type MethodId = keyof typeof methods;
|
|
241
263
|
//# sourceMappingURL=provenance.d.ts.map
|
package/dist/provenance.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB;;;;EAIhC,CAAC;AACH,MAAM,WAAW,qBAAsB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,qBAAqB,CAAC;CAAG;AAElG,eAAO,MAAM,UAAU;;;EAGrB,CAAC;AACH,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC;CAAG;AAE5E,eAAO,MAAM,mBAAmB;;;;;;;;;;;EAI9B,CAAC;AACH,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC;CAAG;AAE9F,eAAO,MAAM,yBAAyB;;;;EAIpC,CAAC;AACH,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACnE,OAAO,yBAAyB,CACjC;CAAG;AAEJ,eAAO,MAAM,uBAAuB;;;;EAIlC,CAAC;AACH,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACjE,OAAO,uBAAuB,CAC/B;CAAG;AAEJ,eAAO,MAAM,2BAA2B;;;;EAItC,CAAC;AACH,MAAM,WAAW,2BAA4B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACrE,OAAO,2BAA2B,CACnC;CAAG;AAEJ,eAAO,MAAM,6BAA6B;;;;EAIxC,CAAC;AACH,MAAM,WAAW,6BAA8B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACvE,OAAO,6BAA6B,CACrC;CAAG;AAEJ,eAAO,MAAM,2BAA2B;;;;EAItC,CAAC;AACH,MAAM,WAAW,2BAA4B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACrE,OAAO,2BAA2B,CACnC;CAAG;AAEJ,eAAO,MAAM,6BAA6B;;;;EAIxC,CAAC;AACH,MAAM,WAAW,6BAA8B,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CACvE,OAAO,6BAA6B,CACrC;CAAG;AAEJ,eAAO,MAAM,wBAAwB;;;;EAInC,CAAC;AACH,MAAM,WAAW,wBAAyB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAClE,OAAO,wBAAwB,CAChC;CAAG;AAEJ,eAAO,MAAM,oBAAoB;;;;EAI/B,CAAC;AACH,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC;CAAG;AAEhG,eAAO,MAAM,qBAAqB;;;;EAIhC,CAAC;AACH,MAAM,WAAW,qBAAsB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,qBAAqB,CAAC;CAAG;AAElG;;;GAGG;AACH,eAAO,MAAM,OAAO;;;qBAEF,MAAM,EAAE,WAAW;qBAAE,MAAM,EAAE,8BAA8B;qBAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
|
package/dist/provenance.js
CHANGED
|
@@ -17,7 +17,7 @@ export const MethodSpecification = Schema.Struct({
|
|
|
17
17
|
export const ChartProjectionProvenance = Schema.Struct({
|
|
18
18
|
school: Schema.Literal("Ascendant"),
|
|
19
19
|
method: Schema.Literal("ascendant-divisional-mapping"),
|
|
20
|
-
version: Schema.Literal(
|
|
20
|
+
version: Schema.Literal(1),
|
|
21
21
|
});
|
|
22
22
|
export const JaiminiArgalaProvenance = Schema.Struct({
|
|
23
23
|
school: Schema.Literal("Jaimini"),
|
|
@@ -59,13 +59,18 @@ export const SthiraDashaProvenance = Schema.Struct({
|
|
|
59
59
|
method: Schema.Literal("bv-raman-koch-brahma-strength"),
|
|
60
60
|
version: Schema.Literal(2),
|
|
61
61
|
});
|
|
62
|
+
export const TransitSearchProvenance = Schema.Struct({
|
|
63
|
+
school: Schema.Literal("Ascendant"),
|
|
64
|
+
method: Schema.Literal("transit-sample-bisect"),
|
|
65
|
+
version: Schema.Literal(1),
|
|
66
|
+
});
|
|
62
67
|
/**
|
|
63
68
|
* The canonical registry of calculation methods. Results carry the matching
|
|
64
69
|
* `provenance`; this registry supplies the auditable method steps and checks.
|
|
65
70
|
*/
|
|
66
71
|
export const methods = {
|
|
67
72
|
chartProjection: {
|
|
68
|
-
provenance: { school: "Ascendant", method: "ascendant-divisional-mapping", version:
|
|
73
|
+
provenance: { school: "Ascendant", method: "ascendant-divisional-mapping", version: 1 },
|
|
69
74
|
steps: [
|
|
70
75
|
{ id: "map-longitudes", description: "Map Lagna and planets into the requested division." },
|
|
71
76
|
{ id: "build-whole-sign-houses", description: "Build twelve houses from the mapped Lagna." },
|
|
@@ -168,5 +173,22 @@ export const methods = {
|
|
|
168
173
|
"Exact-degree then natural-strength breaks score ties.",
|
|
169
174
|
],
|
|
170
175
|
},
|
|
176
|
+
transitSearch: {
|
|
177
|
+
provenance: { school: "Ascendant", method: "transit-sample-bisect", version: 1 },
|
|
178
|
+
steps: [
|
|
179
|
+
{
|
|
180
|
+
id: "sample-coarse",
|
|
181
|
+
description: "Step per-planet coarse intervals from the located moment.",
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
id: "bisect-brackets",
|
|
185
|
+
description: "Bisect each bracketed crossing to one-minute precision.",
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
verification: [
|
|
189
|
+
"Every zero-crossing counts in strict time order.",
|
|
190
|
+
"Exhausted searches fail typed instead of returning short lists.",
|
|
191
|
+
],
|
|
192
|
+
},
|
|
171
193
|
};
|
|
172
194
|
//# sourceMappingURL=provenance.js.map
|
package/dist/provenance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CACnD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM;CAC3B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,qBAAqB;IACjC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;CAClD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { TransitEvent } from "./model.js";
|
|
3
|
+
declare const TransitValidationError_base: Schema.Class<TransitValidationError, Schema.TaggedStruct<"TransitValidationError", {
|
|
4
|
+
readonly message: Schema.String;
|
|
5
|
+
readonly cause: Schema.Defect;
|
|
6
|
+
}>, import("effect/Cause").YieldableError>;
|
|
7
|
+
export declare class TransitValidationError extends TransitValidationError_base {
|
|
8
|
+
}
|
|
9
|
+
declare const TransitSearchExhausted_base: Schema.Class<TransitSearchExhausted, Schema.TaggedStruct<"TransitSearchExhausted", {
|
|
10
|
+
readonly message: Schema.String;
|
|
11
|
+
readonly found: Schema.$Array<typeof TransitEvent>;
|
|
12
|
+
readonly searchedUntil: Schema.DateTimeUtc;
|
|
13
|
+
}>, import("effect/Cause").YieldableError>;
|
|
14
|
+
export declare class TransitSearchExhausted extends TransitSearchExhausted_base {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/transit/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;;;;;AAE1C,qBAAa,sBAAuB,SAAQ,2BAM3C;CAAG;;;;;;AAEJ,qBAAa,sBAAuB,SAAQ,2BAO3C;CAAG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { TransitEvent } from "./model.js";
|
|
3
|
+
export class TransitValidationError extends Schema.TaggedError()("TransitValidationError", {
|
|
4
|
+
message: Schema.String,
|
|
5
|
+
cause: Schema.Defect(),
|
|
6
|
+
}) {
|
|
7
|
+
}
|
|
8
|
+
export class TransitSearchExhausted extends Schema.TaggedError()("TransitSearchExhausted", {
|
|
9
|
+
message: Schema.String,
|
|
10
|
+
found: Schema.Array(TransitEvent),
|
|
11
|
+
searchedUntil: Schema.DateTimeUtc,
|
|
12
|
+
}) {
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/transit/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,EAA0B,CACtF,wBAAwB,EACxB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;CACvB,CACF;CAAG;AAEJ,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,EAA0B,CACtF,wBAAwB,EACxB;IACE,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC,WAAW;CAClC,CACF;CAAG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { AstroParams } from "../astro-params/service.js";
|
|
3
|
+
import { Ephemeris } from "../ephemeris/service.js";
|
|
4
|
+
import { TransitSearchExhausted, TransitValidationError } from "./error.js";
|
|
5
|
+
import { TransitEvent, type TransitRequest } from "./model.js";
|
|
6
|
+
/**
|
|
7
|
+
* Finds the next or previous Transit events for one graha from a Located
|
|
8
|
+
* Moment. Cusp targets are the natal house cusps at `from` under the shared
|
|
9
|
+
* AstroParams; Charts attach afterwards only when `includeCharts` asks.
|
|
10
|
+
*/
|
|
11
|
+
export declare const findTransits: (request: TransitRequest) => Effect.Effect<TransitEvent[], import("../chart/error.js").ChartCalculationError | import("../chart/divisional-mapping/error.js").DivisionalMappingError | import("../ephemeris/error.js").EphemerisError | import("../chart/error.js").LocatedMomentValidationError | TransitSearchExhausted | TransitValidationError, AstroParams | Ephemeris>;
|
|
12
|
+
//# sourceMappingURL=find.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/transit/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,YAAY,EAGZ,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AA8BpB;;;;GAIG;AACH,eAAO,MAAM,YAAY,8WAkGvB,CAAC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { AstroParams } from "../astro-params/service.js";
|
|
3
|
+
import { generate } from "../chart/generate.js";
|
|
4
|
+
import { ChartParams, Longitude, Moment } from "../chart/model.js";
|
|
5
|
+
import { Ephemeris } from "../ephemeris/service.js";
|
|
6
|
+
import { TransitSearchExhausted, TransitValidationError } from "./error.js";
|
|
7
|
+
import { TransitEvent, } from "./model.js";
|
|
8
|
+
import { normalize360, dateTimeFromJd, searchRawHits } from "./search.js";
|
|
9
|
+
const MAX_COUNT = 100;
|
|
10
|
+
const MAX_YEARS = 200;
|
|
11
|
+
const validateRequest = Effect.fn("Transit.validateRequest")(function* (request) {
|
|
12
|
+
const invalid = (message) => TransitValidationError.make({ message, cause: request });
|
|
13
|
+
if (!Number.isInteger(request.count) || request.count < 1 || request.count > MAX_COUNT) {
|
|
14
|
+
return yield* invalid(`count must be an integer between 1 and ${MAX_COUNT}`);
|
|
15
|
+
}
|
|
16
|
+
if (request.kinds.length === 0) {
|
|
17
|
+
return yield* invalid("kinds must name at least one Transit event kind");
|
|
18
|
+
}
|
|
19
|
+
if (request.kinds.includes("longitude-hit") && request.targetLongitude === undefined) {
|
|
20
|
+
return yield* invalid("targetLongitude is required for longitude-hit searches");
|
|
21
|
+
}
|
|
22
|
+
if (request.kinds.includes("cusp-crossing") && request.house === undefined) {
|
|
23
|
+
return yield* invalid("house is required for cusp-crossing searches");
|
|
24
|
+
}
|
|
25
|
+
const maxYears = request.maxYears ?? 30;
|
|
26
|
+
if (!Number.isFinite(maxYears) || maxYears <= 0 || maxYears > MAX_YEARS) {
|
|
27
|
+
return yield* invalid(`maxYears must be between 0 (exclusive) and ${MAX_YEARS}`);
|
|
28
|
+
}
|
|
29
|
+
const precisionMinutes = request.precisionMinutes ?? 1;
|
|
30
|
+
if (!Number.isFinite(precisionMinutes) || precisionMinutes <= 0 || precisionMinutes > 1440) {
|
|
31
|
+
return yield* invalid("precisionMinutes must be between 0 (exclusive) and 1440");
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* Finds the next or previous Transit events for one graha from a Located
|
|
36
|
+
* Moment. Cusp targets are the natal house cusps at `from` under the shared
|
|
37
|
+
* AstroParams; Charts attach afterwards only when `includeCharts` asks.
|
|
38
|
+
*/
|
|
39
|
+
export const findTransits = Effect.fn("Transit.findTransits")(function* (request) {
|
|
40
|
+
yield* validateRequest(request);
|
|
41
|
+
const astroParams = yield* AstroParams;
|
|
42
|
+
const ephemeris = yield* Ephemeris;
|
|
43
|
+
const fromJulianDay = yield* ephemeris.dateToJulianDay(request.from.moment.date);
|
|
44
|
+
const fromJd = Number(fromJulianDay);
|
|
45
|
+
const fixedTargets = [];
|
|
46
|
+
if (request.kinds.includes("longitude-hit")) {
|
|
47
|
+
fixedTargets.push({
|
|
48
|
+
kind: "longitude-hit",
|
|
49
|
+
longitude: normalize360(Number(request.targetLongitude)),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
if (request.kinds.includes("cusp-crossing")) {
|
|
53
|
+
const houses = yield* ephemeris.calculateHouses(fromJulianDay, request.from.latitude, request.from.longitude, astroParams.houseSystem, astroParams.ayanamsa);
|
|
54
|
+
const cusp = houses.cusps[request.house];
|
|
55
|
+
if (cusp === undefined || !Number.isFinite(cusp)) {
|
|
56
|
+
return yield* TransitValidationError.make({
|
|
57
|
+
message: `No cusp found for house ${request.house}`,
|
|
58
|
+
cause: houses.cusps,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
fixedTargets.push({ kind: "cusp-crossing", longitude: normalize360(cusp) });
|
|
62
|
+
}
|
|
63
|
+
const planet = request.planet;
|
|
64
|
+
const direction = request.direction;
|
|
65
|
+
const outcome = yield* searchRawHits({
|
|
66
|
+
planet,
|
|
67
|
+
fromJulianDay: fromJd,
|
|
68
|
+
direction,
|
|
69
|
+
count: request.count,
|
|
70
|
+
includeIngress: request.kinds.includes("sign-ingress"),
|
|
71
|
+
includeStations: request.kinds.includes("station"),
|
|
72
|
+
fixedTargets,
|
|
73
|
+
ayanamsa: astroParams.ayanamsa,
|
|
74
|
+
});
|
|
75
|
+
const provenance = {
|
|
76
|
+
school: "Ascendant",
|
|
77
|
+
method: "transit-sample-bisect",
|
|
78
|
+
version: 1,
|
|
79
|
+
};
|
|
80
|
+
const events = outcome.hits.map((hit) => TransitEvent.make({
|
|
81
|
+
planet,
|
|
82
|
+
moment: dateTimeFromJd(hit.julianDay),
|
|
83
|
+
longitude: Longitude.make(normalize360(hit.longitude)),
|
|
84
|
+
kind: hit.kind,
|
|
85
|
+
sign: hit.sign,
|
|
86
|
+
is_retrograde: hit.speed < 0,
|
|
87
|
+
direction,
|
|
88
|
+
provenance,
|
|
89
|
+
}));
|
|
90
|
+
if (!outcome.complete) {
|
|
91
|
+
return yield* TransitSearchExhausted.make({
|
|
92
|
+
message: `Found ${events.length} of ${request.count} events within ${request.maxYears ?? 30} years`,
|
|
93
|
+
found: events,
|
|
94
|
+
searchedUntil: dateTimeFromJd(outcome.endJulianDay),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
const divisions = request.includeCharts ?? [];
|
|
98
|
+
if (divisions.length === 0)
|
|
99
|
+
return events;
|
|
100
|
+
return yield* Effect.all(events.map((event) => Effect.gen(function* () {
|
|
101
|
+
const input = ChartParams.make({
|
|
102
|
+
moment: Moment.make({ date: event.moment }),
|
|
103
|
+
latitude: request.from.latitude,
|
|
104
|
+
longitude: request.from.longitude,
|
|
105
|
+
});
|
|
106
|
+
const calculation = yield* generate(input, divisions);
|
|
107
|
+
return TransitEvent.make({
|
|
108
|
+
planet: event.planet,
|
|
109
|
+
moment: event.moment,
|
|
110
|
+
longitude: event.longitude,
|
|
111
|
+
kind: event.kind,
|
|
112
|
+
...(event.sign === undefined ? {} : { sign: event.sign }),
|
|
113
|
+
is_retrograde: event.is_retrograde,
|
|
114
|
+
direction: event.direction,
|
|
115
|
+
provenance: event.provenance,
|
|
116
|
+
calculation,
|
|
117
|
+
});
|
|
118
|
+
})), { concurrency: "unbounded" });
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=find.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/transit/find.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./error.js";
|
|
2
|
+
export * from "./model.js";
|
|
3
|
+
export { findTransits } from "./find.js";
|
|
4
|
+
export { COARSE_STEP_DAYS, JD_UNIX_EPOCH, dateTimeFromJd, millisFromJd, normalize360, sampleAt, searchRawHits, wrap180, } from "./search.js";
|
|
5
|
+
export type { FixedTarget, LongitudeSample, RawHit, SearchOptions, SearchOutcome, } from "./search.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transit/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,WAAW,EACX,eAAe,EACf,MAAM,EACN,aAAa,EACb,aAAa,GACd,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from "./error.js";
|
|
2
|
+
export * from "./model.js";
|
|
3
|
+
export { findTransits } from "./find.js";
|
|
4
|
+
export { COARSE_STEP_DAYS, JD_UNIX_EPOCH, dateTimeFromJd, millisFromJd, normalize360, sampleAt, searchRawHits, wrap180, } from "./search.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transit/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,OAAO,GACR,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { ChartCalculation, Division, Houses, LocatedMoment, Longitude, Planets, Rashis } from "../chart/model.js";
|
|
3
|
+
import { TransitSearchProvenance } from "../provenance.js";
|
|
4
|
+
export declare const TransitKind: Schema.Literals<readonly ["sign-ingress", "cusp-crossing", "longitude-hit", "station"]>;
|
|
5
|
+
export type TransitKind = typeof TransitKind.Type;
|
|
6
|
+
export declare const TransitDirection: Schema.Literals<readonly ["forward", "backward"]>;
|
|
7
|
+
export type TransitDirection = typeof TransitDirection.Type;
|
|
8
|
+
declare const TransitEvent_base: Schema.Class<TransitEvent, Schema.Struct<{
|
|
9
|
+
readonly planet: Schema.Literals<readonly ["Sun", "Moon", "Mars", "Mercury", "Venus", "Jupiter", "Saturn", "Rahu", "Ketu"]>;
|
|
10
|
+
readonly moment: Schema.DateTimeUtc;
|
|
11
|
+
readonly longitude: Schema.brand<Schema.Finite, "Longitude">;
|
|
12
|
+
readonly kind: Schema.Literals<readonly ["sign-ingress", "cusp-crossing", "longitude-hit", "station"]>;
|
|
13
|
+
readonly sign: Schema.optionalKey<Schema.Literals<readonly ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"]>>;
|
|
14
|
+
readonly is_retrograde: Schema.Boolean;
|
|
15
|
+
readonly direction: Schema.Literals<readonly ["forward", "backward"]>;
|
|
16
|
+
readonly provenance: Schema.Struct<{
|
|
17
|
+
readonly school: Schema.Literal<"Ascendant">;
|
|
18
|
+
readonly method: Schema.Literal<"transit-sample-bisect">;
|
|
19
|
+
readonly version: Schema.Literal<1>;
|
|
20
|
+
}>;
|
|
21
|
+
readonly calculation: Schema.optionalKey<typeof ChartCalculation>;
|
|
22
|
+
}>, {}>;
|
|
23
|
+
export declare class TransitEvent extends TransitEvent_base {
|
|
24
|
+
}
|
|
25
|
+
export interface TransitRequest {
|
|
26
|
+
readonly planet: Planets;
|
|
27
|
+
readonly from: LocatedMoment;
|
|
28
|
+
readonly count: number;
|
|
29
|
+
readonly direction: TransitDirection;
|
|
30
|
+
readonly kinds: ReadonlyArray<TransitKind>;
|
|
31
|
+
readonly targetLongitude?: Longitude;
|
|
32
|
+
readonly house?: Houses;
|
|
33
|
+
readonly maxYears?: number;
|
|
34
|
+
readonly precisionMinutes?: number;
|
|
35
|
+
readonly includeCharts?: ReadonlyArray<Division>;
|
|
36
|
+
}
|
|
37
|
+
export { TransitSearchProvenance };
|
|
38
|
+
export type { ChartCalculation, Division, Houses, LocatedMoment, Longitude, Planets, Rashis };
|
|
39
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/transit/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,aAAa,EACb,SAAS,EACT,OAAO,EACP,MAAM,EACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,eAAO,MAAM,WAAW,yFAKtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,eAAO,MAAM,gBAAgB,mDAA2C,CAAC;AACzE,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;AAE5D,qBAAa,YAAa,SAAQ,iBAUhC;CAAG;AAEL,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CAClD;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACnC,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Schema } from "effect";
|
|
2
|
+
import { ChartCalculation, Division, Houses, LocatedMoment, Longitude, Planets, Rashis, } from "../chart/model.js";
|
|
3
|
+
import { TransitSearchProvenance } from "../provenance.js";
|
|
4
|
+
export const TransitKind = Schema.Literals([
|
|
5
|
+
"sign-ingress",
|
|
6
|
+
"cusp-crossing",
|
|
7
|
+
"longitude-hit",
|
|
8
|
+
"station",
|
|
9
|
+
]);
|
|
10
|
+
export const TransitDirection = Schema.Literals(["forward", "backward"]);
|
|
11
|
+
export class TransitEvent extends Schema.Class("TransitEvent")({
|
|
12
|
+
planet: Planets,
|
|
13
|
+
moment: Schema.DateTimeUtc,
|
|
14
|
+
longitude: Longitude,
|
|
15
|
+
kind: TransitKind,
|
|
16
|
+
sign: Schema.optionalKey(Rashis),
|
|
17
|
+
is_retrograde: Schema.Boolean,
|
|
18
|
+
direction: TransitDirection,
|
|
19
|
+
provenance: TransitSearchProvenance,
|
|
20
|
+
calculation: Schema.optionalKey(ChartCalculation),
|
|
21
|
+
}) {
|
|
22
|
+
}
|
|
23
|
+
export { TransitSearchProvenance };
|
|
24
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/transit/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,aAAa,EACb,SAAS,EACT,OAAO,EACP,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;IACzC,cAAc;IACd,eAAe;IACf,eAAe;IACf,SAAS;CACV,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAGzE,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,KAAK,CAAe,cAAc,CAAC,CAAC;IAC3E,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,MAAM,CAAC,WAAW;IAC1B,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC,OAAO;IAC7B,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,uBAAuB;IACnC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC;CAClD,CAAC;CAAG;AAeL,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { DateTime, Effect } from "effect";
|
|
2
|
+
import { Ayanamsa } from "../astro-params/model.js";
|
|
3
|
+
import { Rashis } from "../chart/model.js";
|
|
4
|
+
import { Ephemeris } from "../ephemeris/service.js";
|
|
5
|
+
import { type Planets, type TransitDirection, type TransitKind } from "./model.js";
|
|
6
|
+
/** Julian Day of the Unix epoch; converts freely between JD and epoch millis. */
|
|
7
|
+
export declare const JD_UNIX_EPOCH = 2440587.5;
|
|
8
|
+
export declare function normalize360(degrees: number): number;
|
|
9
|
+
export declare function wrap180(degrees: number): number;
|
|
10
|
+
export declare function millisFromJd(julianDay: number): number;
|
|
11
|
+
export declare function dateTimeFromJd(julianDay: number): DateTime.Utc;
|
|
12
|
+
export declare const COARSE_STEP_DAYS: Record<Planets, number>;
|
|
13
|
+
export interface LongitudeSample {
|
|
14
|
+
readonly julianDay: number;
|
|
15
|
+
readonly longitude: number;
|
|
16
|
+
readonly speed: number;
|
|
17
|
+
}
|
|
18
|
+
export interface FixedTarget {
|
|
19
|
+
readonly kind: "longitude-hit" | "cusp-crossing";
|
|
20
|
+
readonly longitude: number;
|
|
21
|
+
}
|
|
22
|
+
export interface SearchOptions {
|
|
23
|
+
readonly planet: Planets;
|
|
24
|
+
readonly fromJulianDay: number;
|
|
25
|
+
readonly direction: TransitDirection;
|
|
26
|
+
readonly count: number;
|
|
27
|
+
readonly includeIngress: boolean;
|
|
28
|
+
readonly includeStations: boolean;
|
|
29
|
+
readonly fixedTargets: ReadonlyArray<FixedTarget>;
|
|
30
|
+
readonly ayanamsa: typeof Ayanamsa.Type;
|
|
31
|
+
readonly stepDays?: number;
|
|
32
|
+
readonly precisionMinutes?: number;
|
|
33
|
+
readonly maxYears?: number;
|
|
34
|
+
}
|
|
35
|
+
export interface RawHit {
|
|
36
|
+
readonly julianDay: number;
|
|
37
|
+
readonly longitude: number;
|
|
38
|
+
readonly speed: number;
|
|
39
|
+
readonly kind: TransitKind;
|
|
40
|
+
readonly sign: Rashis;
|
|
41
|
+
}
|
|
42
|
+
export interface SearchOutcome {
|
|
43
|
+
readonly hits: ReadonlyArray<RawHit>;
|
|
44
|
+
readonly complete: boolean;
|
|
45
|
+
readonly endJulianDay: number;
|
|
46
|
+
}
|
|
47
|
+
export declare const sampleAt: (julianDay: number, planet: "Jupiter" | "Ketu" | "Mars" | "Mercury" | "Moon" | "Rahu" | "Saturn" | "Sun" | "Venus", ayanamsa: "Aldebaran15Tau" | "Aryabhata" | "Aryabhata522" | "AryabhataMeanSun" | "B1950" | "BabylBritton" | "BabylEtPSC" | "BabylHuber" | "BabylKugler1" | "BabylKugler2" | "BabylKugler3" | "DeLuce" | "DhruvaGalCenterMulaWilhelm" | "DjwhalKhul" | "FaganBradley" | "GalacticCenter0Sag" | "GalacticCenterGilBrand" | "GalacticEquator" | "GalacticEquatorIAU1958" | "GalacticEquatorMidMula" | "Hipparchos" | "J1900" | "J2000" | "JNBhasin" | "Krishnamurti" | "Lahiri" | "Raman" | "SSCitra" | "SSRevati" | "Sassanian" | "Skydram" | "SuryaSiddhanta" | "SuryaSiddhantaMeanSun" | "TrueCitra" | "TrueMula" | "TruePushya" | "TrueRevati" | "Ushashashi" | "Yukteshwar") => Effect.Effect<{
|
|
48
|
+
julianDay: number;
|
|
49
|
+
longitude: number;
|
|
50
|
+
speed: number;
|
|
51
|
+
}, import("../ephemeris/error.js").EphemerisError, Ephemeris>;
|
|
52
|
+
/**
|
|
53
|
+
* Sweeps coarse steps from `fromJulianDay`, refining every bracketed
|
|
54
|
+
* crossing. Each zero-crossing counts, so retrograde triples yield three
|
|
55
|
+
* hits in strict time order. Returns `complete: false` with the hits found
|
|
56
|
+
* when `maxYears` runs out instead of silently returning a short list.
|
|
57
|
+
*/
|
|
58
|
+
export declare const searchRawHits: (options: SearchOptions) => Effect.Effect<{
|
|
59
|
+
hits: RawHit[];
|
|
60
|
+
complete: boolean;
|
|
61
|
+
endJulianDay: number;
|
|
62
|
+
}, import("../ephemeris/error.js").EphemerisError, Ephemeris>;
|
|
63
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/transit/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEnF,iFAAiF;AACjF,eAAO,MAAM,aAAa,YAAc,CAAC;AAIzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,gBAE/C;AAcD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAUpD,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,QAAQ;;;;6DAiBnB,CAAC;AAwLH;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;6DA0CxB,CAAC"}
|