@neilberkman/sidereon 0.32.0 → 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}
@@ -26497,6 +26765,23 @@ export function parseCdmXml(text) {
26497
26765
  return Cdm.__wrap(ret[0]);
26498
26766
  }
26499
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
+
26500
26785
  /**
26501
26786
  * Parse NAVCEN's GPS constellation status HTML into status rows.
26502
26787
  *
@@ -27155,7 +27440,8 @@ export function prepareIonosphereFreeRtkArc(epochs, wide_lane_cycles, config) {
27155
27440
  }
27156
27441
 
27157
27442
  /**
27158
- * 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.
27159
27445
  * @param {string} center
27160
27446
  * @param {string} family
27161
27447
  * @param {number} year
@@ -27181,6 +27467,38 @@ export function productIdentity(center, family, year, month, day, sample, issue)
27181
27467
  return GnssProductIdentity.__wrap(ret[0]);
27182
27468
  }
27183
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
+
27184
27502
  /**
27185
27503
  * Propagate a fleet of already-initialized [`Tle`]s over a shared epoch grid in
27186
27504
  * a single call: the batched form of [`Tle.propagate`].
@@ -29591,6 +29909,22 @@ export function validateAgainstSp3Ids(records, ids) {
29591
29909
  return takeFromExternrefTable0(ret[0]);
29592
29910
  }
29593
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
+
29594
29928
  /**
29595
29929
  * Blend a first good post-outage fix back over an outage span.
29596
29930
  * @param {any} states
@@ -30442,6 +30776,12 @@ const ErrorEllipseFinalization = (typeof FinalizationRegistry === 'undefined')
30442
30776
  const ErrorEllipse2Finalization = (typeof FinalizationRegistry === 'undefined')
30443
30777
  ? { register: () => {}, unregister: () => {} }
30444
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));
30445
30785
  const FdeSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
30446
30786
  ? { register: () => {}, unregister: () => {} }
30447
30787
  : new FinalizationRegistry(ptr => wasm.__wbg_fdesolution_free(ptr, 1));
Binary file