@neilberkman/sidereon 0.32.0 → 0.34.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/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
  *
@@ -17104,6 +17334,24 @@ export class Sp3ClockReferenceOffset {
17104
17334
  }
17105
17335
  if (Symbol.dispose) Sp3ClockReferenceOffset.prototype[Symbol.dispose] = Sp3ClockReferenceOffset.prototype.free;
17106
17336
 
17337
+ /**
17338
+ * Cataloged relationship between an SP3 filename epoch and its first content
17339
+ * epoch.
17340
+ *
17341
+ * New values may be appended in later interface releases.
17342
+ * @enum {0 | 1}
17343
+ */
17344
+ export const Sp3ContentStartConvention = Object.freeze({
17345
+ /**
17346
+ * The first content epoch equals the filename epoch.
17347
+ */
17348
+ FilenameEpoch: 0, "0": "FilenameEpoch",
17349
+ /**
17350
+ * The first content epoch is exactly 24 hours before the filename epoch.
17351
+ */
17352
+ FilenameEpochMinusOneDay: 1, "1": "FilenameEpochMinusOneDay",
17353
+ });
17354
+
17107
17355
  /**
17108
17356
  * One coordinate-label reconciliation applied before SP3 merge consensus.
17109
17357
  */
@@ -22466,6 +22714,44 @@ export function defaultPair(system) {
22466
22714
  return ret === 0 ? undefined : CarrierPair.__wrap(ret);
22467
22715
  }
22468
22716
 
22717
+ /**
22718
+ * Return the officially cataloged default sampling token for a product date.
22719
+ *
22720
+ * Unlike the legacy date-free default, this preserves historical cadence
22721
+ * changes such as the GFZ rapid and ultra-rapid transitions. On ESA
22722
+ * ultra-rapid's issue-level transition date this reports the `0000`/
22723
+ * start-of-day default; [`productIdentity`](product_identity) also considers
22724
+ * the requested issue.
22725
+ * @param {string} center
22726
+ * @param {string} family
22727
+ * @param {number} year
22728
+ * @param {number} month
22729
+ * @param {number} day
22730
+ * @returns {string}
22731
+ */
22732
+ export function defaultSampleForDate(center, family, year, month, day) {
22733
+ let deferred4_0;
22734
+ let deferred4_1;
22735
+ try {
22736
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
22737
+ const len0 = WASM_VECTOR_LEN;
22738
+ const ptr1 = passStringToWasm0(family, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
22739
+ const len1 = WASM_VECTOR_LEN;
22740
+ const ret = wasm.defaultSampleForDate(ptr0, len0, ptr1, len1, year, month, day);
22741
+ var ptr3 = ret[0];
22742
+ var len3 = ret[1];
22743
+ if (ret[3]) {
22744
+ ptr3 = 0; len3 = 0;
22745
+ throw takeFromExternrefTable0(ret[2]);
22746
+ }
22747
+ deferred4_0 = ptr3;
22748
+ deferred4_1 = len3;
22749
+ return getStringFromWasm0(ptr3, len3);
22750
+ } finally {
22751
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
22752
+ }
22753
+ }
22754
+
22469
22755
  /**
22470
22756
  * Default scenario seed as a hexadecimal string.
22471
22757
  * @returns {string}
@@ -26497,6 +26783,23 @@ export function parseCdmXml(text) {
26497
26783
  return Cdm.__wrap(ret[0]);
26498
26784
  }
26499
26785
 
26786
+ /**
26787
+ * Parse and exact-validate SP3 bytes, returning both product and coverage.
26788
+ * @param {Uint8Array} bytes
26789
+ * @param {ExactSp3Request} request
26790
+ * @returns {ExactSp3ParseResult}
26791
+ */
26792
+ export function parseExactSp3(bytes, request) {
26793
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
26794
+ const len0 = WASM_VECTOR_LEN;
26795
+ _assertClass(request, ExactSp3Request);
26796
+ const ret = wasm.parseExactSp3(ptr0, len0, request.__wbg_ptr);
26797
+ if (ret[2]) {
26798
+ throw takeFromExternrefTable0(ret[1]);
26799
+ }
26800
+ return ExactSp3ParseResult.__wrap(ret[0]);
26801
+ }
26802
+
26500
26803
  /**
26501
26804
  * Parse NAVCEN's GPS constellation status HTML into status rows.
26502
26805
  *
@@ -27155,7 +27458,8 @@ export function prepareIonosphereFreeRtkArc(epochs, wide_lane_cycles, config) {
27155
27458
  }
27156
27459
 
27157
27460
  /**
27158
- * Resolve an exact catalog product independently from distributor.
27461
+ * Resolve an exact catalog product independently from distributor. When the
27462
+ * sample is omitted, ultra-rapid issue-level cadence transitions are applied.
27159
27463
  * @param {string} center
27160
27464
  * @param {string} family
27161
27465
  * @param {number} year
@@ -27181,6 +27485,38 @@ export function productIdentity(center, family, year, month, day, sample, issue)
27181
27485
  return GnssProductIdentity.__wrap(ret[0]);
27182
27486
  }
27183
27487
 
27488
+ /**
27489
+ * Return the catalog solution class for one center/product family.
27490
+ *
27491
+ * This product-aware query distinguishes IGS combined final SP3 (`final`)
27492
+ * from IGS broadcast navigation (`broadcast`).
27493
+ * @param {string} center
27494
+ * @param {string} family
27495
+ * @returns {string}
27496
+ */
27497
+ export function productSolutionClass(center, family) {
27498
+ let deferred4_0;
27499
+ let deferred4_1;
27500
+ try {
27501
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27502
+ const len0 = WASM_VECTOR_LEN;
27503
+ const ptr1 = passStringToWasm0(family, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27504
+ const len1 = WASM_VECTOR_LEN;
27505
+ const ret = wasm.productSolutionClass(ptr0, len0, ptr1, len1);
27506
+ var ptr3 = ret[0];
27507
+ var len3 = ret[1];
27508
+ if (ret[3]) {
27509
+ ptr3 = 0; len3 = 0;
27510
+ throw takeFromExternrefTable0(ret[2]);
27511
+ }
27512
+ deferred4_0 = ptr3;
27513
+ deferred4_1 = len3;
27514
+ return getStringFromWasm0(ptr3, len3);
27515
+ } finally {
27516
+ wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
27517
+ }
27518
+ }
27519
+
27184
27520
  /**
27185
27521
  * Propagate a fleet of already-initialized [`Tle`]s over a shared epoch grid in
27186
27522
  * a single call: the batched form of [`Tle.propagate`].
@@ -28917,6 +29253,46 @@ export function sourceSolveModeToa() {
28917
29253
  }
28918
29254
  }
28919
29255
 
29256
+ /**
29257
+ * Return the cataloged relationship between an SP3 filename epoch and its
29258
+ * first content epoch.
29259
+ *
29260
+ * `issue` is required for ultra-rapid centers, must name a published issue,
29261
+ * and must be omitted for product lines without issue times. Exact requests
29262
+ * built with `ExactSp3Request.fromIdentity` apply this same catalog fact.
29263
+ * @param {string} center
29264
+ * @param {number} year
29265
+ * @param {number} month
29266
+ * @param {number} day
29267
+ * @param {string | null} [issue]
29268
+ * @returns {Sp3ContentStartConvention}
29269
+ */
29270
+ export function sp3ContentStartConvention(center, year, month, day, issue) {
29271
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
29272
+ const len0 = WASM_VECTOR_LEN;
29273
+ var ptr1 = isLikeNone(issue) ? 0 : passStringToWasm0(issue, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
29274
+ var len1 = WASM_VECTOR_LEN;
29275
+ const ret = wasm.sp3ContentStartConvention(ptr0, len0, year, month, day, ptr1, len1);
29276
+ if (ret[2]) {
29277
+ throw takeFromExternrefTable0(ret[1]);
29278
+ }
29279
+ return ret[0];
29280
+ }
29281
+
29282
+ /**
29283
+ * Return the signed whole seconds added to the filename epoch for a public
29284
+ * content-start convention.
29285
+ *
29286
+ * JavaScript receives the `i64` result as a `bigint`, consistent with other
29287
+ * exact integral values in this interface.
29288
+ * @param {Sp3ContentStartConvention} convention
29289
+ * @returns {bigint}
29290
+ */
29291
+ export function sp3ContentStartOffsetSeconds(convention) {
29292
+ const ret = wasm.sp3ContentStartOffsetSeconds(convention);
29293
+ return ret;
29294
+ }
29295
+
28920
29296
  /**
28921
29297
  * Validate complete exact artifact records and return their canonical merge
28922
29298
  * input identity.
@@ -29238,6 +29614,39 @@ export function sunMoonEci(epochs_unix_us) {
29238
29614
  return SunMoon.__wrap(ret[0]);
29239
29615
  }
29240
29616
 
29617
+ /**
29618
+ * Return every officially cataloged sampling token for a product date and
29619
+ * issue.
29620
+ *
29621
+ * Syntax alone is not publication evidence: this is the complete catalog set
29622
+ * enforced by [`productIdentity`](product_identity). For issue-based product
29623
+ * lines, omitting `issue` selects `0000`, matching
29624
+ * [`defaultSampleForDate`](default_sample_for_date). Product construction
29625
+ * itself still requires an explicit issue.
29626
+ * @param {string} center
29627
+ * @param {string} family
29628
+ * @param {number} year
29629
+ * @param {number} month
29630
+ * @param {number} day
29631
+ * @param {string | null} [issue]
29632
+ * @returns {string[]}
29633
+ */
29634
+ export function supportedSamples(center, family, year, month, day, issue) {
29635
+ const ptr0 = passStringToWasm0(center, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
29636
+ const len0 = WASM_VECTOR_LEN;
29637
+ const ptr1 = passStringToWasm0(family, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
29638
+ const len1 = WASM_VECTOR_LEN;
29639
+ var ptr2 = isLikeNone(issue) ? 0 : passStringToWasm0(issue, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
29640
+ var len2 = WASM_VECTOR_LEN;
29641
+ const ret = wasm.supportedSamples(ptr0, len0, ptr1, len1, year, month, day, ptr2, len2);
29642
+ if (ret[3]) {
29643
+ throw takeFromExternrefTable0(ret[2]);
29644
+ }
29645
+ var v4 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
29646
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
29647
+ return v4;
29648
+ }
29649
+
29241
29650
  /**
29242
29651
  * TAI-UTC (cumulative leap seconds) in effect on a UTC calendar date.
29243
29652
  *
@@ -29591,6 +30000,22 @@ export function validateAgainstSp3Ids(records, ids) {
29591
30000
  return takeFromExternrefTable0(ret[0]);
29592
30001
  }
29593
30002
 
30003
+ /**
30004
+ * Validate an already parsed SP3 product against an exact request.
30005
+ * @param {Sp3} product
30006
+ * @param {ExactSp3Request} request
30007
+ * @returns {ExactSp3Coverage}
30008
+ */
30009
+ export function validateExactSp3(product, request) {
30010
+ _assertClass(product, Sp3);
30011
+ _assertClass(request, ExactSp3Request);
30012
+ const ret = wasm.validateExactSp3(product.__wbg_ptr, request.__wbg_ptr);
30013
+ if (ret[2]) {
30014
+ throw takeFromExternrefTable0(ret[1]);
30015
+ }
30016
+ return ret[0];
30017
+ }
30018
+
29594
30019
  /**
29595
30020
  * Blend a first good post-outage fix back over an outage span.
29596
30021
  * @param {any} states
@@ -30442,6 +30867,12 @@ const ErrorEllipseFinalization = (typeof FinalizationRegistry === 'undefined')
30442
30867
  const ErrorEllipse2Finalization = (typeof FinalizationRegistry === 'undefined')
30443
30868
  ? { register: () => {}, unregister: () => {} }
30444
30869
  : new FinalizationRegistry(ptr => wasm.__wbg_errorellipse2_free(ptr, 1));
30870
+ const ExactSp3ParseResultFinalization = (typeof FinalizationRegistry === 'undefined')
30871
+ ? { register: () => {}, unregister: () => {} }
30872
+ : new FinalizationRegistry(ptr => wasm.__wbg_exactsp3parseresult_free(ptr, 1));
30873
+ const ExactSp3RequestFinalization = (typeof FinalizationRegistry === 'undefined')
30874
+ ? { register: () => {}, unregister: () => {} }
30875
+ : new FinalizationRegistry(ptr => wasm.__wbg_exactsp3request_free(ptr, 1));
30445
30876
  const FdeSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
30446
30877
  ? { register: () => {}, unregister: () => {} }
30447
30878
  : new FinalizationRegistry(ptr => wasm.__wbg_fdesolution_free(ptr, 1));
Binary file