@airframes/acars-decoder 1.9.2 → 1.9.3

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/dist/index.mjs CHANGED
@@ -172,7 +172,9 @@ var DateTimeUtils = class {
172
172
  const hours = +timeString.substr(0, 2);
173
173
  const minutes = +timeString.substr(2, 2);
174
174
  const seconds = timeString.length === 6 ? +timeString.substr(4, 2) : 0;
175
- const utcDate = new Date(Date.UTC(year, month, day, hours, minutes, seconds));
175
+ const utcDate = new Date(
176
+ Date.UTC(year, month, day, hours, minutes, seconds)
177
+ );
176
178
  return utcDate.toUTCString();
177
179
  }
178
180
  /**
@@ -229,8 +231,9 @@ var DateTimeUtils = class {
229
231
  if (time < 86400) {
230
232
  return date.toISOString().slice(11, 19);
231
233
  }
232
- if (time < 2678400) {
233
- return `YYYY-MM-${date.toISOString().slice(8, 19)}`;
234
+ if (time < 32 * 86400) {
235
+ const day = String(Math.floor(time / 86400)).padStart(2, "0");
236
+ return `YYYY-MM-${day}T${date.toISOString().slice(11, 19)}`;
234
237
  }
235
238
  return date.toISOString().slice(0, -5) + "Z";
236
239
  }
@@ -1076,6 +1079,43 @@ var DecoderPlugin = class {
1076
1079
  }
1077
1080
  };
1078
1081
 
1082
+ // lib/plugins/Lib_ACARS.ts
1083
+ var LibAcars = class extends DecoderPlugin {
1084
+ name = "libacars";
1085
+ qualifiers() {
1086
+ return {
1087
+ labels: ["*"],
1088
+ preambles: ["- #"]
1089
+ };
1090
+ }
1091
+ decode(message, options = {}) {
1092
+ const text = message.text;
1093
+ const prefix = message.text.slice(0, 5);
1094
+ const decoded = this.decoder.decode(
1095
+ {
1096
+ label: message.label,
1097
+ sublabel: message.sublabel,
1098
+ text: text.replaceAll(prefix, "")
1099
+ // Remove the prefix before decoding
1100
+ },
1101
+ options
1102
+ );
1103
+ const decodeResult = this.defaultResult();
1104
+ decodeResult.decoder.name = this.name;
1105
+ decodeResult.message = message;
1106
+ if (decoded.decoded) {
1107
+ decodeResult.decoded = true;
1108
+ decodeResult.decoder.decodeLevel = decoded.decoder.decodeLevel;
1109
+ decodeResult.decoder.name = this.name + "-" + decoded.decoder.name;
1110
+ decodeResult.raw = { ...decodeResult.raw, ...decoded.raw };
1111
+ decodeResult.formatted.description = decoded.formatted.description;
1112
+ decodeResult.formatted.items.push(...decoded.formatted.items);
1113
+ decodeResult.remaining = decoded.remaining;
1114
+ }
1115
+ return decodeResult;
1116
+ }
1117
+ };
1118
+
1079
1119
  // lib/plugins/CBand.ts
1080
1120
  var CBAND_HEADER = /^(?<msgno>[A-Z]\d{2}[A-Z])(?<airline>[A-Z0-9]{2})(?<number>[0-9]{4})/;
1081
1121
  var CBand = class extends DecoderPlugin {
@@ -1916,7 +1956,7 @@ var Arinc702 = class extends DecoderPlugin {
1916
1956
  }
1917
1957
  const hashParts = msg.split("#");
1918
1958
  if (hashParts.length == 2) {
1919
- const offset = hashParts[0] === "- " || isNaN(parseInt(hashParts[1][1])) ? 3 : 4;
1959
+ const offset = isNaN(parseInt(hashParts[1][1])) ? 3 : 4;
1920
1960
  decoded = Arinc702Helper.decodeH1Message(
1921
1961
  decodeResult,
1922
1962
  msg.slice(hashParts[0].length + offset)
@@ -6734,6 +6774,7 @@ var Label_QQ = class extends DecoderPlugin {
6734
6774
  // lib/MessageDecoder.ts
6735
6775
  var pluginClasses = [
6736
6776
  CBand,
6777
+ LibAcars,
6737
6778
  Arinc702,
6738
6779
  Label_ColonComma,
6739
6780
  Label_5Z_Slash,