Sign In

@squawk/types

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@squawk/types - npm Package Compare versions

Comparing version
0.7.2
to
0.8.0
+20
-0
dist/airport.d.ts

@@ -6,2 +6,22 @@ /**

/**
* The full set of {@link FacilityType} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by facility type) or with {@link isFacilityType} to
* narrow an external string into the union. The `as const satisfies` brand
* keeps this array in sync with the type at compile time.
*/
export declare const FACILITY_TYPES: readonly ["AIRPORT", "HELIPORT", "SEAPLANE_BASE", "GLIDERPORT", "ULTRALIGHT", "BALLOONPORT"];
/**
* Type guard that narrows a string to {@link FacilityType} when it matches a
* member of {@link FACILITY_TYPES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as a facility type.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `FacilityType`.
*/
export declare function isFacilityType(value: string): value is FacilityType;
/**
* Maps FAA SITE_TYPE_CODE values to FacilityType.

@@ -8,0 +28,0 @@ */

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"airport.d.ts","sourceRoot":"","sources":["../src/airport.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"airport.d.ts","sourceRoot":"","sources":["../src/airport.ts"],"names":[],"mappings":"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"}
/**
* The full set of {@link FacilityType} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by facility type) or with {@link isFacilityType} to
* narrow an external string into the union. The `as const satisfies` brand
* keeps this array in sync with the type at compile time.
*/
export const FACILITY_TYPES = [
'AIRPORT',
'HELIPORT',
'SEAPLANE_BASE',
'GLIDERPORT',
'ULTRALIGHT',
'BALLOONPORT',
];
const FACILITY_TYPE_SET = new Set(FACILITY_TYPES);
/**
* Type guard that narrows a string to {@link FacilityType} when it matches a
* member of {@link FACILITY_TYPES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as a facility type.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `FacilityType`.
*/
export function isFacilityType(value) {
return FACILITY_TYPE_SET.has(value);
}
/**
* Maps FAA SITE_TYPE_CODE values to FacilityType.

@@ -3,0 +33,0 @@ */

@@ -44,2 +44,23 @@ import type { Polygon } from 'geojson';

/**
* The full set of {@link AirspaceType} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by airspace type) or with {@link isAirspaceType} to
* narrow an external string into the union. The `as const satisfies` brand
* keeps this array in sync with the type at compile time - adding a new
* union member without updating the array fails the build.
*/
export declare const AIRSPACE_TYPES: readonly ["CLASS_B", "CLASS_C", "CLASS_D", "CLASS_E2", "CLASS_E3", "CLASS_E4", "CLASS_E5", "CLASS_E6", "CLASS_E7", "MOA", "RESTRICTED", "PROHIBITED", "WARNING", "ALERT", "NSA", "ARTCC"];
/**
* Type guard that narrows a string to {@link AirspaceType} when it matches a
* member of {@link AIRSPACE_TYPES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as an airspace type.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `AirspaceType`.
*/
export declare function isAirspaceType(value: string): value is AirspaceType;
/**
* The boundary stratum of an ARTCC feature, derived from NASR ARB_SEG

@@ -64,2 +85,24 @@ * `ALTITUDE` and `TYPE` columns.

/**
* The full set of {@link ArtccStratum} values, in declaration order.
*
* Use as the single source of truth for value-side iteration over ARTCC
* stratum kinds (e.g. building a lookup table keyed by stratum) or with
* {@link isArtccStratum} to narrow an external string into the union. The
* `as const satisfies` brand keeps this array in sync with the type at
* compile time.
*/
export declare const ARTCC_STRATA: readonly ["LOW", "HIGH", "UTA", "CTA", "FIR", "CTA/FIR"];
/**
* Type guard that narrows a string to {@link ArtccStratum} when it matches a
* member of {@link ARTCC_STRATA}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as an ARTCC stratum
* filter.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `ArtccStratum`.
*/
export declare function isArtccStratum(value: string): value is ArtccStratum;
/**
* A single airspace designation feature derived from FAA NASR data.

@@ -66,0 +109,0 @@ *

@@ -1,1 +0,1 @@

{"version":3,"file":"airspace.d.ts","sourceRoot":"","sources":["../src/airspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,KAAK,GACL,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,OAAO,GACP,KAAK,GACL,OAAO,CAAC;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,IAAI,EAAE,YAAY,CAAC;IACnB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,KAAK,EAAE,aAAa,CAAC;IACrB,4CAA4C;IAC5C,OAAO,EAAE,aAAa,CAAC;IACvB,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;OAKG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC"}
{"version":3,"file":"airspace.d.ts","sourceRoot":"","sources":["../src/airspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,KAAK,GACL,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,OAAO,GACP,KAAK,GACL,OAAO,CAAC;AAEZ;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,2LAiBiB,CAAC;AAI7C;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AAE9E;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,0DAOmB,CAAC;AAI7C;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,IAAI,EAAE,YAAY,CAAC;IACnB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,KAAK,EAAE,aAAa,CAAC;IACrB,4CAA4C;IAC5C,OAAO,EAAE,aAAa,CAAC;IACvB,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;OAKG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC;;;;;OAKG;IACH,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC"}

@@ -1,1 +0,73 @@

export {};
/**
* The full set of {@link AirspaceType} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by airspace type) or with {@link isAirspaceType} to
* narrow an external string into the union. The `as const satisfies` brand
* keeps this array in sync with the type at compile time - adding a new
* union member without updating the array fails the build.
*/
export const AIRSPACE_TYPES = [
'CLASS_B',
'CLASS_C',
'CLASS_D',
'CLASS_E2',
'CLASS_E3',
'CLASS_E4',
'CLASS_E5',
'CLASS_E6',
'CLASS_E7',
'MOA',
'RESTRICTED',
'PROHIBITED',
'WARNING',
'ALERT',
'NSA',
'ARTCC',
];
const AIRSPACE_TYPE_SET = new Set(AIRSPACE_TYPES);
/**
* Type guard that narrows a string to {@link AirspaceType} when it matches a
* member of {@link AIRSPACE_TYPES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as an airspace type.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `AirspaceType`.
*/
export function isAirspaceType(value) {
return AIRSPACE_TYPE_SET.has(value);
}
/**
* The full set of {@link ArtccStratum} values, in declaration order.
*
* Use as the single source of truth for value-side iteration over ARTCC
* stratum kinds (e.g. building a lookup table keyed by stratum) or with
* {@link isArtccStratum} to narrow an external string into the union. The
* `as const satisfies` brand keeps this array in sync with the type at
* compile time.
*/
export const ARTCC_STRATA = [
'LOW',
'HIGH',
'UTA',
'CTA',
'FIR',
'CTA/FIR',
];
const ARTCC_STRATUM_SET = new Set(ARTCC_STRATA);
/**
* Type guard that narrows a string to {@link ArtccStratum} when it matches a
* member of {@link ARTCC_STRATA}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as an ARTCC stratum
* filter.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `ArtccStratum`.
*/
export function isArtccStratum(value) {
return ARTCC_STRATUM_SET.has(value);
}

@@ -19,2 +19,22 @@ /**

/**
* The full set of {@link AirwayType} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by airway type) or with {@link isAirwayType} to narrow
* an external string into the union. The `as const satisfies` brand keeps
* this array in sync with the type at compile time.
*/
export declare const AIRWAY_TYPES: readonly ["VICTOR", "JET", "RNAV_Q", "RNAV_T", "GREEN", "RED", "AMBER", "BLUE", "ATLANTIC", "BAHAMA", "PACIFIC", "PUERTO_RICO"];
/**
* Type guard that narrows a string to {@link AirwayType} when it matches a
* member of {@link AIRWAY_TYPES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as an airway type.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `AirwayType`.
*/
export declare function isAirwayType(value: string): value is AirwayType;
/**
* Maps the first character of an AWY.txt airway designation to its AirwayType.

@@ -21,0 +41,0 @@ */

@@ -1,1 +0,1 @@

{"version":3,"file":"airway.d.ts","sourceRoot":"","sources":["../src/airway.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"airway.d.ts","sourceRoot":"","sources":["../src/airway.ts"],"names":[],"mappings":"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"}
/**
* The full set of {@link AirwayType} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by airway type) or with {@link isAirwayType} to narrow
* an external string into the union. The `as const satisfies` brand keeps
* this array in sync with the type at compile time.
*/
export const AIRWAY_TYPES = [
'VICTOR',
'JET',
'RNAV_Q',
'RNAV_T',
'GREEN',
'RED',
'AMBER',
'BLUE',
'ATLANTIC',
'BAHAMA',
'PACIFIC',
'PUERTO_RICO',
];
const AIRWAY_TYPE_SET = new Set(AIRWAY_TYPES);
/**
* Type guard that narrows a string to {@link AirwayType} when it matches a
* member of {@link AIRWAY_TYPES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as an airway type.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `AirwayType`.
*/
export function isAirwayType(value) {
return AIRWAY_TYPE_SET.has(value);
}
/**
* Maps the first character of an AWY.txt airway designation to its AirwayType.

@@ -3,0 +39,0 @@ */

@@ -15,2 +15,22 @@ /**

/**
* The full set of {@link FixUseCode} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by use code) or with {@link isFixUseCode} to narrow an
* external string into the union. The `as const satisfies` brand keeps this
* array in sync with the type at compile time.
*/
export declare const FIX_USE_CODES: readonly ["WP", "RP", "MW", "MR", "CN", "VFR", "NRS", "RADAR"];
/**
* Type guard that narrows a string to {@link FixUseCode} when it matches a
* member of {@link FIX_USE_CODES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as a fix use code.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `FixUseCode`.
*/
export declare function isFixUseCode(value: string): value is FixUseCode;
/**
* Maps FAA FIX_USE_CODE values from NASR data to FixUseCode.

@@ -17,0 +37,0 @@ * FAA values may have trailing whitespace so trimmed values are mapped here.

@@ -1,1 +0,1 @@

{"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../src/fix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAEpF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CASvD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAI5D,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG;IAClB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,OAAO,EAAE,UAAU,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uDAAuD;IACvD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mFAAmF;IACnF,kBAAkB,EAAE,oBAAoB,EAAE,CAAC;CAC5C"}
{"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../src/fix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAEpF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,gEASgB,CAAC;AAI3C;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CASvD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAI5D,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG;IAClB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,OAAO,EAAE,UAAU,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uDAAuD;IACvD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iFAAiF;IACjF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mFAAmF;IACnF,kBAAkB,EAAE,oBAAoB,EAAE,CAAC;CAC5C"}
/**
* The full set of {@link FixUseCode} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by use code) or with {@link isFixUseCode} to narrow an
* external string into the union. The `as const satisfies` brand keeps this
* array in sync with the type at compile time.
*/
export const FIX_USE_CODES = [
'WP',
'RP',
'MW',
'MR',
'CN',
'VFR',
'NRS',
'RADAR',
];
const FIX_USE_CODE_SET = new Set(FIX_USE_CODES);
/**
* Type guard that narrows a string to {@link FixUseCode} when it matches a
* member of {@link FIX_USE_CODES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as a fix use code.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `FixUseCode`.
*/
export function isFixUseCode(value) {
return FIX_USE_CODE_SET.has(value);
}
/**
* Maps FAA FIX_USE_CODE values from NASR data to FixUseCode.

@@ -3,0 +35,0 @@ * FAA values may have trailing whitespace so trimmed values are mapped here.

@@ -6,2 +6,22 @@ /**

/**
* The full set of {@link NavaidType} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by navaid type) or with {@link isNavaidType} to narrow
* an external string into the union. The `as const satisfies` brand keeps
* this array in sync with the type at compile time.
*/
export declare const NAVAID_TYPES: readonly ["VOR", "VORTAC", "VOR/DME", "TACAN", "DME", "NDB", "NDB/DME", "FAN_MARKER", "MARINE_NDB", "VOT"];
/**
* Type guard that narrows a string to {@link NavaidType} when it matches a
* member of {@link NAVAID_TYPES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as a navaid type.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `NavaidType`.
*/
export declare function isNavaidType(value: string): value is NavaidType;
/**
* Maps FAA NAV_TYPE values from NASR data to NavaidType.

@@ -8,0 +28,0 @@ */

@@ -1,1 +0,1 @@

{"version":3,"file":"navaid.d.ts","sourceRoot":"","sources":["../src/navaid.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,QAAQ,GACR,SAAS,GACT,OAAO,GACP,KAAK,GACL,KAAK,GACL,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,KAAK,CAAC;AAEV;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAWtD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,wBAAwB,GACxB,iBAAiB,GACjB,UAAU,CAAC;AAEf;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAK1D,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,wCAAwC;IACxC,MAAM,EAAE,YAAY,CAAC;IACrB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iDAAiD;IACjD,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
{"version":3,"file":"navaid.d.ts","sourceRoot":"","sources":["../src/navaid.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,QAAQ,GACR,SAAS,GACT,OAAO,GACP,KAAK,GACL,KAAK,GACL,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,KAAK,CAAC;AAEV;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,4GAWiB,CAAC;AAI3C;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAWtD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,wBAAwB,GACxB,iBAAiB,GACjB,UAAU,CAAC;AAEf;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAK1D,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,wCAAwC;IACxC,MAAM,EAAE,YAAY,CAAC;IACrB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iDAAiD;IACjD,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
/**
* The full set of {@link NavaidType} values, in declaration order.
*
* Use as the single source of truth for value-side iteration (e.g. building a
* lookup table keyed by navaid type) or with {@link isNavaidType} to narrow
* an external string into the union. The `as const satisfies` brand keeps
* this array in sync with the type at compile time.
*/
export const NAVAID_TYPES = [
'VOR',
'VORTAC',
'VOR/DME',
'TACAN',
'DME',
'NDB',
'NDB/DME',
'FAN_MARKER',
'MARINE_NDB',
'VOT',
];
const NAVAID_TYPE_SET = new Set(NAVAID_TYPES);
/**
* Type guard that narrows a string to {@link NavaidType} when it matches a
* member of {@link NAVAID_TYPES}.
*
* Useful when consuming external strings (URL params, config files, MCP tool
* inputs) that should be validated before being used as a navaid type.
*
* @param value - The string to test.
* @returns `true` if `value` is a valid `NavaidType`.
*/
export function isNavaidType(value) {
return NAVAID_TYPE_SET.has(value);
}
/**
* Maps FAA NAV_TYPE values from NASR data to NavaidType.

@@ -3,0 +37,0 @@ */

{
"name": "@squawk/types",
"version": "0.7.2",
"version": "0.8.0",
"type": "module",

@@ -32,2 +32,4 @@ "description": "Shared TypeScript type definitions for the @squawk aviation libraries",

"build": "tsc",
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"lint": "tsc --noEmit && eslint src",

@@ -34,0 +36,0 @@ "lint:pack": "publint && attw --pack . --profile esm-only"

@@ -5,3 +5,3 @@ <h1><img src="../../../assets/squawk-logo.svg" alt="squawk logo" width="48" height="48" style="vertical-align: middle">&nbsp; @squawk/types</h1>

Shared TypeScript type definitions used across multiple `@squawk` packages. Contains types for core domain models that cross the logic/data/build-script boundary: aircraft, position, airports, navaids, fixes, airways, procedures, airspace, and flight-math results.
Shared TypeScript type definitions used across multiple `@squawk` packages. Contains types for core domain models that cross the logic/data/build-script boundary: aircraft, position, airports, navaids, fixes, airways, procedures, airspace, and aircraft registration.

@@ -30,1 +30,45 @@ Domain-specific types that are produced and consumed by a single package live in that package instead:

All types are re-exported from the package root. See the [documentation](https://neilcochran.github.io/squawk/modules/_squawk_types.html) for the full reference.
## Exported types by domain
| Domain | Types |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Aircraft (ADS-B) | `Aircraft`, `AircraftCategory` |
| Position | `Position`, `Coordinates` |
| Airport | `Airport`, `Runway`, `RunwayEnd`, `IlsSystem`, `AirportFrequency`, `FacilityType`, `OwnershipType`, `FacilityUseType`, `FacilityStatus`, `SurfaceCondition`, `SurfaceTreatment`, `RunwayLighting`, `RunwayMarkingType`, `RunwayMarkingCondition`, `VgsiType`, `IlsCategory`, `IlsSystemType` |
| Navaid | `Navaid`, `NavaidType`, `NavaidStatus` |
| Fix | `Fix`, `FixUseCode`, `FixCompulsory`, `FixNavaidAssociation` |
| Airway | `Airway`, `AirwayWaypoint`, `AirwayType`, `AirwayRegion`, `AirwayWaypointType` |
| Airspace | `AirspaceFeature`, `AirspaceType`, `ArtccStratum`, `AltitudeBound`, `AltitudeReference` |
| Procedure | `Procedure`, `ProcedureType`, `ApproachType`, `ProcedureLeg`, `ProcedureLegPathTerminator`, `ProcedureLegFixCategory`, `ProcedureTransition`, `ProcedureCommonRoute`, `MissedApproachSequence`, `AltitudeConstraint`, `AltitudeConstraintDescriptor`, `SpeedConstraint`, `SpeedConstraintDescriptor`, `TurnDirection` |
| Aircraft registration | `AircraftRegistration`, `AircraftType`, `EngineType` |
The package also re-exports source-code lookup maps (`FACILITY_TYPE_MAP`, `NAVAID_TYPE_MAP`, `AWY_TYPE_MAP`, `ATS_TYPE_MAP`, `AIRWAY_REGION_MAP`, `FIX_USE_CODE_MAP`, `FIX_COMPULSORY_MAP`, `NAVAID_STATUS_MAP`, `ILS_CATEGORY_MAP`, `ILS_SYSTEM_TYPE_MAP`) used by the FAA NASR build pipelines to translate raw source-data values to the typed unions above. See the [TypeDoc reference](https://neilcochran.github.io/squawk/modules/_squawk_types.html) for full per-type signatures and field-level documentation.
## Type guards
For the user-facing string-literal union types - the ones that flow in from URL params, config files, or MCP tool inputs - the package ships an `is<Name>` predicate paired with a `<NAME>S` const array as the single source of truth. Use the predicate to narrow an external string into the union without hand-rolling the membership list per consumer; use the const array as the value-side iteration target (e.g. building a lookup table keyed by the union):
```ts
import {
AIRSPACE_TYPES,
ARTCC_STRATA,
FACILITY_TYPES,
AIRWAY_TYPES,
NAVAID_TYPES,
FIX_USE_CODES,
isAirspaceType,
isArtccStratum,
isFacilityType,
isAirwayType,
isNavaidType,
isFixUseCode,
} from '@squawk/types';
const raw = new URLSearchParams(window.location.search).get('type') ?? '';
if (isAirspaceType(raw)) {
// raw is now narrowed to AirspaceType
}
```
The arrays are branded with `as const satisfies readonly <Type>[]`, so adding a new union member without updating the array fails the build.