@neilberkman/sidereon 0.35.0 → 0.36.1

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/pkg/sidereon.js CHANGED
@@ -26292,6 +26292,31 @@ export function networkField(input) {
26292
26292
  return takeFromExternrefTable0(ret[0]);
26293
26293
  }
26294
26294
 
26295
+ /**
26296
+ * Newest published issue for one center + product family within a listing
26297
+ * body, or `null` when the listing is readable but holds no object of the
26298
+ * line - deliberately distinct from an unreadable listing, which throws.
26299
+ *
26300
+ * Returns `{date, issue, filename, observedAt}` or `null`.
26301
+ * @param {string} center
26302
+ * @param {string} family
26303
+ * @param {string} listing_body
26304
+ * @returns {any}
26305
+ */
26306
+ export function newestPublishedProduct(center, family, listing_body) {
26307
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
26308
+ const len0 = WASM_VECTOR_LEN;
26309
+ const ptr1 = passStringToWasm0(family, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
26310
+ const len1 = WASM_VECTOR_LEN;
26311
+ const ptr2 = passStringToWasm0(listing_body, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
26312
+ const len2 = WASM_VECTOR_LEN;
26313
+ const ret = wasm.newestPublishedProduct(ptr0, len0, ptr1, len1, ptr2, len2);
26314
+ if (ret[2]) {
26315
+ throw takeFromExternrefTable0(ret[1]);
26316
+ }
26317
+ return takeFromExternrefTable0(ret[0]);
26318
+ }
26319
+
26295
26320
  /**
26296
26321
  * Scalar normalized innovation squared statistic.
26297
26322
  * @param {number} innovation
@@ -26763,6 +26788,30 @@ export function parallacticAngleDeg(observer_latitude_deg, hour_angle_deg, decli
26763
26788
  return ret[0];
26764
26789
  }
26765
26790
 
26791
+ /**
26792
+ * Parse the object entries out of an archive listing body.
26793
+ *
26794
+ * Dialect detection is closed: a body that fits none of the recognized
26795
+ * listing surfaces (Apache/XHTML autoindex, AIUB whole-tree CSV, FTP
26796
+ * `LIST`) throws instead of returning a best-effort empty result - a silent
26797
+ * empty parse would be indistinguishable from "nothing published".
26798
+ * `observedAt` is the archive-reported modification text, verbatim; archives
26799
+ * disagree on format and time zone, so it is never reinterpreted.
26800
+ *
26801
+ * Returns an array of `{path, observedAt}`.
26802
+ * @param {string} body
26803
+ * @returns {any}
26804
+ */
26805
+ export function parseArchiveListing(body) {
26806
+ const ptr0 = passStringToWasm0(body, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
26807
+ const len0 = WASM_VECTOR_LEN;
26808
+ const ret = wasm.parseArchiveListing(ptr0, len0);
26809
+ if (ret[2]) {
26810
+ throw takeFromExternrefTable0(ret[1]);
26811
+ }
26812
+ return takeFromExternrefTable0(ret[0]);
26813
+ }
26814
+
26766
26815
  /**
26767
26816
  * Parse CCSDS CDM KVN text. Throws an `Error` on a parse failure.
26768
26817
  * @param {string} text
@@ -27446,6 +27495,34 @@ export function predictBatchSp3(sp3, satellites, receivers_ecef_m, epochs_j2000_
27446
27495
  return PredictBatch.__wrap(ret[0]);
27447
27496
  }
27448
27497
 
27498
+ /**
27499
+ * Ordered cross-line candidates for one predicted IONEX map date.
27500
+ *
27501
+ * Both CODE predicted lines publish the same official filename for a map
27502
+ * date, but the two-day line is produced a day earlier, so `cod_prd2` is
27503
+ * routinely published while `cod_prd1` is still absent when CODE runs
27504
+ * behind. Candidates are ordered `cod_prd1` first, all cover the SAME map
27505
+ * date (never a neighboring day's map), and each keeps its own line
27506
+ * identity so resolved provenance names the line actually served. The walk
27507
+ * is opt-in; single-line requests keep their fail-closed behavior.
27508
+ *
27509
+ * Returns an array of `{center, date, sample, issue, filename, url}`.
27510
+ * @param {number} year
27511
+ * @param {number} month
27512
+ * @param {number} day
27513
+ * @param {string | null} [sample]
27514
+ * @returns {any}
27515
+ */
27516
+ export function predictedIonexLineCandidates(year, month, day, sample) {
27517
+ var ptr0 = isLikeNone(sample) ? 0 : passStringToWasm0(sample, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27518
+ var len0 = WASM_VECTOR_LEN;
27519
+ const ret = wasm.predictedIonexLineCandidates(year, month, day, ptr0, len0);
27520
+ if (ret[2]) {
27521
+ throw takeFromExternrefTable0(ret[1]);
27522
+ }
27523
+ return takeFromExternrefTable0(ret[0]);
27524
+ }
27525
+
27449
27526
  /**
27450
27527
  * Prepare ionosphere-free single-frequency RTK arc inputs from a
27451
27528
  * dual-frequency arc and fixed wide-lane ambiguities.
@@ -27638,6 +27715,62 @@ export function pseudorangeVariance(elevation_deg, options) {
27638
27715
  return ret[0];
27639
27716
  }
27640
27717
 
27718
+ /**
27719
+ * Bounded archive listing URLs answering "newest published issue" for one
27720
+ * center + product family: at most two URLs, newest directory first (or one
27721
+ * whole-tree listing); never a polling loop. Browser and Node callers own
27722
+ * the fetch itself.
27723
+ * @param {string} center
27724
+ * @param {string} family
27725
+ * @param {number} year
27726
+ * @param {number} month
27727
+ * @param {number} day
27728
+ * @returns {string[]}
27729
+ */
27730
+ export function publicationListingUrls(center, family, year, month, day) {
27731
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27732
+ const len0 = WASM_VECTOR_LEN;
27733
+ const ptr1 = passStringToWasm0(family, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27734
+ const len1 = WASM_VECTOR_LEN;
27735
+ const ret = wasm.publicationListingUrls(ptr0, len0, ptr1, len1, year, month, day);
27736
+ if (ret[3]) {
27737
+ throw takeFromExternrefTable0(ret[2]);
27738
+ }
27739
+ var v3 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
27740
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
27741
+ return v3;
27742
+ }
27743
+
27744
+ /**
27745
+ * Whole minutes from a published issue's nominal epoch to a caller-supplied
27746
+ * UTC instant - the "N hours behind nominal" lag number. The verbatim
27747
+ * `observedAt` text carries the archive's own modification claim where one
27748
+ * exists.
27749
+ * @param {number} year
27750
+ * @param {number} month
27751
+ * @param {number} day
27752
+ * @param {string} issue
27753
+ * @param {string} filename
27754
+ * @param {number} now_year
27755
+ * @param {number} now_month
27756
+ * @param {number} now_day
27757
+ * @param {number} now_hour
27758
+ * @param {number} now_minute
27759
+ * @param {number} now_second
27760
+ * @returns {bigint}
27761
+ */
27762
+ export function publishedIssueAgeMinutes(year, month, day, issue, filename, now_year, now_month, now_day, now_hour, now_minute, now_second) {
27763
+ const ptr0 = passStringToWasm0(issue, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27764
+ const len0 = WASM_VECTOR_LEN;
27765
+ const ptr1 = passStringToWasm0(filename, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27766
+ const len1 = WASM_VECTOR_LEN;
27767
+ const ret = wasm.publishedIssueAgeMinutes(year, month, day, ptr0, len0, ptr1, len1, now_year, now_month, now_day, now_hour, now_minute, now_second);
27768
+ if (ret[2]) {
27769
+ throw takeFromExternrefTable0(ret[1]);
27770
+ }
27771
+ return ret[0];
27772
+ }
27773
+
27641
27774
  /**
27642
27775
  * Run direct post-solve residual RAIM.
27643
27776
  *
@@ -27824,6 +27957,31 @@ export function replica(prn, options) {
27824
27957
  return v1;
27825
27958
  }
27826
27959
 
27960
+ /**
27961
+ * Index of the first cross-line predicted-IONEX candidate whose exact
27962
+ * archive object appears in a listing body, or `null` when neither line is
27963
+ * published. Candidates stay in preference order and keep their own
27964
+ * identities, so the resolved index preserves the line actually served in
27965
+ * provenance.
27966
+ * @param {number} year
27967
+ * @param {number} month
27968
+ * @param {number} day
27969
+ * @param {string | null | undefined} sample
27970
+ * @param {string} listing_body
27971
+ * @returns {number | undefined}
27972
+ */
27973
+ export function resolveFirstPublishedPredictedIonex(year, month, day, sample, listing_body) {
27974
+ var ptr0 = isLikeNone(sample) ? 0 : passStringToWasm0(sample, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27975
+ var len0 = WASM_VECTOR_LEN;
27976
+ const ptr1 = passStringToWasm0(listing_body, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27977
+ const len1 = WASM_VECTOR_LEN;
27978
+ const ret = wasm.resolveFirstPublishedPredictedIonex(year, month, day, ptr0, len0, ptr1, len1);
27979
+ if (ret[2]) {
27980
+ throw takeFromExternrefTable0(ret[1]);
27981
+ }
27982
+ return ret[0] === Number.MAX_SAFE_INTEGER ? undefined : ret[0];
27983
+ }
27984
+
27827
27985
  /**
27828
27986
  * @param {Float64Array} position_km
27829
27987
  * @param {Float64Array} velocity_km_s
Binary file