@neilberkman/sidereon 1.1.0 → 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.
@@ -1223,6 +1223,12 @@ class BroadcastRecordJs {
1223
1223
  BroadcastRecordJsFinalization.register(obj, obj.__wbg_ptr, obj);
1224
1224
  return obj;
1225
1225
  }
1226
+ static __unwrap(jsValue) {
1227
+ if (!(jsValue instanceof BroadcastRecordJs)) {
1228
+ return 0;
1229
+ }
1230
+ return jsValue.__destroy_into_raw();
1231
+ }
1226
1232
  __destroy_into_raw() {
1227
1233
  const ptr = this.__wbg_ptr;
1228
1234
  this.__wbg_ptr = 0;
@@ -15285,6 +15291,69 @@ class RinexClock {
15285
15291
  if (Symbol.dispose) RinexClock.prototype[Symbol.dispose] = RinexClock.prototype.free;
15286
15292
  exports.RinexClock = RinexClock;
15287
15293
 
15294
+ /**
15295
+ * Result of lenient RINEX NAV parsing.
15296
+ *
15297
+ * `records` contains the supported records in file order and `skipped`
15298
+ * contains malformed supported blocks reported by the core parser.
15299
+ */
15300
+ class RinexNavParse {
15301
+ static __wrap(ptr) {
15302
+ const obj = Object.create(RinexNavParse.prototype);
15303
+ obj.__wbg_ptr = ptr;
15304
+ RinexNavParseFinalization.register(obj, obj.__wbg_ptr, obj);
15305
+ return obj;
15306
+ }
15307
+ __destroy_into_raw() {
15308
+ const ptr = this.__wbg_ptr;
15309
+ this.__wbg_ptr = 0;
15310
+ RinexNavParseFinalization.unregister(this);
15311
+ return ptr;
15312
+ }
15313
+ free() {
15314
+ const ptr = this.__destroy_into_raw();
15315
+ wasm.__wbg_rinexnavparse_free(ptr, 0);
15316
+ }
15317
+ /**
15318
+ * Number of supported records returned by the parser.
15319
+ * @returns {number}
15320
+ */
15321
+ get recordCount() {
15322
+ const ret = wasm.rinexnavparse_recordCount(this.__wbg_ptr);
15323
+ return ret >>> 0;
15324
+ }
15325
+ /**
15326
+ * Supported broadcast records in file order.
15327
+ * @returns {BroadcastRecordJs[]}
15328
+ */
15329
+ get records() {
15330
+ const ret = wasm.rinexnavparse_records(this.__wbg_ptr);
15331
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
15332
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
15333
+ return v1;
15334
+ }
15335
+ /**
15336
+ * Supported blocks skipped by the lenient core parser, in file order.
15337
+ * @returns {SkippedNavBlock[]}
15338
+ */
15339
+ get skipped() {
15340
+ const ret = wasm.rinexnavparse_skipped(this.__wbg_ptr);
15341
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
15342
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
15343
+ return v1;
15344
+ }
15345
+ /**
15346
+ * Number of supported blocks skipped by the parser.
15347
+ * @returns {number}
15348
+ */
15349
+ get skippedCount() {
15350
+ const ret = wasm.rinexnavparse_skippedCount(this.__wbg_ptr);
15351
+ return ret >>> 0;
15352
+ }
15353
+ }
15354
+ if (Symbol.dispose) RinexNavParse.prototype[Symbol.dispose] = RinexNavParse.prototype.free;
15355
+ exports.RinexNavParse = RinexNavParse;
15356
+
15288
15357
  /**
15289
15358
  * Navigation repair result.
15290
15359
  */
@@ -16434,6 +16503,115 @@ class SbasKMultipliers {
16434
16503
  if (Symbol.dispose) SbasKMultipliers.prototype[Symbol.dispose] = SbasKMultipliers.prototype.free;
16435
16504
  exports.SbasKMultipliers = SbasKMultipliers;
16436
16505
 
16506
+ /**
16507
+ * One timestamped SBAS message row parsed from an EMS or RTKLIB text log.
16508
+ */
16509
+ class SbasLogBlock {
16510
+ static __wrap(ptr) {
16511
+ const obj = Object.create(SbasLogBlock.prototype);
16512
+ obj.__wbg_ptr = ptr;
16513
+ SbasLogBlockFinalization.register(obj, obj.__wbg_ptr, obj);
16514
+ return obj;
16515
+ }
16516
+ __destroy_into_raw() {
16517
+ const ptr = this.__wbg_ptr;
16518
+ this.__wbg_ptr = 0;
16519
+ SbasLogBlockFinalization.unregister(this);
16520
+ return ptr;
16521
+ }
16522
+ free() {
16523
+ const ptr = this.__destroy_into_raw();
16524
+ wasm.__wbg_sbaslogblock_free(ptr, 0);
16525
+ }
16526
+ /**
16527
+ * Raw SBAS bytes in the form selected by the core parser.
16528
+ * @returns {Uint8Array}
16529
+ */
16530
+ get bytes() {
16531
+ const ret = wasm.sbaslogblock_bytes(this.__wbg_ptr);
16532
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
16533
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
16534
+ return v1;
16535
+ }
16536
+ /**
16537
+ * Decode this raw message using its parsed wire form.
16538
+ * @returns {any}
16539
+ */
16540
+ decode() {
16541
+ const ret = wasm.sbaslogblock_decode(this.__wbg_ptr);
16542
+ if (ret[2]) {
16543
+ throw takeFromExternrefTable0(ret[1]);
16544
+ }
16545
+ return takeFromExternrefTable0(ret[0]);
16546
+ }
16547
+ /**
16548
+ * Core-selected wire form: `"framed250"` or `"body226"`.
16549
+ * @returns {string}
16550
+ */
16551
+ get form() {
16552
+ let deferred1_0;
16553
+ let deferred1_1;
16554
+ try {
16555
+ const ret = wasm.sbaslogblock_form(this.__wbg_ptr);
16556
+ deferred1_0 = ret[0];
16557
+ deferred1_1 = ret[1];
16558
+ return getStringFromWasm0(ret[0], ret[1]);
16559
+ } finally {
16560
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
16561
+ }
16562
+ }
16563
+ /**
16564
+ * SBAS satellite token, such as `"S20"`.
16565
+ * @returns {string}
16566
+ */
16567
+ get satellite() {
16568
+ let deferred1_0;
16569
+ let deferred1_1;
16570
+ try {
16571
+ const ret = wasm.sbaslogblock_satellite(this.__wbg_ptr);
16572
+ deferred1_0 = ret[0];
16573
+ deferred1_1 = ret[1];
16574
+ return getStringFromWasm0(ret[0], ret[1]);
16575
+ } finally {
16576
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
16577
+ }
16578
+ }
16579
+ /**
16580
+ * SBAS satellite token, such as `"S20"`.
16581
+ * @returns {string}
16582
+ */
16583
+ get satelliteId() {
16584
+ let deferred1_0;
16585
+ let deferred1_1;
16586
+ try {
16587
+ const ret = wasm.sbaslogblock_satelliteId(this.__wbg_ptr);
16588
+ deferred1_0 = ret[0];
16589
+ deferred1_1 = ret[1];
16590
+ return getStringFromWasm0(ret[0], ret[1]);
16591
+ } finally {
16592
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
16593
+ }
16594
+ }
16595
+ /**
16596
+ * Seconds of GPS week of the parsed message epoch.
16597
+ * @returns {number}
16598
+ */
16599
+ get towS() {
16600
+ const ret = wasm.sbaslogblock_towS(this.__wbg_ptr);
16601
+ return ret;
16602
+ }
16603
+ /**
16604
+ * GPS week of the parsed message epoch.
16605
+ * @returns {number}
16606
+ */
16607
+ get week() {
16608
+ const ret = wasm.sbaslogblock_week(this.__wbg_ptr);
16609
+ return ret >>> 0;
16610
+ }
16611
+ }
16612
+ if (Symbol.dispose) SbasLogBlock.prototype[Symbol.dispose] = SbasLogBlock.prototype.free;
16613
+ exports.SbasLogBlock = SbasLogBlock;
16614
+
16437
16615
  /**
16438
16616
  * SBAS protection-level input or numerical failure.
16439
16617
  * @enum {0 | 1 | 2}
@@ -16937,6 +17115,65 @@ class SignalPolicy {
16937
17115
  if (Symbol.dispose) SignalPolicy.prototype[Symbol.dispose] = SignalPolicy.prototype.free;
16938
17116
  exports.SignalPolicy = SignalPolicy;
16939
17117
 
17118
+ /**
17119
+ * One supported RINEX NAV block that the core parser could not represent.
17120
+ *
17121
+ * The diagnostic is retained by [`parseRinexNavLenient`] instead of turning a
17122
+ * malformed supported block into a fatal whole-file error.
17123
+ */
17124
+ class SkippedNavBlock {
17125
+ static __wrap(ptr) {
17126
+ const obj = Object.create(SkippedNavBlock.prototype);
17127
+ obj.__wbg_ptr = ptr;
17128
+ SkippedNavBlockFinalization.register(obj, obj.__wbg_ptr, obj);
17129
+ return obj;
17130
+ }
17131
+ __destroy_into_raw() {
17132
+ const ptr = this.__wbg_ptr;
17133
+ this.__wbg_ptr = 0;
17134
+ SkippedNavBlockFinalization.unregister(this);
17135
+ return ptr;
17136
+ }
17137
+ free() {
17138
+ const ptr = this.__destroy_into_raw();
17139
+ wasm.__wbg_skippednavblock_free(ptr, 0);
17140
+ }
17141
+ /**
17142
+ * Core parser diagnostic explaining why the block was skipped.
17143
+ * @returns {string}
17144
+ */
17145
+ get message() {
17146
+ let deferred1_0;
17147
+ let deferred1_1;
17148
+ try {
17149
+ const ret = wasm.skippednavblock_message(this.__wbg_ptr);
17150
+ deferred1_0 = ret[0];
17151
+ deferred1_1 = ret[1];
17152
+ return getStringFromWasm0(ret[0], ret[1]);
17153
+ } finally {
17154
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
17155
+ }
17156
+ }
17157
+ /**
17158
+ * Satellite token from the skipped block, such as `"G01"`.
17159
+ * @returns {string}
17160
+ */
17161
+ get satellite() {
17162
+ let deferred1_0;
17163
+ let deferred1_1;
17164
+ try {
17165
+ const ret = wasm.skippednavblock_satellite(this.__wbg_ptr);
17166
+ deferred1_0 = ret[0];
17167
+ deferred1_1 = ret[1];
17168
+ return getStringFromWasm0(ret[0], ret[1]);
17169
+ } finally {
17170
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
17171
+ }
17172
+ }
17173
+ }
17174
+ if (Symbol.dispose) SkippedNavBlock.prototype[Symbol.dispose] = SkippedNavBlock.prototype.free;
17175
+ exports.SkippedNavBlock = SkippedNavBlock;
17176
+
16940
17177
  /**
16941
17178
  * Reason a carrier-phase arc split was flagged.
16942
17179
  * @enum {0 | 1 | 2 | 3}
@@ -23069,6 +23306,44 @@ function correlationAt(code_a, code_b, lag) {
23069
23306
  }
23070
23307
  exports.correlationAt = correlationAt;
23071
23308
 
23309
+ /**
23310
+ * Convert a validated flat row-major 6x6 covariance from km²-based state
23311
+ * units to m²-based state units.
23312
+ * @param {Float64Array} covariance
23313
+ * @returns {Float64Array}
23314
+ */
23315
+ function covariance6KmToM(covariance) {
23316
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
23317
+ const len0 = WASM_VECTOR_LEN;
23318
+ const ret = wasm.covariance6KmToM(ptr0, len0);
23319
+ if (ret[3]) {
23320
+ throw takeFromExternrefTable0(ret[2]);
23321
+ }
23322
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
23323
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
23324
+ return v2;
23325
+ }
23326
+ exports.covariance6KmToM = covariance6KmToM;
23327
+
23328
+ /**
23329
+ * Convert a validated flat row-major 6x6 covariance from m²-based state
23330
+ * units to km²-based state units.
23331
+ * @param {Float64Array} covariance
23332
+ * @returns {Float64Array}
23333
+ */
23334
+ function covariance6MToKm(covariance) {
23335
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
23336
+ const len0 = WASM_VECTOR_LEN;
23337
+ const ret = wasm.covariance6MToKm(ptr0, len0);
23338
+ if (ret[3]) {
23339
+ throw takeFromExternrefTable0(ret[2]);
23340
+ }
23341
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
23342
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
23343
+ return v2;
23344
+ }
23345
+ exports.covariance6MToKm = covariance6MToKm;
23346
+
23072
23347
  /**
23073
23348
  * Fitted parameter covariance from a converged solve, scaling `(J^T J)^-1` by
23074
23349
  * the post-fit reduced chi-square `s_sq = 2 * cost / (m - n)` (the same scale
@@ -23208,6 +23483,38 @@ function cwStm(n_rad_s, dt_s) {
23208
23483
  }
23209
23484
  exports.cwStm = cwStm;
23210
23485
 
23486
+ /**
23487
+ * Integer day-of-year from a validated product date.
23488
+ * @param {number} year
23489
+ * @param {number} month
23490
+ * @param {number} day
23491
+ * @returns {number}
23492
+ */
23493
+ function dataDayOfYear(year, month, day) {
23494
+ const ret = wasm.dataDayOfYear(year, month, day);
23495
+ if (ret[2]) {
23496
+ throw takeFromExternrefTable0(ret[1]);
23497
+ }
23498
+ return ret[0];
23499
+ }
23500
+ exports.dataDayOfYear = dataDayOfYear;
23501
+
23502
+ /**
23503
+ * Fractional day-of-year from a civil calendar date and time.
23504
+ * @param {number} year
23505
+ * @param {number} month
23506
+ * @param {number} day
23507
+ * @param {number} hour
23508
+ * @param {number} minute
23509
+ * @param {number} second
23510
+ * @returns {number}
23511
+ */
23512
+ function dayOfYear(year, month, day, hour, minute, second) {
23513
+ const ret = wasm.dayOfYear(year, month, day, hour, minute, second);
23514
+ return ret;
23515
+ }
23516
+ exports.dayOfYear = dayOfYear;
23517
+
23211
23518
  /**
23212
23519
  * Decode Compact RINEX (Hatanaka) bytes into plain RINEX OBS text. Throws a
23213
23520
  * `TypeError` on non-UTF-8 input and an `Error` on a decode failure.
@@ -23789,6 +24096,31 @@ function ecefToGeodetic(position_km) {
23789
24096
  }
23790
24097
  exports.ecefToGeodetic = ecefToGeodetic;
23791
24098
 
24099
+ /**
24100
+ * Transform a flat row-major 6x6 ECI state covariance into RTN coordinates.
24101
+ * Position is in km and velocity is in km/s.
24102
+ * @param {Float64Array} covariance
24103
+ * @param {Float64Array} position_km
24104
+ * @param {Float64Array} velocity_km_s
24105
+ * @returns {Float64Array}
24106
+ */
24107
+ function eciToRtnCovariance6(covariance, position_km, velocity_km_s) {
24108
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
24109
+ const len0 = WASM_VECTOR_LEN;
24110
+ const ptr1 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
24111
+ const len1 = WASM_VECTOR_LEN;
24112
+ const ptr2 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
24113
+ const len2 = WASM_VECTOR_LEN;
24114
+ const ret = wasm.eciToRtnCovariance6(ptr0, len0, ptr1, len1, ptr2, len2);
24115
+ if (ret[3]) {
24116
+ throw takeFromExternrefTable0(ret[2]);
24117
+ }
24118
+ var v4 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
24119
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
24120
+ return v4;
24121
+ }
24122
+ exports.eciToRtnCovariance6 = eciToRtnCovariance6;
24123
+
23792
24124
  /**
23793
24125
  * Eclipse status for satellite and Sun position batches, km. Returns a
23794
24126
  * `string[]` of `"sunlit"` / `"penumbra"` / `"umbra"`.
@@ -24000,6 +24332,29 @@ function encodeCrinex(rinex_text) {
24000
24332
  }
24001
24333
  exports.encodeCrinex = encodeCrinex;
24002
24334
 
24335
+ /**
24336
+ * Encode an arbitrary caller-supplied list of broadcast records as RINEX NAV
24337
+ * text. The list is consumed by the WASM boundary and the bytes are produced
24338
+ * by the core's deterministic encoder.
24339
+ * @param {BroadcastRecordJs[]} records
24340
+ * @returns {string}
24341
+ */
24342
+ function encodeRinexNav(records) {
24343
+ let deferred2_0;
24344
+ let deferred2_1;
24345
+ try {
24346
+ const ptr0 = passArrayJsValueToWasm0(records, wasm.__wbindgen_malloc);
24347
+ const len0 = WASM_VECTOR_LEN;
24348
+ const ret = wasm.encodeRinexNav(ptr0, len0);
24349
+ deferred2_0 = ret[0];
24350
+ deferred2_1 = ret[1];
24351
+ return getStringFromWasm0(ret[0], ret[1]);
24352
+ } finally {
24353
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
24354
+ }
24355
+ }
24356
+ exports.encodeRinexNav = encodeRinexNav;
24357
+
24003
24358
  /**
24004
24359
  * Encode a constructed RTCM message into a message body (without the transport
24005
24360
  * frame).
@@ -25636,6 +25991,29 @@ function horizontalRadiusAt(covariance_enu_m2, probability) {
25636
25991
  }
25637
25992
  exports.horizontalRadiusAt = horizontalRadiusAt;
25638
25993
 
25994
+ /**
25995
+ * Interpolate two validated same-frame flat row-major 6x6 covariances with
25996
+ * the core PSD-preserving interpolation.
25997
+ * @param {Float64Array} covariance_a
25998
+ * @param {Float64Array} covariance_b
25999
+ * @param {number} u
26000
+ * @returns {Float64Array}
26001
+ */
26002
+ function interpolateCovariance6(covariance_a, covariance_b, u) {
26003
+ const ptr0 = passArrayF64ToWasm0(covariance_a, wasm.__wbindgen_malloc);
26004
+ const len0 = WASM_VECTOR_LEN;
26005
+ const ptr1 = passArrayF64ToWasm0(covariance_b, wasm.__wbindgen_malloc);
26006
+ const len1 = WASM_VECTOR_LEN;
26007
+ const ret = wasm.interpolateCovariance6(ptr0, len0, ptr1, len1, u);
26008
+ if (ret[3]) {
26009
+ throw takeFromExternrefTable0(ret[2]);
26010
+ }
26011
+ var v3 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
26012
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
26013
+ return v3;
26014
+ }
26015
+ exports.interpolateCovariance6 = interpolateCovariance6;
26016
+
25639
26017
  /**
25640
26018
  * Gauss angles-only orbit determination.
25641
26019
  *
@@ -28051,6 +28429,27 @@ function parseRinexNav(bytes) {
28051
28429
  }
28052
28430
  exports.parseRinexNav = parseRinexNav;
28053
28431
 
28432
+ /**
28433
+ * Parse RINEX NAV bytes leniently through the core parser.
28434
+ *
28435
+ * Header failures remain fatal. Malformed supported record blocks are
28436
+ * returned in `skipped` with their satellite token and core diagnostic;
28437
+ * unsupported systems and message rosters retain the core parser's skip
28438
+ * policy. Non-UTF-8 input throws a `TypeError`.
28439
+ * @param {Uint8Array} bytes
28440
+ * @returns {RinexNavParse}
28441
+ */
28442
+ function parseRinexNavLenient(bytes) {
28443
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
28444
+ const len0 = WASM_VECTOR_LEN;
28445
+ const ret = wasm.parseRinexNavLenient(ptr0, len0);
28446
+ if (ret[2]) {
28447
+ throw takeFromExternrefTable0(ret[1]);
28448
+ }
28449
+ return RinexNavParse.__wrap(ret[0]);
28450
+ }
28451
+ exports.parseRinexNavLenient = parseRinexNavLenient;
28452
+
28054
28453
  /**
28055
28454
  * Parse all supported GPS, Galileo, and BeiDou broadcast records from NAV
28056
28455
  * bytes, before the store's default health and message-policy filter.
@@ -28087,6 +28486,42 @@ function parseRinexObs(bytes) {
28087
28486
  }
28088
28487
  exports.parseRinexObs = parseRinexObs;
28089
28488
 
28489
+ /**
28490
+ * Parse timestamped SBAS EMS log lines into raw message blocks.
28491
+ * @param {string} text
28492
+ * @returns {SbasLogBlock[]}
28493
+ */
28494
+ function parseSbasEmsLines(text) {
28495
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28496
+ const len0 = WASM_VECTOR_LEN;
28497
+ const ret = wasm.parseSbasEmsLines(ptr0, len0);
28498
+ if (ret[3]) {
28499
+ throw takeFromExternrefTable0(ret[2]);
28500
+ }
28501
+ var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
28502
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
28503
+ return v2;
28504
+ }
28505
+ exports.parseSbasEmsLines = parseSbasEmsLines;
28506
+
28507
+ /**
28508
+ * Parse timestamped RTKLIB SBAS log lines into raw message blocks.
28509
+ * @param {string} text
28510
+ * @returns {SbasLogBlock[]}
28511
+ */
28512
+ function parseSbasRtklibLines(text) {
28513
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
28514
+ const len0 = WASM_VECTOR_LEN;
28515
+ const ret = wasm.parseSbasRtklibLines(ptr0, len0);
28516
+ if (ret[3]) {
28517
+ throw takeFromExternrefTable0(ret[2]);
28518
+ }
28519
+ var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
28520
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
28521
+ return v2;
28522
+ }
28523
+ exports.parseSbasRtklibLines = parseSbasRtklibLines;
28524
+
28090
28525
  /**
28091
28526
  * Parse either CSV or fixed-width TXT space-weather bytes.
28092
28527
  * @param {Uint8Array} bytes
@@ -29008,6 +29443,47 @@ function rinexBandWavelengthM(system, band, glonass_channel) {
29008
29443
  }
29009
29444
  exports.rinexBandWavelengthM = rinexBandWavelengthM;
29010
29445
 
29446
+ /**
29447
+ * RINEX observation-code frequency in hertz for a system and full code.
29448
+ *
29449
+ * `rinex_version` is passed to the core policy because some constellation
29450
+ * band meanings depend on the RINEX minor version. GLONASS G1/G2 codes also
29451
+ * require the FDMA channel number. Returns `undefined` when the core has no
29452
+ * mapping for the supplied system/code combination.
29453
+ * @param {GnssSystem} system
29454
+ * @param {string} code
29455
+ * @param {number} rinex_version
29456
+ * @param {number | null} [glonass_channel]
29457
+ * @returns {number | undefined}
29458
+ */
29459
+ function rinexObservationFrequencyHz(system, code, rinex_version, glonass_channel) {
29460
+ const ptr0 = passStringToWasm0(code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
29461
+ const len0 = WASM_VECTOR_LEN;
29462
+ const ret = wasm.rinexObservationFrequencyHz(system, ptr0, len0, rinex_version, isLikeNone(glonass_channel) ? 0xFFFFFF : glonass_channel);
29463
+ return ret[0] === 0 ? undefined : ret[1];
29464
+ }
29465
+ exports.rinexObservationFrequencyHz = rinexObservationFrequencyHz;
29466
+
29467
+ /**
29468
+ * RINEX observation-code wavelength in metres for a system and full code.
29469
+ *
29470
+ * This uses the same version-aware observation-code policy as
29471
+ * [`rinexObservationFrequencyHz`]. Returns `undefined` when no core mapping
29472
+ * exists.
29473
+ * @param {GnssSystem} system
29474
+ * @param {string} code
29475
+ * @param {number} rinex_version
29476
+ * @param {number | null} [glonass_channel]
29477
+ * @returns {number | undefined}
29478
+ */
29479
+ function rinexObservationWavelengthM(system, code, rinex_version, glonass_channel) {
29480
+ const ptr0 = passStringToWasm0(code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
29481
+ const len0 = WASM_VECTOR_LEN;
29482
+ const ret = wasm.rinexObservationWavelengthM(system, ptr0, len0, rinex_version, isLikeNone(glonass_channel) ? 0xFFFFFF : glonass_channel);
29483
+ return ret[0] === 0 ? undefined : ret[1];
29484
+ }
29485
+ exports.rinexObservationWavelengthM = rinexObservationWavelengthM;
29486
+
29011
29487
  /**
29012
29488
  * @param {Float64Array} position_km
29013
29489
  * @param {Float64Array} velocity_km_s
@@ -29181,6 +29657,31 @@ function rtnToEciCovariance(covariance_rtn, position_km, velocity_km_s) {
29181
29657
  }
29182
29658
  exports.rtnToEciCovariance = rtnToEciCovariance;
29183
29659
 
29660
+ /**
29661
+ * Transform a flat row-major 6x6 RTN state covariance into ECI coordinates.
29662
+ * Position is in km and velocity is in km/s.
29663
+ * @param {Float64Array} covariance
29664
+ * @param {Float64Array} position_km
29665
+ * @param {Float64Array} velocity_km_s
29666
+ * @returns {Float64Array}
29667
+ */
29668
+ function rtnToEciCovariance6(covariance, position_km, velocity_km_s) {
29669
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
29670
+ const len0 = WASM_VECTOR_LEN;
29671
+ const ptr1 = passArrayF64ToWasm0(position_km, wasm.__wbindgen_malloc);
29672
+ const len1 = WASM_VECTOR_LEN;
29673
+ const ptr2 = passArrayF64ToWasm0(velocity_km_s, wasm.__wbindgen_malloc);
29674
+ const len2 = WASM_VECTOR_LEN;
29675
+ const ret = wasm.rtnToEciCovariance6(ptr0, len0, ptr1, len1, ptr2, len2);
29676
+ if (ret[3]) {
29677
+ throw takeFromExternrefTable0(ret[2]);
29678
+ }
29679
+ var v4 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
29680
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
29681
+ return v4;
29682
+ }
29683
+ exports.rtnToEciCovariance6 = rtnToEciCovariance6;
29684
+
29184
29685
  /**
29185
29686
  * Convert an inertial Cartesian state to classical orbital elements.
29186
29687
  *
@@ -29533,6 +30034,19 @@ function seasonsSpk(spk, start_unix_us, end_unix_us, step_s, tolerance_s) {
29533
30034
  }
29534
30035
  exports.seasonsSpk = seasonsSpk;
29535
30036
 
30037
+ /**
30038
+ * Seconds elapsed since the beginning of a civil day.
30039
+ * @param {number} hour
30040
+ * @param {number} minute
30041
+ * @param {number} second
30042
+ * @returns {number}
30043
+ */
30044
+ function secondOfDay(hour, minute, second) {
30045
+ const ret = wasm.secondOfDay(hour, minute, second);
30046
+ return ret;
30047
+ }
30048
+ exports.secondOfDay = secondOfDay;
30049
+
29536
30050
  /**
29537
30051
  * Select an IONEX product usable at `requestedEpochJ2000S`, degrading to a
29538
30052
  * diurnal-shifted prior product within `policy`.
@@ -31603,6 +32117,10 @@ function __wbg_get_imports() {
31603
32117
  const ret = BroadcastRecordJs.__wrap(arg0);
31604
32118
  return ret;
31605
32119
  },
32120
+ __wbg_broadcastrecordjs_unwrap: function(arg0) {
32121
+ const ret = BroadcastRecordJs.__unwrap(arg0);
32122
+ return ret;
32123
+ },
31606
32124
  __wbg_call_8a2dd23819f8a60a: function() { return handleError(function (arg0, arg1) {
31607
32125
  const ret = arg0.call(arg1);
31608
32126
  return ret;
@@ -31898,6 +32416,10 @@ function __wbg_get_imports() {
31898
32416
  const ret = SatellitePass.__wrap(arg0);
31899
32417
  return ret;
31900
32418
  },
32419
+ __wbg_sbaslogblock_new: function(arg0) {
32420
+ const ret = SbasLogBlock.__wrap(arg0);
32421
+ return ret;
32422
+ },
31901
32423
  __wbg_set_575dd786d51585f8: function(arg0, arg1, arg2) {
31902
32424
  const ret = arg0.set(arg1, arg2);
31903
32425
  return ret;
@@ -31915,6 +32437,10 @@ function __wbg_get_imports() {
31915
32437
  __wbg_set_name_3bbc583faefa4193: function(arg0, arg1, arg2) {
31916
32438
  arg0.name = getStringFromWasm0(arg1, arg2);
31917
32439
  },
32440
+ __wbg_skippednavblock_new: function(arg0) {
32441
+ const ret = SkippedNavBlock.__wrap(arg0);
32442
+ return ret;
32443
+ },
31918
32444
  __wbg_slipresult_new: function(arg0) {
31919
32445
  const ret = SlipResult.__wrap(arg0);
31920
32446
  return ret;
@@ -32454,6 +32980,9 @@ const ReducedOrbitStateFinalization = (typeof FinalizationRegistry === 'undefine
32454
32980
  const RinexClockFinalization = (typeof FinalizationRegistry === 'undefined')
32455
32981
  ? { register: () => {}, unregister: () => {} }
32456
32982
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexclock_free(ptr, 1));
32983
+ const RinexNavParseFinalization = (typeof FinalizationRegistry === 'undefined')
32984
+ ? { register: () => {}, unregister: () => {} }
32985
+ : new FinalizationRegistry(ptr => wasm.__wbg_rinexnavparse_free(ptr, 1));
32457
32986
  const RinexNavRepairFinalization = (typeof FinalizationRegistry === 'undefined')
32458
32987
  ? { register: () => {}, unregister: () => {} }
32459
32988
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexnavrepair_free(ptr, 1));
@@ -32490,6 +33019,9 @@ const SbasErrorModelFinalization = (typeof FinalizationRegistry === 'undefined')
32490
33019
  const SbasKMultipliersFinalization = (typeof FinalizationRegistry === 'undefined')
32491
33020
  ? { register: () => {}, unregister: () => {} }
32492
33021
  : new FinalizationRegistry(ptr => wasm.__wbg_sbaskmultipliers_free(ptr, 1));
33022
+ const SbasLogBlockFinalization = (typeof FinalizationRegistry === 'undefined')
33023
+ ? { register: () => {}, unregister: () => {} }
33024
+ : new FinalizationRegistry(ptr => wasm.__wbg_sbaslogblock_free(ptr, 1));
32493
33025
  const SbasProtectionFinalization = (typeof FinalizationRegistry === 'undefined')
32494
33026
  ? { register: () => {}, unregister: () => {} }
32495
33027
  : new FinalizationRegistry(ptr => wasm.__wbg_sbasprotection_free(ptr, 1));
@@ -32502,6 +33034,9 @@ const SignalAnalysisModulationFinalization = (typeof FinalizationRegistry === 'u
32502
33034
  const SignalPolicyFinalization = (typeof FinalizationRegistry === 'undefined')
32503
33035
  ? { register: () => {}, unregister: () => {} }
32504
33036
  : new FinalizationRegistry(ptr => wasm.__wbg_signalpolicy_free(ptr, 1));
33037
+ const SkippedNavBlockFinalization = (typeof FinalizationRegistry === 'undefined')
33038
+ ? { register: () => {}, unregister: () => {} }
33039
+ : new FinalizationRegistry(ptr => wasm.__wbg_skippednavblock_free(ptr, 1));
32505
33040
  const SlipResultFinalization = (typeof FinalizationRegistry === 'undefined')
32506
33041
  ? { register: () => {}, unregister: () => {} }
32507
33042
  : new FinalizationRegistry(ptr => wasm.__wbg_slipresult_free(ptr, 1));
Binary file