@neilberkman/sidereon 1.1.1 → 1.2.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
@@ -1210,6 +1210,12 @@ export class BroadcastRecordJs {
1210
1210
  BroadcastRecordJsFinalization.register(obj, obj.__wbg_ptr, obj);
1211
1211
  return obj;
1212
1212
  }
1213
+ static __unwrap(jsValue) {
1214
+ if (!(jsValue instanceof BroadcastRecordJs)) {
1215
+ return 0;
1216
+ }
1217
+ return jsValue.__destroy_into_raw();
1218
+ }
1213
1219
  __destroy_into_raw() {
1214
1220
  const ptr = this.__wbg_ptr;
1215
1221
  this.__wbg_ptr = 0;
@@ -15115,6 +15121,68 @@ export class RinexClock {
15115
15121
  }
15116
15122
  if (Symbol.dispose) RinexClock.prototype[Symbol.dispose] = RinexClock.prototype.free;
15117
15123
 
15124
+ /**
15125
+ * Result of lenient RINEX NAV parsing.
15126
+ *
15127
+ * `records` contains the supported records in file order and `skipped`
15128
+ * contains malformed supported blocks reported by the core parser.
15129
+ */
15130
+ export class RinexNavParse {
15131
+ static __wrap(ptr) {
15132
+ const obj = Object.create(RinexNavParse.prototype);
15133
+ obj.__wbg_ptr = ptr;
15134
+ RinexNavParseFinalization.register(obj, obj.__wbg_ptr, obj);
15135
+ return obj;
15136
+ }
15137
+ __destroy_into_raw() {
15138
+ const ptr = this.__wbg_ptr;
15139
+ this.__wbg_ptr = 0;
15140
+ RinexNavParseFinalization.unregister(this);
15141
+ return ptr;
15142
+ }
15143
+ free() {
15144
+ const ptr = this.__destroy_into_raw();
15145
+ wasm.__wbg_rinexnavparse_free(ptr, 0);
15146
+ }
15147
+ /**
15148
+ * Number of supported records returned by the parser.
15149
+ * @returns {number}
15150
+ */
15151
+ get recordCount() {
15152
+ const ret = wasm.rinexnavparse_recordCount(this.__wbg_ptr);
15153
+ return ret >>> 0;
15154
+ }
15155
+ /**
15156
+ * Supported broadcast records in file order.
15157
+ * @returns {BroadcastRecordJs[]}
15158
+ */
15159
+ get records() {
15160
+ const ret = wasm.rinexnavparse_records(this.__wbg_ptr);
15161
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
15162
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
15163
+ return v1;
15164
+ }
15165
+ /**
15166
+ * Supported blocks skipped by the lenient core parser, in file order.
15167
+ * @returns {SkippedNavBlock[]}
15168
+ */
15169
+ get skipped() {
15170
+ const ret = wasm.rinexnavparse_skipped(this.__wbg_ptr);
15171
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
15172
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
15173
+ return v1;
15174
+ }
15175
+ /**
15176
+ * Number of supported blocks skipped by the parser.
15177
+ * @returns {number}
15178
+ */
15179
+ get skippedCount() {
15180
+ const ret = wasm.rinexnavparse_skippedCount(this.__wbg_ptr);
15181
+ return ret >>> 0;
15182
+ }
15183
+ }
15184
+ if (Symbol.dispose) RinexNavParse.prototype[Symbol.dispose] = RinexNavParse.prototype.free;
15185
+
15118
15186
  /**
15119
15187
  * Navigation repair result.
15120
15188
  */
@@ -16252,6 +16320,114 @@ export class SbasKMultipliers {
16252
16320
  }
16253
16321
  if (Symbol.dispose) SbasKMultipliers.prototype[Symbol.dispose] = SbasKMultipliers.prototype.free;
16254
16322
 
16323
+ /**
16324
+ * One timestamped SBAS message row parsed from an EMS or RTKLIB text log.
16325
+ */
16326
+ export class SbasLogBlock {
16327
+ static __wrap(ptr) {
16328
+ const obj = Object.create(SbasLogBlock.prototype);
16329
+ obj.__wbg_ptr = ptr;
16330
+ SbasLogBlockFinalization.register(obj, obj.__wbg_ptr, obj);
16331
+ return obj;
16332
+ }
16333
+ __destroy_into_raw() {
16334
+ const ptr = this.__wbg_ptr;
16335
+ this.__wbg_ptr = 0;
16336
+ SbasLogBlockFinalization.unregister(this);
16337
+ return ptr;
16338
+ }
16339
+ free() {
16340
+ const ptr = this.__destroy_into_raw();
16341
+ wasm.__wbg_sbaslogblock_free(ptr, 0);
16342
+ }
16343
+ /**
16344
+ * Raw SBAS bytes in the form selected by the core parser.
16345
+ * @returns {Uint8Array}
16346
+ */
16347
+ get bytes() {
16348
+ const ret = wasm.sbaslogblock_bytes(this.__wbg_ptr);
16349
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
16350
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
16351
+ return v1;
16352
+ }
16353
+ /**
16354
+ * Decode this raw message using its parsed wire form.
16355
+ * @returns {any}
16356
+ */
16357
+ decode() {
16358
+ const ret = wasm.sbaslogblock_decode(this.__wbg_ptr);
16359
+ if (ret[2]) {
16360
+ throw takeFromExternrefTable0(ret[1]);
16361
+ }
16362
+ return takeFromExternrefTable0(ret[0]);
16363
+ }
16364
+ /**
16365
+ * Core-selected wire form: `"framed250"` or `"body226"`.
16366
+ * @returns {string}
16367
+ */
16368
+ get form() {
16369
+ let deferred1_0;
16370
+ let deferred1_1;
16371
+ try {
16372
+ const ret = wasm.sbaslogblock_form(this.__wbg_ptr);
16373
+ deferred1_0 = ret[0];
16374
+ deferred1_1 = ret[1];
16375
+ return getStringFromWasm0(ret[0], ret[1]);
16376
+ } finally {
16377
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
16378
+ }
16379
+ }
16380
+ /**
16381
+ * SBAS satellite token, such as `"S20"`.
16382
+ * @returns {string}
16383
+ */
16384
+ get satellite() {
16385
+ let deferred1_0;
16386
+ let deferred1_1;
16387
+ try {
16388
+ const ret = wasm.sbaslogblock_satellite(this.__wbg_ptr);
16389
+ deferred1_0 = ret[0];
16390
+ deferred1_1 = ret[1];
16391
+ return getStringFromWasm0(ret[0], ret[1]);
16392
+ } finally {
16393
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
16394
+ }
16395
+ }
16396
+ /**
16397
+ * SBAS satellite token, such as `"S20"`.
16398
+ * @returns {string}
16399
+ */
16400
+ get satelliteId() {
16401
+ let deferred1_0;
16402
+ let deferred1_1;
16403
+ try {
16404
+ const ret = wasm.sbaslogblock_satelliteId(this.__wbg_ptr);
16405
+ deferred1_0 = ret[0];
16406
+ deferred1_1 = ret[1];
16407
+ return getStringFromWasm0(ret[0], ret[1]);
16408
+ } finally {
16409
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
16410
+ }
16411
+ }
16412
+ /**
16413
+ * Seconds of GPS week of the parsed message epoch.
16414
+ * @returns {number}
16415
+ */
16416
+ get towS() {
16417
+ const ret = wasm.sbaslogblock_towS(this.__wbg_ptr);
16418
+ return ret;
16419
+ }
16420
+ /**
16421
+ * GPS week of the parsed message epoch.
16422
+ * @returns {number}
16423
+ */
16424
+ get week() {
16425
+ const ret = wasm.sbaslogblock_week(this.__wbg_ptr);
16426
+ return ret >>> 0;
16427
+ }
16428
+ }
16429
+ if (Symbol.dispose) SbasLogBlock.prototype[Symbol.dispose] = SbasLogBlock.prototype.free;
16430
+
16255
16431
  /**
16256
16432
  * SBAS protection-level input or numerical failure.
16257
16433
  * @enum {0 | 1 | 2}
@@ -16750,6 +16926,64 @@ export class SignalPolicy {
16750
16926
  }
16751
16927
  if (Symbol.dispose) SignalPolicy.prototype[Symbol.dispose] = SignalPolicy.prototype.free;
16752
16928
 
16929
+ /**
16930
+ * One supported RINEX NAV block that the core parser could not represent.
16931
+ *
16932
+ * The diagnostic is retained by [`parseRinexNavLenient`] instead of turning a
16933
+ * malformed supported block into a fatal whole-file error.
16934
+ */
16935
+ export class SkippedNavBlock {
16936
+ static __wrap(ptr) {
16937
+ const obj = Object.create(SkippedNavBlock.prototype);
16938
+ obj.__wbg_ptr = ptr;
16939
+ SkippedNavBlockFinalization.register(obj, obj.__wbg_ptr, obj);
16940
+ return obj;
16941
+ }
16942
+ __destroy_into_raw() {
16943
+ const ptr = this.__wbg_ptr;
16944
+ this.__wbg_ptr = 0;
16945
+ SkippedNavBlockFinalization.unregister(this);
16946
+ return ptr;
16947
+ }
16948
+ free() {
16949
+ const ptr = this.__destroy_into_raw();
16950
+ wasm.__wbg_skippednavblock_free(ptr, 0);
16951
+ }
16952
+ /**
16953
+ * Core parser diagnostic explaining why the block was skipped.
16954
+ * @returns {string}
16955
+ */
16956
+ get message() {
16957
+ let deferred1_0;
16958
+ let deferred1_1;
16959
+ try {
16960
+ const ret = wasm.skippednavblock_message(this.__wbg_ptr);
16961
+ deferred1_0 = ret[0];
16962
+ deferred1_1 = ret[1];
16963
+ return getStringFromWasm0(ret[0], ret[1]);
16964
+ } finally {
16965
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
16966
+ }
16967
+ }
16968
+ /**
16969
+ * Satellite token from the skipped block, such as `"G01"`.
16970
+ * @returns {string}
16971
+ */
16972
+ get satellite() {
16973
+ let deferred1_0;
16974
+ let deferred1_1;
16975
+ try {
16976
+ const ret = wasm.skippednavblock_satellite(this.__wbg_ptr);
16977
+ deferred1_0 = ret[0];
16978
+ deferred1_1 = ret[1];
16979
+ return getStringFromWasm0(ret[0], ret[1]);
16980
+ } finally {
16981
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
16982
+ }
16983
+ }
16984
+ }
16985
+ if (Symbol.dispose) SkippedNavBlock.prototype[Symbol.dispose] = SkippedNavBlock.prototype.free;
16986
+
16753
16987
  /**
16754
16988
  * Reason a carrier-phase arc split was flagged.
16755
16989
  * @enum {0 | 1 | 2 | 3}
@@ -22775,6 +23009,42 @@ export function correlationAt(code_a, code_b, lag) {
22775
23009
  return ret[0];
22776
23010
  }
22777
23011
 
23012
+ /**
23013
+ * Convert a validated flat row-major 6x6 covariance from km²-based state
23014
+ * units to m²-based state units.
23015
+ * @param {Float64Array} covariance
23016
+ * @returns {Float64Array}
23017
+ */
23018
+ export function covariance6KmToM(covariance) {
23019
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
23020
+ const len0 = WASM_VECTOR_LEN;
23021
+ const ret = wasm.covariance6KmToM(ptr0, len0);
23022
+ if (ret[3]) {
23023
+ throw takeFromExternrefTable0(ret[2]);
23024
+ }
23025
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
23026
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
23027
+ return v2;
23028
+ }
23029
+
23030
+ /**
23031
+ * Convert a validated flat row-major 6x6 covariance from m²-based state
23032
+ * units to km²-based state units.
23033
+ * @param {Float64Array} covariance
23034
+ * @returns {Float64Array}
23035
+ */
23036
+ export function covariance6MToKm(covariance) {
23037
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
23038
+ const len0 = WASM_VECTOR_LEN;
23039
+ const ret = wasm.covariance6MToKm(ptr0, len0);
23040
+ if (ret[3]) {
23041
+ throw takeFromExternrefTable0(ret[2]);
23042
+ }
23043
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
23044
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
23045
+ return v2;
23046
+ }
23047
+
22778
23048
  /**
22779
23049
  * Fitted parameter covariance from a converged solve, scaling `(J^T J)^-1` by
22780
23050
  * the post-fit reduced chi-square `s_sq = 2 * cost / (m - n)` (the same scale
@@ -22907,6 +23177,36 @@ export function cwStm(n_rad_s, dt_s) {
22907
23177
  return v1;
22908
23178
  }
22909
23179
 
23180
+ /**
23181
+ * Integer day-of-year from a validated product date.
23182
+ * @param {number} year
23183
+ * @param {number} month
23184
+ * @param {number} day
23185
+ * @returns {number}
23186
+ */
23187
+ export function dataDayOfYear(year, month, day) {
23188
+ const ret = wasm.dataDayOfYear(year, month, day);
23189
+ if (ret[2]) {
23190
+ throw takeFromExternrefTable0(ret[1]);
23191
+ }
23192
+ return ret[0];
23193
+ }
23194
+
23195
+ /**
23196
+ * Fractional day-of-year from a civil calendar date and time.
23197
+ * @param {number} year
23198
+ * @param {number} month
23199
+ * @param {number} day
23200
+ * @param {number} hour
23201
+ * @param {number} minute
23202
+ * @param {number} second
23203
+ * @returns {number}
23204
+ */
23205
+ export function dayOfYear(year, month, day, hour, minute, second) {
23206
+ const ret = wasm.dayOfYear(year, month, day, hour, minute, second);
23207
+ return ret;
23208
+ }
23209
+
22910
23210
  /**
22911
23211
  * Decode Compact RINEX (Hatanaka) bytes into plain RINEX OBS text. Throws a
22912
23212
  * `TypeError` on non-UTF-8 input and an `Error` on a decode failure.
@@ -23461,6 +23761,30 @@ export function ecefToGeodetic(position_km) {
23461
23761
  return v2;
23462
23762
  }
23463
23763
 
23764
+ /**
23765
+ * Transform a flat row-major 6x6 ECI state covariance into RTN coordinates.
23766
+ * Position is in km and velocity is in km/s.
23767
+ * @param {Float64Array} covariance
23768
+ * @param {Float64Array} position_km
23769
+ * @param {Float64Array} velocity_km_s
23770
+ * @returns {Float64Array}
23771
+ */
23772
+ export function eciToRtnCovariance6(covariance, position_km, velocity_km_s) {
23773
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
23774
+ const len0 = WASM_VECTOR_LEN;
23775
+ const ptr1 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
23776
+ const len1 = WASM_VECTOR_LEN;
23777
+ const ptr2 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
23778
+ const len2 = WASM_VECTOR_LEN;
23779
+ const ret = wasm.eciToRtnCovariance6(ptr0, len0, ptr1, len1, ptr2, len2);
23780
+ if (ret[3]) {
23781
+ throw takeFromExternrefTable0(ret[2]);
23782
+ }
23783
+ var v4 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
23784
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
23785
+ return v4;
23786
+ }
23787
+
23464
23788
  /**
23465
23789
  * Eclipse status for satellite and Sun position batches, km. Returns a
23466
23790
  * `string[]` of `"sunlit"` / `"penumbra"` / `"umbra"`.
@@ -23661,6 +23985,28 @@ export function encodeCrinex(rinex_text) {
23661
23985
  }
23662
23986
  }
23663
23987
 
23988
+ /**
23989
+ * Encode an arbitrary caller-supplied list of broadcast records as RINEX NAV
23990
+ * text. The list is consumed by the WASM boundary and the bytes are produced
23991
+ * by the core's deterministic encoder.
23992
+ * @param {BroadcastRecordJs[]} records
23993
+ * @returns {string}
23994
+ */
23995
+ export function encodeRinexNav(records) {
23996
+ let deferred2_0;
23997
+ let deferred2_1;
23998
+ try {
23999
+ const ptr0 = passArrayJsValueToWasm0(records, wasm.__wbindgen_malloc);
24000
+ const len0 = WASM_VECTOR_LEN;
24001
+ const ret = wasm.encodeRinexNav(ptr0, len0);
24002
+ deferred2_0 = ret[0];
24003
+ deferred2_1 = ret[1];
24004
+ return getStringFromWasm0(ret[0], ret[1]);
24005
+ } finally {
24006
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
24007
+ }
24008
+ }
24009
+
23664
24010
  /**
23665
24011
  * Encode a constructed RTCM message into a message body (without the transport
23666
24012
  * frame).
@@ -25220,6 +25566,28 @@ export function horizontalRadiusAt(covariance_enu_m2, probability) {
25220
25566
  return PercentileRadius.__wrap(ret[0]);
25221
25567
  }
25222
25568
 
25569
+ /**
25570
+ * Interpolate two validated same-frame flat row-major 6x6 covariances with
25571
+ * the core PSD-preserving interpolation.
25572
+ * @param {Float64Array} covariance_a
25573
+ * @param {Float64Array} covariance_b
25574
+ * @param {number} u
25575
+ * @returns {Float64Array}
25576
+ */
25577
+ export function interpolateCovariance6(covariance_a, covariance_b, u) {
25578
+ const ptr0 = passArrayF64ToWasm0(covariance_a, wasm.__wbindgen_malloc);
25579
+ const len0 = WASM_VECTOR_LEN;
25580
+ const ptr1 = passArrayF64ToWasm0(covariance_b, wasm.__wbindgen_malloc);
25581
+ const len1 = WASM_VECTOR_LEN;
25582
+ const ret = wasm.interpolateCovariance6(ptr0, len0, ptr1, len1, u);
25583
+ if (ret[3]) {
25584
+ throw takeFromExternrefTable0(ret[2]);
25585
+ }
25586
+ var v3 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
25587
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
25588
+ return v3;
25589
+ }
25590
+
25223
25591
  /**
25224
25592
  * Gauss angles-only orbit determination.
25225
25593
  *
@@ -27508,6 +27876,26 @@ export function parseRinexNav(bytes) {
27508
27876
  return BroadcastEphemeris.__wrap(ret[0]);
27509
27877
  }
27510
27878
 
27879
+ /**
27880
+ * Parse RINEX NAV bytes leniently through the core parser.
27881
+ *
27882
+ * Header failures remain fatal. Malformed supported record blocks are
27883
+ * returned in `skipped` with their satellite token and core diagnostic;
27884
+ * unsupported systems and message rosters retain the core parser's skip
27885
+ * policy. Non-UTF-8 input throws a `TypeError`.
27886
+ * @param {Uint8Array} bytes
27887
+ * @returns {RinexNavParse}
27888
+ */
27889
+ export function parseRinexNavLenient(bytes) {
27890
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
27891
+ const len0 = WASM_VECTOR_LEN;
27892
+ const ret = wasm.parseRinexNavLenient(ptr0, len0);
27893
+ if (ret[2]) {
27894
+ throw takeFromExternrefTable0(ret[1]);
27895
+ }
27896
+ return RinexNavParse.__wrap(ret[0]);
27897
+ }
27898
+
27511
27899
  /**
27512
27900
  * Parse all supported GPS, Galileo, and BeiDou broadcast records from NAV
27513
27901
  * bytes, before the store's default health and message-policy filter.
@@ -27542,6 +27930,40 @@ export function parseRinexObs(bytes) {
27542
27930
  return RinexObs.__wrap(ret[0]);
27543
27931
  }
27544
27932
 
27933
+ /**
27934
+ * Parse timestamped SBAS EMS log lines into raw message blocks.
27935
+ * @param {string} text
27936
+ * @returns {SbasLogBlock[]}
27937
+ */
27938
+ export function parseSbasEmsLines(text) {
27939
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27940
+ const len0 = WASM_VECTOR_LEN;
27941
+ const ret = wasm.parseSbasEmsLines(ptr0, len0);
27942
+ if (ret[3]) {
27943
+ throw takeFromExternrefTable0(ret[2]);
27944
+ }
27945
+ var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
27946
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
27947
+ return v2;
27948
+ }
27949
+
27950
+ /**
27951
+ * Parse timestamped RTKLIB SBAS log lines into raw message blocks.
27952
+ * @param {string} text
27953
+ * @returns {SbasLogBlock[]}
27954
+ */
27955
+ export function parseSbasRtklibLines(text) {
27956
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27957
+ const len0 = WASM_VECTOR_LEN;
27958
+ const ret = wasm.parseSbasRtklibLines(ptr0, len0);
27959
+ if (ret[3]) {
27960
+ throw takeFromExternrefTable0(ret[2]);
27961
+ }
27962
+ var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
27963
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
27964
+ return v2;
27965
+ }
27966
+
27545
27967
  /**
27546
27968
  * Parse either CSV or fixed-width TXT space-weather bytes.
27547
27969
  * @param {Uint8Array} bytes
@@ -28419,6 +28841,45 @@ export function rinexBandWavelengthM(system, band, glonass_channel) {
28419
28841
  return ret[0] === 0 ? undefined : ret[1];
28420
28842
  }
28421
28843
 
28844
+ /**
28845
+ * RINEX observation-code frequency in hertz for a system and full code.
28846
+ *
28847
+ * `rinex_version` is passed to the core policy because some constellation
28848
+ * band meanings depend on the RINEX minor version. GLONASS G1/G2 codes also
28849
+ * require the FDMA channel number. Returns `undefined` when the core has no
28850
+ * mapping for the supplied system/code combination.
28851
+ * @param {GnssSystem} system
28852
+ * @param {string} code
28853
+ * @param {number} rinex_version
28854
+ * @param {number | null} [glonass_channel]
28855
+ * @returns {number | undefined}
28856
+ */
28857
+ export function rinexObservationFrequencyHz(system, code, rinex_version, glonass_channel) {
28858
+ const ptr0 = passStringToWasm0(code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28859
+ const len0 = WASM_VECTOR_LEN;
28860
+ const ret = wasm.rinexObservationFrequencyHz(system, ptr0, len0, rinex_version, isLikeNone(glonass_channel) ? 0xFFFFFF : glonass_channel);
28861
+ return ret[0] === 0 ? undefined : ret[1];
28862
+ }
28863
+
28864
+ /**
28865
+ * RINEX observation-code wavelength in metres for a system and full code.
28866
+ *
28867
+ * This uses the same version-aware observation-code policy as
28868
+ * [`rinexObservationFrequencyHz`]. Returns `undefined` when no core mapping
28869
+ * exists.
28870
+ * @param {GnssSystem} system
28871
+ * @param {string} code
28872
+ * @param {number} rinex_version
28873
+ * @param {number | null} [glonass_channel]
28874
+ * @returns {number | undefined}
28875
+ */
28876
+ export function rinexObservationWavelengthM(system, code, rinex_version, glonass_channel) {
28877
+ const ptr0 = passStringToWasm0(code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28878
+ const len0 = WASM_VECTOR_LEN;
28879
+ const ret = wasm.rinexObservationWavelengthM(system, ptr0, len0, rinex_version, isLikeNone(glonass_channel) ? 0xFFFFFF : glonass_channel);
28880
+ return ret[0] === 0 ? undefined : ret[1];
28881
+ }
28882
+
28422
28883
  /**
28423
28884
  * @param {Float64Array} position_km
28424
28885
  * @param {Float64Array} velocity_km_s
@@ -28583,6 +29044,30 @@ export function rtnToEciCovariance(covariance_rtn, position_km, velocity_km_s) {
28583
29044
  return v4;
28584
29045
  }
28585
29046
 
29047
+ /**
29048
+ * Transform a flat row-major 6x6 RTN state covariance into ECI coordinates.
29049
+ * Position is in km and velocity is in km/s.
29050
+ * @param {Float64Array} covariance
29051
+ * @param {Float64Array} position_km
29052
+ * @param {Float64Array} velocity_km_s
29053
+ * @returns {Float64Array}
29054
+ */
29055
+ export function rtnToEciCovariance6(covariance, position_km, velocity_km_s) {
29056
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
29057
+ const len0 = WASM_VECTOR_LEN;
29058
+ const ptr1 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
29059
+ const len1 = WASM_VECTOR_LEN;
29060
+ const ptr2 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
29061
+ const len2 = WASM_VECTOR_LEN;
29062
+ const ret = wasm.rtnToEciCovariance6(ptr0, len0, ptr1, len1, ptr2, len2);
29063
+ if (ret[3]) {
29064
+ throw takeFromExternrefTable0(ret[2]);
29065
+ }
29066
+ var v4 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
29067
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
29068
+ return v4;
29069
+ }
29070
+
28586
29071
  /**
28587
29072
  * Convert an inertial Cartesian state to classical orbital elements.
28588
29073
  *
@@ -28918,6 +29403,18 @@ export function seasonsSpk(spk, start_unix_us, end_unix_us, step_s, tolerance_s)
28918
29403
  return takeFromExternrefTable0(ret[0]);
28919
29404
  }
28920
29405
 
29406
+ /**
29407
+ * Seconds elapsed since the beginning of a civil day.
29408
+ * @param {number} hour
29409
+ * @param {number} minute
29410
+ * @param {number} second
29411
+ * @returns {number}
29412
+ */
29413
+ export function secondOfDay(hour, minute, second) {
29414
+ const ret = wasm.secondOfDay(hour, minute, second);
29415
+ return ret;
29416
+ }
29417
+
28921
29418
  /**
28922
29419
  * Select an IONEX product usable at `requestedEpochJ2000S`, degrading to a
28923
29420
  * diurnal-shifted prior product within `policy`.
@@ -30891,6 +31388,10 @@ function __wbg_get_imports() {
30891
31388
  const ret = BroadcastRecordJs.__wrap(arg0);
30892
31389
  return ret;
30893
31390
  },
31391
+ __wbg_broadcastrecordjs_unwrap: function(arg0) {
31392
+ const ret = BroadcastRecordJs.__unwrap(arg0);
31393
+ return ret;
31394
+ },
30894
31395
  __wbg_call_8a2dd23819f8a60a: function() { return handleError(function (arg0, arg1) {
30895
31396
  const ret = arg0.call(arg1);
30896
31397
  return ret;
@@ -31186,6 +31687,10 @@ function __wbg_get_imports() {
31186
31687
  const ret = SatellitePass.__wrap(arg0);
31187
31688
  return ret;
31188
31689
  },
31690
+ __wbg_sbaslogblock_new: function(arg0) {
31691
+ const ret = SbasLogBlock.__wrap(arg0);
31692
+ return ret;
31693
+ },
31189
31694
  __wbg_set_575dd786d51585f8: function(arg0, arg1, arg2) {
31190
31695
  const ret = arg0.set(arg1, arg2);
31191
31696
  return ret;
@@ -31203,6 +31708,10 @@ function __wbg_get_imports() {
31203
31708
  __wbg_set_name_3bbc583faefa4193: function(arg0, arg1, arg2) {
31204
31709
  arg0.name = getStringFromWasm0(arg1, arg2);
31205
31710
  },
31711
+ __wbg_skippednavblock_new: function(arg0) {
31712
+ const ret = SkippedNavBlock.__wrap(arg0);
31713
+ return ret;
31714
+ },
31206
31715
  __wbg_slipresult_new: function(arg0) {
31207
31716
  const ret = SlipResult.__wrap(arg0);
31208
31717
  return ret;
@@ -31742,6 +32251,9 @@ const ReducedOrbitStateFinalization = (typeof FinalizationRegistry === 'undefine
31742
32251
  const RinexClockFinalization = (typeof FinalizationRegistry === 'undefined')
31743
32252
  ? { register: () => {}, unregister: () => {} }
31744
32253
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexclock_free(ptr, 1));
32254
+ const RinexNavParseFinalization = (typeof FinalizationRegistry === 'undefined')
32255
+ ? { register: () => {}, unregister: () => {} }
32256
+ : new FinalizationRegistry(ptr => wasm.__wbg_rinexnavparse_free(ptr, 1));
31745
32257
  const RinexNavRepairFinalization = (typeof FinalizationRegistry === 'undefined')
31746
32258
  ? { register: () => {}, unregister: () => {} }
31747
32259
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexnavrepair_free(ptr, 1));
@@ -31778,6 +32290,9 @@ const SbasErrorModelFinalization = (typeof FinalizationRegistry === 'undefined')
31778
32290
  const SbasKMultipliersFinalization = (typeof FinalizationRegistry === 'undefined')
31779
32291
  ? { register: () => {}, unregister: () => {} }
31780
32292
  : new FinalizationRegistry(ptr => wasm.__wbg_sbaskmultipliers_free(ptr, 1));
32293
+ const SbasLogBlockFinalization = (typeof FinalizationRegistry === 'undefined')
32294
+ ? { register: () => {}, unregister: () => {} }
32295
+ : new FinalizationRegistry(ptr => wasm.__wbg_sbaslogblock_free(ptr, 1));
31781
32296
  const SbasProtectionFinalization = (typeof FinalizationRegistry === 'undefined')
31782
32297
  ? { register: () => {}, unregister: () => {} }
31783
32298
  : new FinalizationRegistry(ptr => wasm.__wbg_sbasprotection_free(ptr, 1));
@@ -31790,6 +32305,9 @@ const SignalAnalysisModulationFinalization = (typeof FinalizationRegistry === 'u
31790
32305
  const SignalPolicyFinalization = (typeof FinalizationRegistry === 'undefined')
31791
32306
  ? { register: () => {}, unregister: () => {} }
31792
32307
  : new FinalizationRegistry(ptr => wasm.__wbg_signalpolicy_free(ptr, 1));
32308
+ const SkippedNavBlockFinalization = (typeof FinalizationRegistry === 'undefined')
32309
+ ? { register: () => {}, unregister: () => {} }
32310
+ : new FinalizationRegistry(ptr => wasm.__wbg_skippednavblock_free(ptr, 1));
31793
32311
  const SlipResultFinalization = (typeof FinalizationRegistry === 'undefined')
31794
32312
  ? { register: () => {}, unregister: () => {} }
31795
32313
  : new FinalizationRegistry(ptr => wasm.__wbg_slipresult_free(ptr, 1));
Binary file