@springfield/ham-radio-api 17.12.0 → 18.0.0

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.
@@ -3,15 +3,28 @@ import type { AntennaTypeId } from "../antenna/type.js";
3
3
  export declare const MIN_ANTENNA_HEIGHT_AGL_M = 0.5;
4
4
  export declare const MAX_ANTENNA_HEIGHT_AGL_M = 120;
5
5
  /**
6
- * One physical antenna at one station.
6
+ * One physical antenna owned by one station or one radio.
7
7
  *
8
- * The same radiator at two sites is two records. `bands` are ham
9
- * {@link SpectrumBand.wavelength} values, not a second band catalog.
8
+ * A station antenna is installed at a site (`stationId`). A radio antenna is
9
+ * mounted on a saved radio (`radioId`) and moves with it, such as a handheld
10
+ * whip. Exactly one of `stationId` and `radioId` is set. The same radiator
11
+ * on two owners is two records. `bands` are ham {@link SpectrumBand.wavelength}
12
+ * values, not a second band catalog.
13
+ *
14
+ * Height for a radio-mounted antenna is a low figure, about head height,
15
+ * because the site is wherever that radio is operating.
10
16
  */
11
17
  export interface StationAntenna {
12
18
  id: string;
13
- stationId: string;
19
+ /** Site where this antenna is installed. Absent when `radioId` is set. */
20
+ stationId?: string;
21
+ /** Saved radio this antenna is mounted on. Absent when `stationId` is set. */
22
+ radioId?: string;
14
23
  nickname: string;
24
+ /** Free-text maker, such as Nagoya. Omitted when blank. Not a manufacturer catalog. */
25
+ manufacturer?: string;
26
+ /** Free-text model, such as NA-771. Omitted when blank. */
27
+ model?: string;
15
28
  typeId: AntennaTypeId;
16
29
  heightAglM: number;
17
30
  /** True heading of maximum radiation, 0–359. Omitted for omni types. */
@@ -1 +1 @@
1
- {"version":3,"file":"antenna.d.ts","sourceRoot":"","sources":["../../src/station/antenna.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"antenna.d.ts","sourceRoot":"","sources":["../../src/station/antenna.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@springfield/ham-radio-api",
3
- "version": "17.12.0",
3
+ "version": "18.0.0",
4
4
  "author": "Bryan Hunt",
5
5
  "files": [
6
6
  "dist/",
@@ -31,15 +31,15 @@
31
31
  "ts-brand": "^0.2.0"
32
32
  },
33
33
  "devDependencies": {
34
- "@commitlint/cli": "21.2.2",
35
- "@commitlint/config-conventional": "21.2.2",
34
+ "@commitlint/cli": "21.2.3",
35
+ "@commitlint/config-conventional": "21.2.3",
36
36
  "@semantic-release/changelog": "7.0.0",
37
37
  "@semantic-release/git": "11.0.1",
38
38
  "@semantic-release/github": "12.0.9",
39
39
  "@semantic-release/npm": "13.1.5",
40
40
  "husky": "9.1.7",
41
- "oxfmt": "^0.67.0",
42
- "oxlint": "1.82.0",
41
+ "oxfmt": "^0.68.0",
42
+ "oxlint": "1.83.0",
43
43
  "semantic-release": "25.0.9",
44
44
  "typescript": "7.0.2",
45
45
  "vite": "^8.3.0",
@@ -5,15 +5,28 @@ export const MIN_ANTENNA_HEIGHT_AGL_M = 0.5;
5
5
  export const MAX_ANTENNA_HEIGHT_AGL_M = 120;
6
6
 
7
7
  /**
8
- * One physical antenna at one station.
8
+ * One physical antenna owned by one station or one radio.
9
9
  *
10
- * The same radiator at two sites is two records. `bands` are ham
11
- * {@link SpectrumBand.wavelength} values, not a second band catalog.
10
+ * A station antenna is installed at a site (`stationId`). A radio antenna is
11
+ * mounted on a saved radio (`radioId`) and moves with it, such as a handheld
12
+ * whip. Exactly one of `stationId` and `radioId` is set. The same radiator
13
+ * on two owners is two records. `bands` are ham {@link SpectrumBand.wavelength}
14
+ * values, not a second band catalog.
15
+ *
16
+ * Height for a radio-mounted antenna is a low figure, about head height,
17
+ * because the site is wherever that radio is operating.
12
18
  */
13
19
  export interface StationAntenna {
14
20
  id: string;
15
- stationId: string;
21
+ /** Site where this antenna is installed. Absent when `radioId` is set. */
22
+ stationId?: string;
23
+ /** Saved radio this antenna is mounted on. Absent when `stationId` is set. */
24
+ radioId?: string;
16
25
  nickname: string;
26
+ /** Free-text maker, such as Nagoya. Omitted when blank. Not a manufacturer catalog. */
27
+ manufacturer?: string;
28
+ /** Free-text model, such as NA-771. Omitted when blank. */
29
+ model?: string;
17
30
  typeId: AntennaTypeId;
18
31
  heightAglM: number;
19
32
  /** True heading of maximum radiation, 0–359. Omitted for omni types. */