@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.js CHANGED
@@ -209,7 +209,9 @@ var DateTimeUtils = class {
209
209
  const hours = +timeString.substr(0, 2);
210
210
  const minutes = +timeString.substr(2, 2);
211
211
  const seconds = timeString.length === 6 ? +timeString.substr(4, 2) : 0;
212
- const utcDate = new Date(Date.UTC(year, month, day, hours, minutes, seconds));
212
+ const utcDate = new Date(
213
+ Date.UTC(year, month, day, hours, minutes, seconds)
214
+ );
213
215
  return utcDate.toUTCString();
214
216
  }
215
217
  /**
@@ -266,8 +268,9 @@ var DateTimeUtils = class {
266
268
  if (time < 86400) {
267
269
  return date.toISOString().slice(11, 19);
268
270
  }
269
- if (time < 2678400) {
270
- return `YYYY-MM-${date.toISOString().slice(8, 19)}`;
271
+ if (time < 32 * 86400) {
272
+ const day = String(Math.floor(time / 86400)).padStart(2, "0");
273
+ return `YYYY-MM-${day}T${date.toISOString().slice(11, 19)}`;
271
274
  }
272
275
  return date.toISOString().slice(0, -5) + "Z";
273
276
  }
@@ -1113,6 +1116,43 @@ var DecoderPlugin = class {
1113
1116
  }
1114
1117
  };
1115
1118
 
1119
+ // lib/plugins/Lib_ACARS.ts
1120
+ var LibAcars = class extends DecoderPlugin {
1121
+ name = "libacars";
1122
+ qualifiers() {
1123
+ return {
1124
+ labels: ["*"],
1125
+ preambles: ["- #"]
1126
+ };
1127
+ }
1128
+ decode(message, options = {}) {
1129
+ const text = message.text;
1130
+ const prefix = message.text.slice(0, 5);
1131
+ const decoded = this.decoder.decode(
1132
+ {
1133
+ label: message.label,
1134
+ sublabel: message.sublabel,
1135
+ text: text.replaceAll(prefix, "")
1136
+ // Remove the prefix before decoding
1137
+ },
1138
+ options
1139
+ );
1140
+ const decodeResult = this.defaultResult();
1141
+ decodeResult.decoder.name = this.name;
1142
+ decodeResult.message = message;
1143
+ if (decoded.decoded) {
1144
+ decodeResult.decoded = true;
1145
+ decodeResult.decoder.decodeLevel = decoded.decoder.decodeLevel;
1146
+ decodeResult.decoder.name = this.name + "-" + decoded.decoder.name;
1147
+ decodeResult.raw = { ...decodeResult.raw, ...decoded.raw };
1148
+ decodeResult.formatted.description = decoded.formatted.description;
1149
+ decodeResult.formatted.items.push(...decoded.formatted.items);
1150
+ decodeResult.remaining = decoded.remaining;
1151
+ }
1152
+ return decodeResult;
1153
+ }
1154
+ };
1155
+
1116
1156
  // lib/plugins/CBand.ts
1117
1157
  var CBAND_HEADER = /^(?<msgno>[A-Z]\d{2}[A-Z])(?<airline>[A-Z0-9]{2})(?<number>[0-9]{4})/;
1118
1158
  var CBand = class extends DecoderPlugin {
@@ -1953,7 +1993,7 @@ var Arinc702 = class extends DecoderPlugin {
1953
1993
  }
1954
1994
  const hashParts = msg.split("#");
1955
1995
  if (hashParts.length == 2) {
1956
- const offset = hashParts[0] === "- " || isNaN(parseInt(hashParts[1][1])) ? 3 : 4;
1996
+ const offset = isNaN(parseInt(hashParts[1][1])) ? 3 : 4;
1957
1997
  decoded = Arinc702Helper.decodeH1Message(
1958
1998
  decodeResult,
1959
1999
  msg.slice(hashParts[0].length + offset)
@@ -6771,6 +6811,7 @@ var Label_QQ = class extends DecoderPlugin {
6771
6811
  // lib/MessageDecoder.ts
6772
6812
  var pluginClasses = [
6773
6813
  CBand,
6814
+ LibAcars,
6774
6815
  Arinc702,
6775
6816
  Label_ColonComma,
6776
6817
  Label_5Z_Slash,