@springfield/ham-radio-api 2.0.0 → 4.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.
- package/CHANGELOG.md +28 -0
- package/dist/branded-types/frequency.d.ts +4 -0
- package/dist/branded-types/frequency.d.ts.map +1 -0
- package/dist/branded-types/frequency.js +3 -0
- package/dist/branded-types/frequency.js.map +1 -0
- package/dist/branded-types/license-class-id.d.ts +4 -0
- package/dist/branded-types/license-class-id.d.ts.map +1 -0
- package/dist/branded-types/license-class-id.js +3 -0
- package/dist/branded-types/license-class-id.js.map +1 -0
- package/dist/branded-types/radio-channel-id.d.ts +4 -0
- package/dist/branded-types/radio-channel-id.d.ts.map +1 -0
- package/dist/branded-types/radio-channel-id.js +3 -0
- package/dist/branded-types/radio-channel-id.js.map +1 -0
- package/dist/branded-types/radio-id.d.ts +4 -0
- package/dist/branded-types/radio-id.d.ts.map +1 -0
- package/dist/branded-types/radio-id.js +3 -0
- package/dist/branded-types/radio-id.js.map +1 -0
- package/dist/branded-types/radio-model-id.d.ts +4 -0
- package/dist/branded-types/radio-model-id.d.ts.map +1 -0
- package/dist/branded-types/radio-model-id.js +3 -0
- package/dist/branded-types/radio-model-id.js.map +1 -0
- package/dist/branded-types/radio-module-id.d.ts +4 -0
- package/dist/branded-types/radio-module-id.d.ts.map +1 -0
- package/dist/branded-types/radio-module-id.js +3 -0
- package/dist/branded-types/radio-module-id.js.map +1 -0
- package/dist/branded-types/spectrum-band-id.d.ts +4 -0
- package/dist/branded-types/spectrum-band-id.d.ts.map +1 -0
- package/dist/branded-types/spectrum-band-id.js +3 -0
- package/dist/branded-types/spectrum-band-id.js.map +1 -0
- package/dist/branded-types/spectrum-mode-id.d.ts +4 -0
- package/dist/branded-types/spectrum-mode-id.d.ts.map +1 -0
- package/dist/branded-types/spectrum-mode-id.js +3 -0
- package/dist/branded-types/spectrum-mode-id.js.map +1 -0
- package/dist/branded-types/spectrum-privlege-id.d.ts +4 -0
- package/dist/branded-types/spectrum-privlege-id.d.ts.map +1 -0
- package/dist/branded-types/spectrum-privlege-id.js +3 -0
- package/dist/branded-types/spectrum-privlege-id.js.map +1 -0
- package/dist/branded-types/wavelength.d.ts +4 -0
- package/dist/branded-types/wavelength.d.ts.map +1 -0
- package/dist/branded-types/wavelength.js +3 -0
- package/dist/branded-types/wavelength.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/license/class.d.ts +2 -1
- package/dist/license/class.d.ts.map +1 -1
- package/dist/license/class.js.map +1 -1
- package/dist/radio/channel.d.ts +5 -3
- package/dist/radio/channel.d.ts.map +1 -1
- package/dist/radio/channel.js.map +1 -1
- package/dist/radio/connection.d.ts +2 -1
- package/dist/radio/connection.d.ts.map +1 -1
- package/dist/radio/connection.js.map +1 -1
- package/dist/radio/ctcss.d.ts +41 -0
- package/dist/radio/ctcss.d.ts.map +1 -0
- package/dist/radio/ctcss.js +42 -0
- package/dist/radio/ctcss.js.map +1 -0
- package/dist/radio/dcs.d.ts +32 -0
- package/dist/radio/dcs.d.ts.map +1 -0
- package/dist/radio/dcs.js +33 -0
- package/dist/radio/dcs.js.map +1 -0
- package/dist/radio/memory.d.ts +2 -1
- package/dist/radio/memory.d.ts.map +1 -1
- package/dist/radio/memory.js.map +1 -1
- package/dist/radio/model.d.ts +4 -2
- package/dist/radio/model.d.ts.map +1 -1
- package/dist/radio/model.js.map +1 -1
- package/dist/radio/module.d.ts +5 -3
- package/dist/radio/module.d.ts.map +1 -1
- package/dist/radio/module.js.map +1 -1
- package/dist/radio/program.d.ts +2 -1
- package/dist/radio/program.d.ts.map +1 -1
- package/dist/radio/program.js.map +1 -1
- package/dist/radio/radio.d.ts +4 -2
- package/dist/radio/radio.d.ts.map +1 -1
- package/dist/radio/radio.js.map +1 -1
- package/dist/radio/schema.d.ts +2 -1
- package/dist/radio/schema.d.ts.map +1 -1
- package/dist/radio/schema.js.map +1 -1
- package/dist/radio/tone.d.ts +3 -1
- package/dist/radio/tone.d.ts.map +1 -1
- package/dist/radio/tone.js.map +1 -1
- package/dist/spectrum/band.d.ts +9 -5
- package/dist/spectrum/band.d.ts.map +1 -1
- package/dist/spectrum/band.js.map +1 -1
- package/dist/spectrum/channel.d.ts +2 -1
- package/dist/spectrum/channel.d.ts.map +1 -1
- package/dist/spectrum/channel.js.map +1 -1
- package/dist/spectrum/mode.d.ts +2 -1
- package/dist/spectrum/mode.d.ts.map +1 -1
- package/dist/spectrum/mode.js.map +1 -1
- package/dist/spectrum/privilege.d.ts +11 -6
- package/dist/spectrum/privilege.d.ts.map +1 -1
- package/dist/spectrum/privilege.js.map +1 -1
- package/package.json +9 -6
- package/src/branded-types/frequency.ts +4 -0
- package/src/branded-types/license-class-id.ts +4 -0
- package/src/branded-types/radio-channel-id.ts +4 -0
- package/src/branded-types/radio-id.ts +4 -0
- package/src/branded-types/radio-model-id.ts +4 -0
- package/src/branded-types/radio-module-id.ts +4 -0
- package/src/branded-types/spectrum-band-id.ts +4 -0
- package/src/branded-types/spectrum-mode-id.ts +4 -0
- package/src/branded-types/spectrum-privlege-id.ts +4 -0
- package/src/branded-types/wavelength.ts +4 -0
- package/src/index.ts +14 -1
- package/src/license/class.ts +3 -1
- package/src/radio/channel.ts +5 -3
- package/src/radio/connection.ts +3 -1
- package/src/radio/ctcss.ts +40 -0
- package/src/radio/dcs.ts +31 -0
- package/src/radio/memory.ts +3 -1
- package/src/radio/model.ts +5 -2
- package/src/radio/module.ts +5 -3
- package/src/radio/program.ts +2 -1
- package/src/radio/radio.ts +5 -2
- package/src/radio/schema.ts +3 -1
- package/src/radio/tone.ts +4 -1
- package/src/spectrum/band.ts +9 -5
- package/src/spectrum/channel.ts +3 -1
- package/src/spectrum/mode.ts +3 -1
- package/src/spectrum/privilege.ts +12 -6
- package/src/brand.ts +0 -3
package/dist/radio/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/radio/module.ts"],"names":[],"mappings":"","sourcesContent":["import { RadioDriver } from './driver.js';\nimport { RadioModel } from './model.js';\nimport { RadioSchema } from './schema.js';\n\nexport interface RadioModule {\n getId():
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/radio/module.ts"],"names":[],"mappings":"","sourcesContent":["import { RadioModelId } from '../branded-types/radio-model-id.js';\nimport { RadioModuleId } from '../branded-types/radio-module-id.js';\nimport { RadioDriver } from './driver.js';\nimport { RadioModel } from './model.js';\nimport { RadioSchema } from './schema.js';\n\nexport interface RadioModule {\n getId(): RadioModuleId;\n getModels(): RadioModel[];\n getSchema(model: RadioModelId): Promise<RadioSchema>;\n getDriver(model: RadioModelId): RadioDriver;\n}\n"]}
|
package/dist/radio/program.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { RadioId } from '../branded-types/radio-id.js';
|
|
1
2
|
import { RadioProgrammedChannel } from './programmed-channel.js';
|
|
2
3
|
import { RadioSettings } from './settings.js';
|
|
3
4
|
export interface RadioProgram {
|
|
4
|
-
|
|
5
|
+
radio: RadioId;
|
|
5
6
|
settings: RadioSettings;
|
|
6
7
|
channels: RadioProgrammedChannel[];
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/radio/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/radio/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/radio/program.ts"],"names":[],"mappings":"","sourcesContent":["import { RadioProgrammedChannel } from './programmed-channel.js';\nimport { RadioSettings } from './settings.js';\n\nexport interface RadioProgram {\n
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/radio/program.ts"],"names":[],"mappings":"","sourcesContent":["import { RadioId } from '../branded-types/radio-id.js';\nimport { RadioProgrammedChannel } from './programmed-channel.js';\nimport { RadioSettings } from './settings.js';\n\nexport interface RadioProgram {\n radio: RadioId;\n settings: RadioSettings;\n channels: RadioProgrammedChannel[];\n}\n"]}
|
package/dist/radio/radio.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { RadioId } from '../branded-types/radio-id.js';
|
|
2
|
+
import { RadioModelId } from '../branded-types/radio-model-id.js';
|
|
1
3
|
export interface Radio {
|
|
2
|
-
id:
|
|
4
|
+
id: RadioId;
|
|
3
5
|
name: string;
|
|
4
|
-
|
|
6
|
+
model: RadioModelId;
|
|
5
7
|
}
|
|
6
8
|
//# sourceMappingURL=radio.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;CACrB"}
|
package/dist/radio/radio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../src/radio/radio.ts"],"names":[],"mappings":"","sourcesContent":["import { RadioId } from '../branded-types/radio-id.js';\nimport { RadioModelId } from '../branded-types/radio-model-id.js';\n\nexport interface Radio {\n id: RadioId;\n name: string;\n model: RadioModelId;\n}\n"]}
|
package/dist/radio/schema.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/radio/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/radio/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC;IACpB,aAAa,EAAE,GAAG,CAAC;CACpB"}
|
package/dist/radio/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/radio/schema.ts"],"names":[],"mappings":"","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/radio/schema.ts"],"names":[],"mappings":"","sourcesContent":["import { RadioModelId } from '../branded-types/radio-model-id.js';\n\nexport interface RadioSchema {\n model: RadioModelId;\n settingsSchema: any;\n channelSchema: any;\n}\n"]}
|
package/dist/radio/tone.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { CTCSS } from './ctcss.js';
|
|
2
|
+
import { DCS } from './dcs.js';
|
|
1
3
|
export declare enum RadioToneType {
|
|
2
4
|
CTCSS = 0,
|
|
3
5
|
DCS = 1
|
|
4
6
|
}
|
|
5
7
|
export interface RadioTone {
|
|
6
|
-
tone:
|
|
8
|
+
tone: CTCSS | DCS;
|
|
7
9
|
type: RadioToneType;
|
|
8
10
|
}
|
|
9
11
|
//# sourceMappingURL=tone.d.ts.map
|
package/dist/radio/tone.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tone.d.ts","sourceRoot":"","sources":["../../src/radio/tone.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,KAAK,IAAA;IACL,GAAG,IAAA;CACJ;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"tone.d.ts","sourceRoot":"","sources":["../../src/radio/tone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,oBAAY,aAAa;IACvB,KAAK,IAAA;IACL,GAAG,IAAA;CACJ;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC;IAClB,IAAI,EAAE,aAAa,CAAC;CACrB"}
|
package/dist/radio/tone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tone.js","sourceRoot":"","sources":["../../src/radio/tone.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tone.js","sourceRoot":"","sources":["../../src/radio/tone.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,mDAAK,CAAA;IACL,+CAAG,CAAA;AACL,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB","sourcesContent":["import { CTCSS } from './ctcss.js';\nimport { DCS } from './dcs.js';\n\nexport enum RadioToneType {\n CTCSS,\n DCS,\n}\n\nexport interface RadioTone {\n tone: CTCSS | DCS;\n type: RadioToneType;\n}\n"]}
|
package/dist/spectrum/band.d.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
import { Frequency } from '../branded-types/frequency.js';
|
|
2
|
+
import { LicenseClassId } from '../branded-types/license-class-id.js';
|
|
3
|
+
import { SpectrumBandId } from '../branded-types/spectrum-band-id.js';
|
|
4
|
+
import { Wavelength } from '../branded-types/wavelength.js';
|
|
1
5
|
import { SpectrumChannel } from './channel.js';
|
|
2
6
|
export interface SpectrumBand {
|
|
3
|
-
id
|
|
7
|
+
id: SpectrumBandId;
|
|
4
8
|
name: string;
|
|
5
|
-
wavelength:
|
|
6
|
-
lowerFrequency:
|
|
7
|
-
upperFrequency:
|
|
9
|
+
wavelength: Wavelength;
|
|
10
|
+
lowerFrequency: Frequency;
|
|
11
|
+
upperFrequency: Frequency;
|
|
8
12
|
frequencyDisplayBaseMultiplier: number;
|
|
9
13
|
frequencyDisplayNumberDecimals: number;
|
|
10
|
-
|
|
14
|
+
privileges: LicenseClassId[];
|
|
11
15
|
channels?: SpectrumChannel[];
|
|
12
16
|
}
|
|
13
17
|
//# sourceMappingURL=band.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"band.d.ts","sourceRoot":"","sources":["../../src/spectrum/band.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,EAAE,
|
|
1
|
+
{"version":3,"file":"band.d.ts","sourceRoot":"","sources":["../../src/spectrum/band.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,cAAc,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,EAAE,SAAS,CAAC;IAC1B,cAAc,EAAE,SAAS,CAAC;IAC1B,8BAA8B,EAAE,MAAM,CAAC;IACvC,8BAA8B,EAAE,MAAM,CAAC;IACvC,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"band.js","sourceRoot":"","sources":["../../src/spectrum/band.ts"],"names":[],"mappings":"","sourcesContent":["import { SpectrumChannel } from './channel.js';\n\nexport interface SpectrumBand {\n id
|
|
1
|
+
{"version":3,"file":"band.js","sourceRoot":"","sources":["../../src/spectrum/band.ts"],"names":[],"mappings":"","sourcesContent":["import { Frequency } from '../branded-types/frequency.js';\nimport { LicenseClassId } from '../branded-types/license-class-id.js';\nimport { SpectrumBandId } from '../branded-types/spectrum-band-id.js';\nimport { Wavelength } from '../branded-types/wavelength.js';\nimport { SpectrumChannel } from './channel.js';\n\nexport interface SpectrumBand {\n id: SpectrumBandId;\n name: string;\n wavelength: Wavelength;\n lowerFrequency: Frequency;\n upperFrequency: Frequency;\n frequencyDisplayBaseMultiplier: number;\n frequencyDisplayNumberDecimals: number;\n privileges: LicenseClassId[];\n channels?: SpectrumChannel[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/spectrum/channel.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/spectrum/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/spectrum/channel.ts"],"names":[],"mappings":"","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/spectrum/channel.ts"],"names":[],"mappings":"","sourcesContent":["import { Frequency } from '../branded-types/frequency.js';\n\nexport interface SpectrumChannel {\n name: string;\n frequency: Frequency;\n}\n"]}
|
package/dist/spectrum/mode.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../src/spectrum/mode.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,
|
|
1
|
+
{"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../../src/spectrum/mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,cAAc,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode.js","sourceRoot":"","sources":["../../src/spectrum/mode.ts"],"names":[],"mappings":"","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"mode.js","sourceRoot":"","sources":["../../src/spectrum/mode.ts"],"names":[],"mappings":"","sourcesContent":["import { SpectrumModeId } from '../branded-types/spectrum-mode-id.js';\n\nexport interface SpectrumMode {\n id: SpectrumModeId;\n name: string;\n}\n"]}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import { Frequency } from '../branded-types/frequency.js';
|
|
2
|
+
import { LicenseClassId } from '../branded-types/license-class-id.js';
|
|
3
|
+
import { SpectrumBandId } from '../branded-types/spectrum-band-id.js';
|
|
4
|
+
import { SpectrumModeId } from '../branded-types/spectrum-mode-id.js';
|
|
5
|
+
import { SpectrumPrivilegeId } from '../branded-types/spectrum-privlege-id.js';
|
|
1
6
|
export interface SpectrumPrivilege {
|
|
2
|
-
id
|
|
3
|
-
licenseClassId:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
lowerFrequency:
|
|
7
|
-
upperFrequency:
|
|
7
|
+
id: SpectrumPrivilegeId;
|
|
8
|
+
licenseClassId: LicenseClassId;
|
|
9
|
+
mode: SpectrumModeId;
|
|
10
|
+
band: SpectrumBandId;
|
|
11
|
+
lowerFrequency: Frequency;
|
|
12
|
+
upperFrequency: Frequency;
|
|
8
13
|
}
|
|
9
14
|
//# sourceMappingURL=privilege.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privilege.d.ts","sourceRoot":"","sources":["../../src/spectrum/privilege.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"privilege.d.ts","sourceRoot":"","sources":["../../src/spectrum/privilege.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,mBAAmB,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,cAAc,EAAE,SAAS,CAAC;IAC1B,cAAc,EAAE,SAAS,CAAC;CAC3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privilege.js","sourceRoot":"","sources":["../../src/spectrum/privilege.ts"],"names":[],"mappings":"","sourcesContent":["
|
|
1
|
+
{"version":3,"file":"privilege.js","sourceRoot":"","sources":["../../src/spectrum/privilege.ts"],"names":[],"mappings":"","sourcesContent":["import { Frequency } from '../branded-types/frequency.js';\nimport { LicenseClassId } from '../branded-types/license-class-id.js';\nimport { SpectrumBandId } from '../branded-types/spectrum-band-id.js';\nimport { SpectrumModeId } from '../branded-types/spectrum-mode-id.js';\nimport { SpectrumPrivilegeId } from '../branded-types/spectrum-privlege-id.js';\n\nexport interface SpectrumPrivilege {\n id: SpectrumPrivilegeId;\n licenseClassId: LicenseClassId;\n mode: SpectrumModeId;\n band: SpectrumBandId;\n lowerFrequency: Frequency;\n upperFrequency: Frequency;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@springfield/ham-radio-api",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"author": "Bryan Hunt",
|
|
5
|
-
"packageManager": "yarn@4.
|
|
5
|
+
"packageManager": "yarn@4.8.1",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"types": "dist/index.d.ts",
|
|
@@ -47,14 +47,17 @@
|
|
|
47
47
|
"access": "public"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@commitlint/cli": "19.
|
|
51
|
-
"@commitlint/config-conventional": "19.
|
|
50
|
+
"@commitlint/cli": "19.8.0",
|
|
51
|
+
"@commitlint/config-conventional": "19.8.0",
|
|
52
52
|
"@semantic-release/changelog": "6.0.3",
|
|
53
53
|
"@semantic-release/git": "10.0.1",
|
|
54
|
-
"@semantic-release/gitlab": "13.2.
|
|
54
|
+
"@semantic-release/gitlab": "13.2.4",
|
|
55
55
|
"husky": "9.1.7",
|
|
56
56
|
"semantic-release": "23.1.1",
|
|
57
57
|
"semantic-release-yarn": "3.0.2",
|
|
58
|
-
"typescript": "5.
|
|
58
|
+
"typescript": "5.8.2"
|
|
59
|
+
},
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"ts-brand": "^0.2.0"
|
|
59
62
|
}
|
|
60
63
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
|
+
export * from './branded-types/frequency.js';
|
|
2
|
+
export * from './branded-types/license-class-id.js';
|
|
3
|
+
export * from './branded-types/radio-channel-id.js';
|
|
4
|
+
export * from './branded-types/radio-id.js';
|
|
5
|
+
export * from './branded-types/radio-model-id.js';
|
|
6
|
+
export * from './branded-types/radio-module-id.js';
|
|
7
|
+
export * from './branded-types/spectrum-band-id.js';
|
|
8
|
+
export * from './branded-types/spectrum-mode-id.js';
|
|
9
|
+
export * from './branded-types/spectrum-privlege-id.js';
|
|
10
|
+
export * from './branded-types/wavelength.js';
|
|
11
|
+
|
|
1
12
|
export * from './license/class.js';
|
|
2
13
|
|
|
3
14
|
export * from './radio/channel.js';
|
|
4
15
|
export * from './radio/codec.js';
|
|
5
16
|
export * from './radio/connection.js';
|
|
17
|
+
export * from './radio/ctcss.js';
|
|
18
|
+
export * from './radio/dcs.js';
|
|
6
19
|
export * from './radio/driver.js';
|
|
7
20
|
export * from './radio/memory.js';
|
|
8
21
|
export * from './radio/model.js';
|
|
@@ -18,4 +31,4 @@ export * from './radio/tone.js';
|
|
|
18
31
|
export * from './spectrum/band.js';
|
|
19
32
|
export * from './spectrum/channel.js';
|
|
20
33
|
export * from './spectrum/mode.js';
|
|
21
|
-
export * from './spectrum/privilege.js'
|
|
34
|
+
export * from './spectrum/privilege.js';
|
package/src/license/class.ts
CHANGED
package/src/radio/channel.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { Frequency } from '../branded-types/frequency.js';
|
|
2
|
+
import { RadioChannelId } from '../branded-types/radio-channel-id.js';
|
|
1
3
|
import { RadioTone } from './tone.js';
|
|
2
4
|
|
|
3
5
|
export interface RadioChannel {
|
|
4
|
-
id?:
|
|
6
|
+
id?: RadioChannelId;
|
|
5
7
|
name?: string;
|
|
6
|
-
transmitFrequency:
|
|
7
|
-
receiveFrequency:
|
|
8
|
+
transmitFrequency: Frequency;
|
|
9
|
+
receiveFrequency: Frequency;
|
|
8
10
|
transmitTone: RadioTone;
|
|
9
11
|
receiveTone: RadioTone;
|
|
10
12
|
}
|
package/src/radio/connection.ts
CHANGED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export enum CTCSS {
|
|
2
|
+
TONE_67_0 = '67.0 Hz',
|
|
3
|
+
TONE_69_3 = '69.3 Hz',
|
|
4
|
+
TONE_71_9 = '71.9 Hz',
|
|
5
|
+
TONE_74_4 = '74.4 Hz',
|
|
6
|
+
TONE_77_0 = '77.0 Hz',
|
|
7
|
+
TONE_79_7 = '79.7 Hz',
|
|
8
|
+
TONE_82_5 = '82.5 Hz',
|
|
9
|
+
TONE_85_4 = '85.4 Hz',
|
|
10
|
+
TONE_88_5 = '88.5 Hz',
|
|
11
|
+
TONE_91_5 = '91.5 Hz',
|
|
12
|
+
TONE_94_8 = '94.8 Hz',
|
|
13
|
+
TONE_97_4 = '97.4 Hz',
|
|
14
|
+
TONE_100_0 = '100.0 Hz',
|
|
15
|
+
TONE_103_5 = '103.5 Hz',
|
|
16
|
+
TONE_107_2 = '107.2 Hz',
|
|
17
|
+
TONE_110_9 = '110.9 Hz',
|
|
18
|
+
TONE_114_8 = '114.8 Hz',
|
|
19
|
+
TONE_118_8 = '118.8 Hz',
|
|
20
|
+
TONE_123_0 = '123.0 Hz',
|
|
21
|
+
TONE_127_3 = '127.3 Hz',
|
|
22
|
+
TONE_131_8 = '131.8 Hz',
|
|
23
|
+
TONE_136_5 = '136.5 Hz',
|
|
24
|
+
TONE_141_3 = '141.3 Hz',
|
|
25
|
+
TONE_146_2 = '146.2 Hz',
|
|
26
|
+
TONE_151_4 = '151.4 Hz',
|
|
27
|
+
TONE_156_7 = '156.7 Hz',
|
|
28
|
+
TONE_162_2 = '162.2 Hz',
|
|
29
|
+
TONE_167_9 = '167.9 Hz',
|
|
30
|
+
TONE_173_8 = '173.8 Hz',
|
|
31
|
+
TONE_179_9 = '179.9 Hz',
|
|
32
|
+
TONE_186_2 = '186.2 Hz',
|
|
33
|
+
TONE_192_8 = '192.8 Hz',
|
|
34
|
+
TONE_203_5 = '203.5 Hz',
|
|
35
|
+
TONE_210_7 = '210.7 Hz',
|
|
36
|
+
TONE_218_1 = '218.1 Hz',
|
|
37
|
+
TONE_225_7 = '225.7 Hz',
|
|
38
|
+
TONE_233_6 = '233.6 Hz',
|
|
39
|
+
TONE_241_8 = '241.8 Hz',
|
|
40
|
+
}
|
package/src/radio/dcs.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export enum DCS {
|
|
2
|
+
D023 = '023',
|
|
3
|
+
D025 = '025',
|
|
4
|
+
D026 = '026',
|
|
5
|
+
D031 = '031',
|
|
6
|
+
D032 = '032',
|
|
7
|
+
D036 = '036',
|
|
8
|
+
D043 = '043',
|
|
9
|
+
D047 = '047',
|
|
10
|
+
D051 = '051',
|
|
11
|
+
D053 = '053',
|
|
12
|
+
D065 = '065',
|
|
13
|
+
D071 = '071',
|
|
14
|
+
D072 = '072',
|
|
15
|
+
D073 = '073',
|
|
16
|
+
D074 = '074',
|
|
17
|
+
D114 = '114',
|
|
18
|
+
D115 = '115',
|
|
19
|
+
D116 = '116',
|
|
20
|
+
D125 = '125',
|
|
21
|
+
D131 = '131',
|
|
22
|
+
D132 = '132',
|
|
23
|
+
D134 = '134',
|
|
24
|
+
D143 = '143',
|
|
25
|
+
D145 = '145',
|
|
26
|
+
D152 = '152',
|
|
27
|
+
D155 = '155',
|
|
28
|
+
D156 = '156',
|
|
29
|
+
D162 = '162',
|
|
30
|
+
D165 = '165',
|
|
31
|
+
}
|
package/src/radio/memory.ts
CHANGED
package/src/radio/model.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { RadioModelId } from '../branded-types/radio-model-id.js';
|
|
2
|
+
import { RadioModuleId } from '../branded-types/radio-module-id.js';
|
|
3
|
+
|
|
1
4
|
export interface RadioModel {
|
|
2
|
-
id:
|
|
3
|
-
|
|
5
|
+
id: RadioModelId;
|
|
6
|
+
module: RadioModuleId;
|
|
4
7
|
name: string;
|
|
5
8
|
manufacturer: string;
|
|
6
9
|
}
|
package/src/radio/module.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { RadioModelId } from '../branded-types/radio-model-id.js';
|
|
2
|
+
import { RadioModuleId } from '../branded-types/radio-module-id.js';
|
|
1
3
|
import { RadioDriver } from './driver.js';
|
|
2
4
|
import { RadioModel } from './model.js';
|
|
3
5
|
import { RadioSchema } from './schema.js';
|
|
4
6
|
|
|
5
7
|
export interface RadioModule {
|
|
6
|
-
getId():
|
|
8
|
+
getId(): RadioModuleId;
|
|
7
9
|
getModels(): RadioModel[];
|
|
8
|
-
getSchema(
|
|
9
|
-
getDriver(
|
|
10
|
+
getSchema(model: RadioModelId): Promise<RadioSchema>;
|
|
11
|
+
getDriver(model: RadioModelId): RadioDriver;
|
|
10
12
|
}
|
package/src/radio/program.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { RadioId } from '../branded-types/radio-id.js';
|
|
1
2
|
import { RadioProgrammedChannel } from './programmed-channel.js';
|
|
2
3
|
import { RadioSettings } from './settings.js';
|
|
3
4
|
|
|
4
5
|
export interface RadioProgram {
|
|
5
|
-
|
|
6
|
+
radio: RadioId;
|
|
6
7
|
settings: RadioSettings;
|
|
7
8
|
channels: RadioProgrammedChannel[];
|
|
8
9
|
}
|
package/src/radio/radio.ts
CHANGED
package/src/radio/schema.ts
CHANGED
package/src/radio/tone.ts
CHANGED
package/src/spectrum/band.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
import { Frequency } from '../branded-types/frequency.js';
|
|
2
|
+
import { LicenseClassId } from '../branded-types/license-class-id.js';
|
|
3
|
+
import { SpectrumBandId } from '../branded-types/spectrum-band-id.js';
|
|
4
|
+
import { Wavelength } from '../branded-types/wavelength.js';
|
|
1
5
|
import { SpectrumChannel } from './channel.js';
|
|
2
6
|
|
|
3
7
|
export interface SpectrumBand {
|
|
4
|
-
id
|
|
8
|
+
id: SpectrumBandId;
|
|
5
9
|
name: string;
|
|
6
|
-
wavelength:
|
|
7
|
-
lowerFrequency:
|
|
8
|
-
upperFrequency:
|
|
10
|
+
wavelength: Wavelength;
|
|
11
|
+
lowerFrequency: Frequency;
|
|
12
|
+
upperFrequency: Frequency;
|
|
9
13
|
frequencyDisplayBaseMultiplier: number;
|
|
10
14
|
frequencyDisplayNumberDecimals: number;
|
|
11
|
-
|
|
15
|
+
privileges: LicenseClassId[];
|
|
12
16
|
channels?: SpectrumChannel[];
|
|
13
17
|
}
|
package/src/spectrum/channel.ts
CHANGED
package/src/spectrum/mode.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { Frequency } from '../branded-types/frequency.js';
|
|
2
|
+
import { LicenseClassId } from '../branded-types/license-class-id.js';
|
|
3
|
+
import { SpectrumBandId } from '../branded-types/spectrum-band-id.js';
|
|
4
|
+
import { SpectrumModeId } from '../branded-types/spectrum-mode-id.js';
|
|
5
|
+
import { SpectrumPrivilegeId } from '../branded-types/spectrum-privlege-id.js';
|
|
6
|
+
|
|
1
7
|
export interface SpectrumPrivilege {
|
|
2
|
-
id
|
|
3
|
-
licenseClassId:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
lowerFrequency:
|
|
7
|
-
upperFrequency:
|
|
8
|
+
id: SpectrumPrivilegeId;
|
|
9
|
+
licenseClassId: LicenseClassId;
|
|
10
|
+
mode: SpectrumModeId;
|
|
11
|
+
band: SpectrumBandId;
|
|
12
|
+
lowerFrequency: Frequency;
|
|
13
|
+
upperFrequency: Frequency;
|
|
8
14
|
}
|
package/src/brand.ts
DELETED