@airframes/acars-decoder 1.8.14 → 1.9.1

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/License.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Airframes contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,17 +1,7 @@
1
- # Node.js Support Policy
2
-
3
- - Runtime support: Node.js >= 18
4
- - Development and CI: validated on Node 18.x, 20.x, 22.x, and 24.x
5
- - TypeScript development uses the latest stable Node types (currently v24) without forcing consumers to use a specific Node types version, since `@types/node` is a devDependency.
6
- - The published builds are compiled targeting Node 18 runtime via `tsup` so they remain compatible across supported Node versions.
7
-
8
- # @airframes/acars-decoder
9
-
10
- This is a no-op documentation tweak to verify repository access, build/lint, tests, and PR workflow. No functional code changes are included.
11
-
12
1
  # acars-decoder-typescript
13
2
 
14
3
  [![NPM Version](https://badge.fury.io/js/@airframes%2Facars-decoder.svg)](https://badge.fury.io/js/@airframes%2Facars-decoder)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./License.md)
15
5
  [![GitHub Actions Workflow Status](https://github.com/airframesio/acars-decoder-typescript/actions/workflows/yarn-test.yml/badge.svg)
16
6
  ](https://github.com/airframesio/acars-decoder-typescript/actions/workflows/yarn-test.yml)
17
7
  ![CodeRabbit Pull Request Reviews](https://img.shields.io/coderabbit/prs/github/airframesio/acars-decoder-typescript?utm_source=oss&utm_medium=github&utm_campaign=airframesio%2Facars-decoder-typescript&labelColor=171717&color=FF570A&link=https%3A%2F%2Fcoderabbit.ai&label=CodeRabbit+Reviews)
@@ -27,6 +17,13 @@ It has been written in TypeScript (which compiles to Javascript) and is publishe
27
17
 
28
18
  You are welcome to contribute (please see https://github.com/airframesio/acars-message-documentation where we collaborate to research and document the various types of messages), and while it was primarily developed to power [Airframes](https://app.airframes.io) and [AcarsHub](https://sdr-e.com/docker-acarshub), you may use this library in your own applications freely.
29
19
 
20
+ # Node.js Support Policy
21
+
22
+ - Runtime support: Node.js >= 18
23
+ - Development and CI: validated on Node 18.x, 20.x, 22.x, and 24.x
24
+ - TypeScript development uses the latest stable Node types (currently v24) without forcing consumers to use a specific Node types version, since `@types/node` is a devDependency.
25
+ - The published builds are compiled targeting Node 18 runtime via `tsup` so they remain compatible across supported Node versions.
26
+
30
27
  # Installation
31
28
 
32
29
  Add the `@airframes/acars-decoder` library to your JavaScript or TypeScript project.
package/dist/index.d.mts CHANGED
@@ -205,13 +205,16 @@ declare class MessageDecoder {
205
205
  name: string;
206
206
  plugins: Array<DecoderPluginInterface>;
207
207
  debug: boolean;
208
- /** Maps a label string to the plugins registered for it, preserving registration order. */
209
- private labelIndex;
210
- /** Plugins that match all labels (qualifier label '*'). */
211
- private wildcardPlugins;
208
+ /** Maps a label string to the candidate entries (wildcard + label-specific) in registration order. */
209
+ private candidatesByLabel;
210
+ /** Wildcard entries (plugins that register the '*' label). */
211
+ private wildcardEntries;
212
+ /** Membership set for wildcard entries to dedupe when a plugin also registers a specific label. */
213
+ private wildcardSet;
212
214
  constructor();
213
215
  registerPlugin(plugin: DecoderPluginInterface): boolean;
214
216
  decode(message: Message, options?: Options): DecodeResult;
217
+ private matchesPreambles;
215
218
  }
216
219
 
217
220
  export { IcaoDecoder, MessageDecoder };
package/dist/index.d.ts CHANGED
@@ -205,13 +205,16 @@ declare class MessageDecoder {
205
205
  name: string;
206
206
  plugins: Array<DecoderPluginInterface>;
207
207
  debug: boolean;
208
- /** Maps a label string to the plugins registered for it, preserving registration order. */
209
- private labelIndex;
210
- /** Plugins that match all labels (qualifier label '*'). */
211
- private wildcardPlugins;
208
+ /** Maps a label string to the candidate entries (wildcard + label-specific) in registration order. */
209
+ private candidatesByLabel;
210
+ /** Wildcard entries (plugins that register the '*' label). */
211
+ private wildcardEntries;
212
+ /** Membership set for wildcard entries to dedupe when a plugin also registers a specific label. */
213
+ private wildcardSet;
212
214
  constructor();
213
215
  registerPlugin(plugin: DecoderPluginInterface): boolean;
214
216
  decode(message: Message, options?: Options): DecodeResult;
217
+ private matchesPreambles;
215
218
  }
216
219
 
217
220
  export { IcaoDecoder, MessageDecoder };