Sign In

@squawk/notams

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Package version was removed
This package version has been unpublished, mostly likely due to security reasons
This package has malicious versions linked to the ongoing "Mini Shai-Hulud" supply chain attack.

Affected versions:

0.3.60.3.70.3.8
+2 more
View campaign page

@squawk/notams

Parse raw ICAO-format NOTAM strings into fully typed, structured objects

unpublished
Source
npmnpm
Version
0.3.8
Version published
Weekly downloads
23
-61.67%
Maintainers
1
Weekly downloads
 
Created
Source

squawk logo  @squawk/notams

MIT License npm TypeScript

Pure parsing library for NOTAM (Notice to Air Missions) strings. Supports both ICAO-format and FAA domestic (legacy) format NOTAMs. Parses raw NOTAMs into fully typed, structured objects. Contains no network calls or data fetching - consumers provide raw NOTAM strings however they obtain them (FAA NOTAM API, ICAO API, local feed, file dump) and the package returns structured results.

Part of the @squawk aviation library suite. See all packages on npm.

Usage

import { parseNotam } from '@squawk/notams';

const notam = parseNotam(
  'A1242/24 NOTAMN\n' +
    'Q) EGLL/QMRLC/IV/NBO/A/000/999/5129N00028W005\n' +
    'A) EGLL\n' +
    'B) 2404201400\n' +
    'C) 2404202200\n' +
    'E) RWY 09L/27R CLSD DUE TO RESURFACING CONSTRUCTION\n' +
    'F) SFC\n' +
    'G) UNL',
);

console.log(notam.id); // "A1242/24"
console.log(notam.action); // "NEW"
console.log(notam.qualifier?.fir); // "EGLL"
console.log(notam.qualifier?.subjectCode); // "MR"
console.log(notam.qualifier?.conditionCode); // "LC"
console.log(notam.locationCodes); // ["EGLL"]
console.log(notam.text); // "RWY 09L/27R CLSD DUE TO RESURFACING CONSTRUCTION"
console.log(notam.effectiveFrom); // { year: 24, month: 4, day: 20, hour: 14, minute: 0 }
console.log(notam.lowerLimit); // "SFC"
console.log(notam.upperLimit); // "UNL"

API

parseNotam(raw)

Parses a raw ICAO-format NOTAM string into a structured Notam object. Handles NOTAMN (new), NOTAMR (replacement), and NOTAMC (cancellation) action types. Parses the Q-line qualifier and items A through G:

  • Q-line - FIR, NOTAM code (subject + condition), traffic type, purpose, scope, altitude limits, center coordinates and radius
  • Item A - Affected location ICAO code
  • Item B - Start of effective period (YYMMDDHHmm UTC)
  • Item C - End of effective period, PERM (permanent), or EST (estimated)
  • Item D - Schedule for intermittent activity (e.g. "MON-FRI 0700-1600")
  • Item E - Free-text description of the condition or hazard
  • Item F - Lower altitude limit (e.g. "SFC", "FL050")
  • Item G - Upper altitude limit (e.g. "UNL", "FL180")

Accepts both multi-line and single-line NOTAM input. Gracefully handles NOTAMs without a Q-line when items A through E are present.

parseFaaNotam(raw)

Parses a raw FAA domestic (legacy) NOTAM string into a structured FaaNotam object. FAA domestic NOTAMs use a keyword-prefixed body format (RWY, TWY, OBST, AD, etc.) rather than the ICAO Q-line + items A through G structure. The recognized keywords are enumerated by the FaaNotamKeyword type.

Types

This package exports all NOTAM-related type definitions directly. Import types from @squawk/notams rather than @squawk/types:

import type { Notam, NotamQualifier, FaaNotam, FaaNotamKeyword } from '@squawk/notams';

Keywords

aviation

FAQs

Package last updated on 11 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts