@neilberkman/sidereon 0.31.2 → 0.33.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
@@ -4729,6 +4729,218 @@ export class ErrorEllipse2 {
4729
4729
  }
4730
4730
  if (Symbol.dispose) ErrorEllipse2.prototype[Symbol.dispose] = ErrorEllipse2.prototype.free;
4731
4731
 
4732
+ /**
4733
+ * Accepted boundary convention for a validated exact SP3 product.
4734
+ * @enum {0 | 1}
4735
+ */
4736
+ export const ExactSp3Coverage = Object.freeze({
4737
+ /**
4738
+ * The declared boundary is excluded (288 five-minute epochs in one day).
4739
+ */
4740
+ HalfOpen: 0, "0": "HalfOpen",
4741
+ /**
4742
+ * The declared boundary epoch is present (289 five-minute epochs).
4743
+ */
4744
+ Inclusive: 1, "1": "Inclusive",
4745
+ });
4746
+
4747
+ /**
4748
+ * Result of parsing and validating exact SP3 bytes in one core call.
4749
+ */
4750
+ export class ExactSp3ParseResult {
4751
+ static __wrap(ptr) {
4752
+ const obj = Object.create(ExactSp3ParseResult.prototype);
4753
+ obj.__wbg_ptr = ptr;
4754
+ ExactSp3ParseResultFinalization.register(obj, obj.__wbg_ptr, obj);
4755
+ return obj;
4756
+ }
4757
+ __destroy_into_raw() {
4758
+ const ptr = this.__wbg_ptr;
4759
+ this.__wbg_ptr = 0;
4760
+ ExactSp3ParseResultFinalization.unregister(this);
4761
+ return ptr;
4762
+ }
4763
+ free() {
4764
+ const ptr = this.__destroy_into_raw();
4765
+ wasm.__wbg_exactsp3parseresult_free(ptr, 0);
4766
+ }
4767
+ /**
4768
+ * @returns {ExactSp3Coverage}
4769
+ */
4770
+ get coverage() {
4771
+ const ret = wasm.exactsp3parseresult_coverage(this.__wbg_ptr);
4772
+ return ret;
4773
+ }
4774
+ /**
4775
+ * Return the validated parsed product.
4776
+ * @returns {Sp3}
4777
+ */
4778
+ get product() {
4779
+ const ret = wasm.exactsp3parseresult_product(this.__wbg_ptr);
4780
+ return Sp3.__wrap(ret);
4781
+ }
4782
+ }
4783
+ if (Symbol.dispose) ExactSp3ParseResult.prototype[Symbol.dispose] = ExactSp3ParseResult.prototype.free;
4784
+
4785
+ /**
4786
+ * Source-independent exact SP3 content request.
4787
+ */
4788
+ export class ExactSp3Request {
4789
+ static __wrap(ptr) {
4790
+ const obj = Object.create(ExactSp3Request.prototype);
4791
+ obj.__wbg_ptr = ptr;
4792
+ ExactSp3RequestFinalization.register(obj, obj.__wbg_ptr, obj);
4793
+ return obj;
4794
+ }
4795
+ __destroy_into_raw() {
4796
+ const ptr = this.__wbg_ptr;
4797
+ this.__wbg_ptr = 0;
4798
+ ExactSp3RequestFinalization.unregister(this);
4799
+ return ptr;
4800
+ }
4801
+ free() {
4802
+ const ptr = this.__destroy_into_raw();
4803
+ wasm.__wbg_exactsp3request_free(ptr, 0);
4804
+ }
4805
+ /**
4806
+ * @returns {number}
4807
+ */
4808
+ get day() {
4809
+ const ret = wasm.exactsp3request_day(this.__wbg_ptr);
4810
+ return ret;
4811
+ }
4812
+ /**
4813
+ * @returns {string | undefined}
4814
+ */
4815
+ get expectedAgency() {
4816
+ const ret = wasm.exactsp3request_expectedAgency(this.__wbg_ptr);
4817
+ let v1;
4818
+ if (ret[0] !== 0) {
4819
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
4820
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
4821
+ }
4822
+ return v1;
4823
+ }
4824
+ /**
4825
+ * @returns {string | undefined}
4826
+ */
4827
+ get formatVersion() {
4828
+ const ret = wasm.exactsp3request_formatVersion(this.__wbg_ptr);
4829
+ let v1;
4830
+ if (ret[0] !== 0) {
4831
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
4832
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
4833
+ }
4834
+ return v1;
4835
+ }
4836
+ /**
4837
+ * Construct an exact request from a complete catalog product identity.
4838
+ * @param {GnssProductIdentity} identity
4839
+ * @returns {ExactSp3Request}
4840
+ */
4841
+ static fromIdentity(identity) {
4842
+ _assertClass(identity, GnssProductIdentity);
4843
+ const ret = wasm.exactsp3request_fromIdentity(identity.__wbg_ptr);
4844
+ if (ret[2]) {
4845
+ throw takeFromExternrefTable0(ret[1]);
4846
+ }
4847
+ return ExactSp3Request.__wrap(ret[0]);
4848
+ }
4849
+ /**
4850
+ * @returns {string | undefined}
4851
+ */
4852
+ get issue() {
4853
+ const ret = wasm.exactsp3request_issue(this.__wbg_ptr);
4854
+ let v1;
4855
+ if (ret[0] !== 0) {
4856
+ v1 = getStringFromWasm0(ret[0], ret[1]).slice();
4857
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
4858
+ }
4859
+ return v1;
4860
+ }
4861
+ /**
4862
+ * @returns {number}
4863
+ */
4864
+ get month() {
4865
+ const ret = wasm.exactsp3request_month(this.__wbg_ptr);
4866
+ return ret;
4867
+ }
4868
+ /**
4869
+ * Construct an exact request from explicit catalog identity fields.
4870
+ * @param {number} year
4871
+ * @param {number} month
4872
+ * @param {number} day
4873
+ * @param {string} span
4874
+ * @param {string} sample
4875
+ * @param {string | null} [issue]
4876
+ */
4877
+ constructor(year, month, day, span, sample, issue) {
4878
+ const ptr0 = passStringToWasm0(span, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
4879
+ const len0 = WASM_VECTOR_LEN;
4880
+ const ptr1 = passStringToWasm0(sample, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
4881
+ const len1 = WASM_VECTOR_LEN;
4882
+ var ptr2 = isLikeNone(issue) ? 0 : passStringToWasm0(issue, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
4883
+ var len2 = WASM_VECTOR_LEN;
4884
+ const ret = wasm.exactsp3request_new(year, month, day, ptr0, len0, ptr1, len1, ptr2, len2);
4885
+ if (ret[2]) {
4886
+ throw takeFromExternrefTable0(ret[1]);
4887
+ }
4888
+ this.__wbg_ptr = ret[0];
4889
+ ExactSp3RequestFinalization.register(this, this.__wbg_ptr, this);
4890
+ return this;
4891
+ }
4892
+ /**
4893
+ * Require a particular SP3 line-1 producing-agency code.
4894
+ * @param {string} agency
4895
+ */
4896
+ requireAgency(agency) {
4897
+ const ptr0 = passStringToWasm0(agency, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
4898
+ const len0 = WASM_VECTOR_LEN;
4899
+ const ret = wasm.exactsp3request_requireAgency(this.__wbg_ptr, ptr0, len0);
4900
+ if (ret[1]) {
4901
+ throw takeFromExternrefTable0(ret[0]);
4902
+ }
4903
+ }
4904
+ /**
4905
+ * @returns {string}
4906
+ */
4907
+ get sample() {
4908
+ let deferred1_0;
4909
+ let deferred1_1;
4910
+ try {
4911
+ const ret = wasm.exactsp3request_sample(this.__wbg_ptr);
4912
+ deferred1_0 = ret[0];
4913
+ deferred1_1 = ret[1];
4914
+ return getStringFromWasm0(ret[0], ret[1]);
4915
+ } finally {
4916
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
4917
+ }
4918
+ }
4919
+ /**
4920
+ * @returns {string}
4921
+ */
4922
+ get span() {
4923
+ let deferred1_0;
4924
+ let deferred1_1;
4925
+ try {
4926
+ const ret = wasm.exactsp3request_span(this.__wbg_ptr);
4927
+ deferred1_0 = ret[0];
4928
+ deferred1_1 = ret[1];
4929
+ return getStringFromWasm0(ret[0], ret[1]);
4930
+ } finally {
4931
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
4932
+ }
4933
+ }
4934
+ /**
4935
+ * @returns {number}
4936
+ */
4937
+ get year() {
4938
+ const ret = wasm.exactsp3request_year(this.__wbg_ptr);
4939
+ return ret;
4940
+ }
4941
+ }
4942
+ if (Symbol.dispose) ExactSp3Request.prototype[Symbol.dispose] = ExactSp3Request.prototype.free;
4943
+
4732
4944
  /**
4733
4945
  * A fault-detection-and-exclusion result: the surviving solution, the excluded
4734
4946
  * satellites in exclusion order, and the number of exclusions performed.
@@ -16603,6 +16815,24 @@ export class Sp3 {
16603
16815
  wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
16604
16816
  return v1;
16605
16817
  }
16818
+ /**
16819
+ * Epoch count declared by SP3 header line 1, independent of the parsed
16820
+ * body count used by [`Sp3::epochCount`].
16821
+ * @returns {number}
16822
+ */
16823
+ get declaredEpochCount() {
16824
+ const ret = wasm.sp3_declaredEpochCount(this.__wbg_ptr);
16825
+ return ret >>> 0;
16826
+ }
16827
+ /**
16828
+ * Start epoch declared by SP3 header line 1, in product-scale seconds
16829
+ * since J2000. Missing or malformed legacy header fields return undefined.
16830
+ * @returns {number | undefined}
16831
+ */
16832
+ get declaredStartJ2000Seconds() {
16833
+ const ret = wasm.sp3_declaredStartJ2000Seconds(this.__wbg_ptr);
16834
+ return ret[0] === 0 ? undefined : ret[1];
16835
+ }
16606
16836
  /**
16607
16837
  * Compute DGNSS pseudorange corrections from a surveyed base station.
16608
16838
  *
@@ -22466,6 +22696,44 @@ export function defaultPair(system) {
22466
22696
  return ret === 0 ? undefined : CarrierPair.__wrap(ret);
22467
22697
  }
22468
22698
 
22699
+ /**
22700
+ * Return the officially cataloged default sampling token for a product date.
22701
+ *
22702
+ * Unlike the legacy date-free default, this preserves historical cadence
22703
+ * changes such as the GFZ rapid and ultra-rapid transitions. On ESA
22704
+ * ultra-rapid's issue-level transition date this reports the `0000`/
22705
+ * start-of-day default; [`productIdentity`](product_identity) also considers
22706
+ * the requested issue.
22707
+ * @param {string} center
22708
+ * @param {string} family
22709
+ * @param {number} year
22710
+ * @param {number} month
22711
+ * @param {number} day
22712
+ * @returns {string}
22713
+ */
22714
+ export function defaultSampleForDate(center, family, year, month, day) {
22715
+ let deferred4_0;
22716
+ let deferred4_1;
22717
+ try {
22718
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
22719
+ const len0 = WASM_VECTOR_LEN;
22720
+ const ptr1 = passStringToWasm0(family, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
22721
+ const len1 = WASM_VECTOR_LEN;
22722
+ const ret = wasm.defaultSampleForDate(ptr0, len0, ptr1, len1, year, month, day);
22723
+ var ptr3 = ret[0];
22724
+ var len3 = ret[1];
22725
+ if (ret[3]) {
22726
+ ptr3 = 0; len3 = 0;
22727
+ throw takeFromExternrefTable0(ret[2]);
22728
+ }
22729
+ deferred4_0 = ptr3;
22730
+ deferred4_1 = len3;
22731
+ return getStringFromWasm0(ptr3, len3);
22732
+ } finally {
22733
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
22734
+ }
22735
+ }
22736
+
22469
22737
  /**
22470
22738
  * Default scenario seed as a hexadecimal string.
22471
22739
  * @returns {string}
@@ -25601,6 +25869,20 @@ export function mergeNavcen(records, statuses) {
25601
25869
  return takeFromExternrefTable0(ret[0]);
25602
25870
  }
25603
25871
 
25872
+ /**
25873
+ * Merge time-aware NAVCEN assessments into records by PRN.
25874
+ * @param {any} records
25875
+ * @param {any} assessments
25876
+ * @returns {any}
25877
+ */
25878
+ export function mergeNavcenAt(records, assessments) {
25879
+ const ret = wasm.mergeNavcenAt(records, assessments);
25880
+ if (ret[2]) {
25881
+ throw takeFromExternrefTable0(ret[1]);
25882
+ }
25883
+ return takeFromExternrefTable0(ret[0]);
25884
+ }
25885
+
25604
25886
  /**
25605
25887
  * Merge SP3 products with the core consensus merge path.
25606
25888
  *
@@ -26483,6 +26765,23 @@ export function parseCdmXml(text) {
26483
26765
  return Cdm.__wrap(ret[0]);
26484
26766
  }
26485
26767
 
26768
+ /**
26769
+ * Parse and exact-validate SP3 bytes, returning both product and coverage.
26770
+ * @param {Uint8Array} bytes
26771
+ * @param {ExactSp3Request} request
26772
+ * @returns {ExactSp3ParseResult}
26773
+ */
26774
+ export function parseExactSp3(bytes, request) {
26775
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
26776
+ const len0 = WASM_VECTOR_LEN;
26777
+ _assertClass(request, ExactSp3Request);
26778
+ const ret = wasm.parseExactSp3(ptr0, len0, request.__wbg_ptr);
26779
+ if (ret[2]) {
26780
+ throw takeFromExternrefTable0(ret[1]);
26781
+ }
26782
+ return ExactSp3ParseResult.__wrap(ret[0]);
26783
+ }
26784
+
26486
26785
  /**
26487
26786
  * Parse NAVCEN's GPS constellation status HTML into status rows.
26488
26787
  *
@@ -26501,6 +26800,24 @@ export function parseNavcen(html) {
26501
26800
  return takeFromExternrefTable0(ret[0]);
26502
26801
  }
26503
26802
 
26803
+ /**
26804
+ * Parse NAVCEN status HTML and evaluate usability at explicit UTC Unix
26805
+ * microseconds. Parsed intervals are half-open; ambiguous forecasts are
26806
+ * retained without disabling the satellite.
26807
+ * @param {string} html
26808
+ * @param {bigint} evaluated_at_unix_us
26809
+ * @returns {any}
26810
+ */
26811
+ export function parseNavcenAt(html, evaluated_at_unix_us) {
26812
+ const ptr0 = passStringToWasm0(html, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
26813
+ const len0 = WASM_VECTOR_LEN;
26814
+ const ret = wasm.parseNavcenAt(ptr0, len0, evaluated_at_unix_us);
26815
+ if (ret[2]) {
26816
+ throw takeFromExternrefTable0(ret[1]);
26817
+ }
26818
+ return takeFromExternrefTable0(ret[0]);
26819
+ }
26820
+
26504
26821
  /**
26505
26822
  * Parse NMEA sentences from bytes.
26506
26823
  * @param {Uint8Array} bytes
@@ -27123,7 +27440,8 @@ export function prepareIonosphereFreeRtkArc(epochs, wide_lane_cycles, config) {
27123
27440
  }
27124
27441
 
27125
27442
  /**
27126
- * Resolve an exact catalog product independently from distributor.
27443
+ * Resolve an exact catalog product independently from distributor. When the
27444
+ * sample is omitted, ultra-rapid issue-level cadence transitions are applied.
27127
27445
  * @param {string} center
27128
27446
  * @param {string} family
27129
27447
  * @param {number} year
@@ -27149,6 +27467,38 @@ export function productIdentity(center, family, year, month, day, sample, issue)
27149
27467
  return GnssProductIdentity.__wrap(ret[0]);
27150
27468
  }
27151
27469
 
27470
+ /**
27471
+ * Return the catalog solution class for one center/product family.
27472
+ *
27473
+ * This product-aware query distinguishes IGS combined final SP3 (`final`)
27474
+ * from IGS broadcast navigation (`broadcast`).
27475
+ * @param {string} center
27476
+ * @param {string} family
27477
+ * @returns {string}
27478
+ */
27479
+ export function productSolutionClass(center, family) {
27480
+ let deferred4_0;
27481
+ let deferred4_1;
27482
+ try {
27483
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27484
+ const len0 = WASM_VECTOR_LEN;
27485
+ const ptr1 = passStringToWasm0(family, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27486
+ const len1 = WASM_VECTOR_LEN;
27487
+ const ret = wasm.productSolutionClass(ptr0, len0, ptr1, len1);
27488
+ var ptr3 = ret[0];
27489
+ var len3 = ret[1];
27490
+ if (ret[3]) {
27491
+ ptr3 = 0; len3 = 0;
27492
+ throw takeFromExternrefTable0(ret[2]);
27493
+ }
27494
+ deferred4_0 = ptr3;
27495
+ deferred4_1 = len3;
27496
+ return getStringFromWasm0(ptr3, len3);
27497
+ } finally {
27498
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
27499
+ }
27500
+ }
27501
+
27152
27502
  /**
27153
27503
  * Propagate a fleet of already-initialized [`Tle`]s over a shared epoch grid in
27154
27504
  * a single call: the batched form of [`Tle.propagate`].
@@ -29559,6 +29909,22 @@ export function validateAgainstSp3Ids(records, ids) {
29559
29909
  return takeFromExternrefTable0(ret[0]);
29560
29910
  }
29561
29911
 
29912
+ /**
29913
+ * Validate an already parsed SP3 product against an exact request.
29914
+ * @param {Sp3} product
29915
+ * @param {ExactSp3Request} request
29916
+ * @returns {ExactSp3Coverage}
29917
+ */
29918
+ export function validateExactSp3(product, request) {
29919
+ _assertClass(product, Sp3);
29920
+ _assertClass(request, ExactSp3Request);
29921
+ const ret = wasm.validateExactSp3(product.__wbg_ptr, request.__wbg_ptr);
29922
+ if (ret[2]) {
29923
+ throw takeFromExternrefTable0(ret[1]);
29924
+ }
29925
+ return ret[0];
29926
+ }
29927
+
29562
29928
  /**
29563
29929
  * Blend a first good post-outage fix back over an outage span.
29564
29930
  * @param {any} states
@@ -30410,6 +30776,12 @@ const ErrorEllipseFinalization = (typeof FinalizationRegistry === 'undefined')
30410
30776
  const ErrorEllipse2Finalization = (typeof FinalizationRegistry === 'undefined')
30411
30777
  ? { register: () => {}, unregister: () => {} }
30412
30778
  : new FinalizationRegistry(ptr => wasm.__wbg_errorellipse2_free(ptr, 1));
30779
+ const ExactSp3ParseResultFinalization = (typeof FinalizationRegistry === 'undefined')
30780
+ ? { register: () => {}, unregister: () => {} }
30781
+ : new FinalizationRegistry(ptr => wasm.__wbg_exactsp3parseresult_free(ptr, 1));
30782
+ const ExactSp3RequestFinalization = (typeof FinalizationRegistry === 'undefined')
30783
+ ? { register: () => {}, unregister: () => {} }
30784
+ : new FinalizationRegistry(ptr => wasm.__wbg_exactsp3request_free(ptr, 1));
30413
30785
  const FdeSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
30414
30786
  ? { register: () => {}, unregister: () => {} }
30415
30787
  : new FinalizationRegistry(ptr => wasm.__wbg_fdesolution_free(ptr, 1));
Binary file