@ham2k/lib-operation-data 0.10.3 → 1.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/LICENSE.md +1 -1
- package/dist/index.d.ts +32 -3
- package/dist/index.js +582 -2
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/dist/data/bandPlans.json +0 -176
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/bands.d.ts +0 -13
- package/dist/lib/bands.d.ts.map +0 -1
- package/dist/lib/bands.js +0 -303
- package/dist/lib/bands.js.map +0 -1
- package/dist/lib/modes.d.ts +0 -13
- package/dist/lib/modes.d.ts.map +0 -1
- package/dist/lib/modes.js +0 -190
- package/dist/lib/modes.js.map +0 -1
- package/dist/lib/modes.spec.d.ts +0 -2
- package/dist/lib/modes.spec.d.ts.map +0 -1
- package/dist/lib/modes.spec.js +0 -28
- package/dist/lib/modes.spec.js.map +0 -1
- package/dist/types.d.ts +0 -38
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"sources":["../src/lib/bands.ts","../src/data/bandPlans.json","../src/lib/modes.ts"],"sourcesContent":["export const EXTENDED_BANDS = [ // Includes 11m\n '2190m',\n '630m',\n '560m',\n '160m',\n '80m',\n '60m',\n '40m',\n '30m',\n '20m',\n '17m',\n '15m',\n '12m',\n '11m',\n '10m',\n '6m',\n '5m',\n '4m',\n '2m',\n '1.25m',\n '70cm',\n '33cm',\n '23cm',\n '13cm',\n '9cm',\n '6cm',\n '3cm',\n '1.25cm',\n '6mm',\n '4mm',\n '2.5mm',\n '2mm',\n '1mm',\n 'submm',\n 'other'\n] as const\n\nexport const BANDS = [\n '2190m',\n '630m',\n '560m',\n '160m',\n '80m',\n '60m',\n '40m',\n '30m',\n '20m',\n '17m',\n '15m',\n '12m',\n '10m',\n '6m',\n '5m',\n '4m',\n '2m',\n '1.25m',\n '70cm',\n '33cm',\n '23cm',\n '13cm',\n '9cm',\n '6cm',\n '3cm',\n '1.25cm',\n '6mm',\n '4mm',\n '2.5mm',\n '2mm',\n '1mm',\n 'submm',\n 'other'\n] as const\n\nexport type Band = typeof EXTENDED_BANDS[number]\n\nexport const HF_BANDS = ['160m', '80m', '60m', '40m', '30m', '20m', '17m', '15m', '12m', '10m'] as const\nexport const VHF_BANDS = ['6m', '5m', '4m', '2m', '1.25m'] as const\nexport const UHF_BANDS = ['70cm', '33cm', '23cm', '13cm'] as const\nexport const SHF_BANDS = ['9cm', '6cm', '3cm', '1.25cm'] as const\nexport const EHF_BANDS = ['6mm', '4mm', '2mm', '2.5mm', '1mm', 'submm'] as const\n\nexport const POPULAR_BANDS = ['160m', '80m', '60m', '40m', '30m', '20m', '17m', '15m', '12m', '10m', '6m', '2m', '70cm'] as const\nexport const CONTEST_BANDS = ['160m', '80m', '40m', '20m', '15m', '10m'] as const\n\nexport function bandForFrequency(freq: number): Band {\n return bandForExactFrequencyInMHz(freq) ?? bandForExactFrequencyInMHz(freq * 1000) ?? 'other'\n}\n\nfunction bandForExactFrequencyInMHz(freq: number): Band | undefined {\n if (freq >= 130 && freq <= 140) return '2190m'\n else if (freq >= 450 && freq <= 499) return '630m'\n else if (freq >= 500 && freq <= 505) return '560m'\n else if (freq >= 1700 && freq <= 2100) return '160m'\n else if (freq >= 3400 && freq <= 4100) return '80m'\n else if (freq >= 5300 && freq <= 5500) return '60m'\n else if (freq >= 6900 && freq <= 7400) return '40m'\n else if (freq >= 10000 && freq <= 10200) return '30m'\n else if (freq >= 13900 && freq <= 14400) return '20m'\n else if (freq >= 18000 && freq <= 18200) return '17m'\n else if (freq >= 20900 && freq <= 21600) return '15m'\n else if (freq >= 24500 && freq <= 25200) return '12m'\n else if (freq >= 26000 && freq <= 27500) return '11m'\n else if (freq >= 27900 && freq <= 30000) return '10m'\n else if (freq >= 50000 && freq <= 54000) return '6m'\n else if (freq >= 54001 && freq <= 69999) return '5m'\n else if (freq >= 70000 && freq <= 71000) return '4m'\n else if (freq >= 140000 && freq <= 150000) return '2m'\n else if (freq >= 219000 && freq <= 230000) return '1.25m'\n else if (freq >= 400000 && freq <= 460000) return '70cm'\n else if (freq >= 900000 && freq <= 930000) return '33cm'\n else if (freq >= 1180000 && freq <= 1420000) return '23cm'\n else if (freq >= 2300000 && freq <= 2450000) return '13cm'\n else if (freq >= 3290000 && freq <= 3510000) return '9cm'\n else if (freq >= 5640000 && freq <= 5926000) return '6cm'\n else if (freq >= 10000000 && freq <= 10500000) return '3cm'\n else if (freq >= 24000000 && freq <= 24250000) return '1.25cm'\n else if (freq >= 47000000 && freq <= 47200000) return '6mm'\n else if (freq >= 75000000 && freq <= 81000000) return '4mm'\n else if (freq >= 122250000 && freq <= 123000000) return '2.5mm'\n else if (freq >= 134000000 && freq <= 141000000) return '2mm'\n else if (freq >= 241000000 && freq <= 250000000) return '1mm'\n else if (freq >= 300000000 && freq <= 7500000000) return 'submm'\n else return undefined\n}\n\nexport function frequencyForBand(band: Band, mode?: string): number | undefined {\n if (band === '2190m') return 135.7\n else if (band === '630m') return 472\n else if (band === '560m') return 501\n else if (band === '160m') {\n if (mode === 'FT8' || mode === 'FT4') return 1840\n else return 1800\n }\n else if (band === '80m') {\n if (mode === 'SSB' || mode === 'LSB') return 3800\n else if (mode === 'FT8') return 3573\n else if (mode === 'FT4') return 3575\n else return 3000\n }\n else if (band === '60m') {\n if (mode === 'FT8') return 5357\n else return 5330\n }\n else if (band === '40m') {\n if (mode === 'SSB' || mode === 'LSB') return 7175\n else if (mode === 'FT8') return 7074\n else if (mode === 'FT4') return 7047.5\n else return 7000\n }\n else if (band === '30m') {\n if (mode === 'FT8') return 10136\n else if (mode === 'FT4') return 10140\n else return 10100\n }\n else if (band === '20m') {\n if (mode === 'SSB' || mode === 'USB') return 14225\n else if (mode === 'FT8') return 14074\n else if (mode === 'FT4') return 14080\n else return 14000\n }\n else if (band === '17m') {\n if (mode === 'SSB' || mode === 'USB') return 18110\n else if (mode === 'FT8') return 18100\n else if (mode === 'FT4') return 18104\n else return 18068\n }\n else if (band === '15m') {\n if (mode === 'SSB' || mode === 'USB') return 21275\n else if (mode === 'FT8') return 21074\n else if (mode === 'FT4') return 21140\n else return 21000\n }\n else if (band === '12m') {\n if (mode === 'SSB' || mode === 'USB') return 24930\n else if (mode === 'FT8') return 24915\n else if (mode === 'FT4') return 24919\n else return 24890\n }\n else if (band === '11m') {\n return 26965\n }\n else if (band === '10m') {\n if (mode === 'SSB' || mode === 'USB') return 28300\n else if (mode === 'FM' || mode === 'AM') return 28500\n else if (mode === 'FT8') return 28074\n else if (mode === 'FT4') return 28180\n else return 28000\n }\n else if (band === '6m') {\n if (mode === 'SSB' || mode === 'USB') return 50125\n else if (mode === 'FT8') return 50313\n else if (mode === 'FT4') return 50318\n else return 50000\n }\n else if (band === '5m') return 55000\n else if (band === '4m') return 70090\n else if (band === '2m') return 145400\n else if (band === '1.25m') return 222000\n else if (band === '70cm') return 420000\n else if (band === '33cm') return 902000\n else if (band === '23cm') return 1240000\n else if (band === '13cm') return 2300000\n else if (band === '9cm') return 3300000\n else if (band === '6cm') return 5650000\n else if (band === '3cm') return 10000000\n else if (band === '1.25cm') return 24000000\n else if (band === '6mm') return 47000000\n else if (band === '4mm') return 75500000\n else if (band === '2.5mm') return 122500000\n else if (band === '2mm') return 134000000\n else if (band === '1mm') return 241000000\n else if (band === 'submm') return 300000000\n else return undefined\n}\n\n","{\n \"sources\": [\n { \"url\": \"https://www.iaru-r2.org/en/reference/band-plans/\" },\n { \"url\": \"https://www.arrl.org/band-plan\" },\n { \"url\": \"https://www.arrl.org/news/view/updated-arrl-us-amateur-radio-bands-charts-now-available\" }\n ],\n \"bands\": {\n \"160m\": {\n \"mhz\": [1800, 2000],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [1800, 1843], \"mode\": \"CW\" },\n { \"name\": \"Data\", \"mhz\": [1800, 1810], \"mode\": \"RTTY\" },\n { \"name\": \"FT8\", \"mhz\": [1840, 1843], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"Phone\", \"mhz\": [1843, 2000], \"mode\": \"SSB\", \"submode\": \"LSB\" },\n { \"name\": \"Australia\", \"mhz\": [1800, 1875], \"mode\": null, \"countries\": [\"au\"] }\n ]\n },\n \"80m\": {\n \"mhz\": [3500, 3800],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [3500, 3600], \"mode\": \"CW\" },\n { \"name\": \"Phone\", \"mhz\": [3535, 3800], \"mode\": \"SSB\", \"submode\": \"LSB\", \"regions\": [ 3 ] },\n { \"name\": \"FT8\", \"mhz\": [3568, 3571], \"mode\": \"FT8\", \"regions\": [ 3 ], \"priority\": 100 },\n { \"name\": \"Data\", \"mhz\": [3570, 3600], \"mode\": \"RTTY\" },\n { \"name\": \"FT8\", \"mhz\": [3573, 3576], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"Phone\", \"mhz\": [3600, 4000], \"mode\": \"SSB\", \"submode\": \"LSB\" },\n { \"name\": \"Australia\", \"mhz\": [3500, 3800], \"mode\": null, \"countries\": [\"au\"] }\n ]\n },\n \"60m\": {\n \"mhz\": [5330.5, 3406.5],\n \"segments\": [\n { \"name\": \"60m Channel 1\", \"mhz\": [5330.5, 5333.5] },\n { \"name\": \"60m Channel 2\", \"mhz\": [5346.5, 5349.5] },\n { \"name\": \"60m Channel 3\", \"mhz\": [5357, 5360], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"60m Channel 4\", \"mhz\": [5371.5, 5373.5] },\n { \"name\": \"60m Channel 5\", \"mhz\": [5403.5, 5406.5] }\n ]\n },\n \"40m\": {\n \"mhz\": [7000, 7300],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [7000, 7060], \"mode\": \"CW\" },\n { \"name\": \"CW\", \"mhz\": [7000, 7125], \"mode\": \"CW\", \"countries\": [ \"us\" ] },\n { \"name\": \"FT4\", \"mhz\": [7047.5, 7050.5], \"mode\": \"FT4\", \"priority\": 100 },\n { \"name\": \"Phone\", \"mhz\": [7060, 7300], \"mode\": \"SSB\", \"submode\": \"LSB\" },\n { \"name\": \"FT8\", \"mhz\": [7074, 7077], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"Data\", \"mhz\": [7080, 7125], \"mode\": \"RTTY\", \"countries\": [ \"us\" ] },\n { \"name\": \"Phone\", \"mhz\": [7125, 7300], \"mode\": \"SSB\", \"submode\": \"LSB\", \"countries\": [ \"us\" ] },\n { \"name\": \"Australia\", \"mhz\": [7000, 7300], \"mode\": null, \"countries\": [\"au\"] }\n ]\n },\n \"30m\": {\n \"mhz\": [10100, 10150],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [10100, 10150], \"mode\": \"CW\" },\n { \"name\": \"Data\", \"mhz\": [10130, 10140], \"mode\": \"RTTY\" },\n { \"name\": \"FT8\", \"mhz\": [10136, 10139], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"FT4\", \"mhz\": [10140, 10143], \"mode\": \"FT4\", \"priority\": 100 },\n { \"name\": \"Countries with no plan on 30m\", \"mhz\": [10100, 10150], \"mode\": null, \"countries\": [\"au\", \"za\"] }\n ]\n },\n \"20m\": {\n \"mhz\": [14000, 14350],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [14000, 14150], \"mode\": \"CW\" },\n { \"name\": \"CW\", \"mhz\": [14000, 14070], \"mode\": \"CW\", \"regions\": [ 1 ] },\n { \"name\": \"CW\", \"mhz\": [14000, 14101], \"mode\": \"CW\", \"regions\": [ 2 ] },\n { \"name\": \"Data\", \"mhz\": [14070, 14095], \"mode\": \"RTTY\" },\n { \"name\": \"FT8\", \"mhz\": [14074, 14077], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"FT4\", \"mhz\": [14080, 14083], \"mode\": \"FT4\", \"priority\": 100 },\n { \"name\": \"Phone\", \"mhz\": [14112, 14350], \"mode\": \"SSB\", \"submode\": \"USB\", \"regions\": [ 1, 2 ] },\n { \"name\": \"Phone\", \"mhz\": [14150, 14350], \"mode\": \"SSB\", \"submode\": \"USB\", \"countries\": [ \"us\" ] },\n { \"name\": \"Australia\", \"mhz\": [14000, 14350], \"mode\": null, \"countries\": [\"au\"] }\n ]\n },\n \"17m\": {\n \"mhz\": [18068, 18168],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [18068, 18110], \"mode\": \"CW\" },\n { \"name\": \"Data\", \"mhz\": [18100, 18105], \"mode\": \"RTTY\" },\n { \"name\": \"FT8\", \"mhz\": [18100, 18103], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"FT4\", \"mhz\": [18104, 18107], \"mode\": \"FT4\", \"priority\": 100 },\n { \"name\": \"Phone\", \"mhz\": [18110, 18168], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"Australia\", \"mhz\": [18068, 18168], \"mode\": null, \"countries\": [\"au\"] }\n ]\n },\n \"15m\": {\n \"mhz\": [21000, 21450],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [21000, 21150], \"mode\": \"CW\" },\n { \"name\": \"Data\", \"mhz\": [21070, 21095], \"mode\": \"RTTY\" },\n { \"name\": \"FT8\", \"mhz\": [21074, 21077], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"FT4\", \"mhz\": [21140, 21143], \"mode\": \"FT4\", \"priority\": 100 },\n { \"name\": \"Phone\", \"mhz\": [21150, 21450], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"Australia\", \"mhz\": [21000, 21450], \"mode\": null, \"countries\": [\"au\"] }\n ]\n },\n \"12m\": {\n \"mhz\": [24890, 24990],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [24890, 24930], \"mode\": \"CW\" },\n { \"name\": \"FT8\", \"mhz\": [24915, 24918], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"FT4\", \"mhz\": [24919, 23922], \"mode\": \"FT4\", \"priority\": 100 },\n { \"name\": \"Data\", \"mhz\": [24920, 24925], \"mode\": \"RTTY\" },\n { \"name\": \"Phone\", \"mhz\": [24930, 24990], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"Australia\", \"mhz\": [24890, 24990], \"mode\": null, \"countries\": [\"au\"] }\n ]\n },\n \"10m\": {\n \"mhz\": [28000, 29700],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [28000, 28190], \"mode\": \"CW\" },\n { \"name\": \"Data\", \"mhz\": [28070, 28150], \"mode\": \"RTTY\" },\n { \"name\": \"FT8\", \"mhz\": [28074, 28077], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"FT4\", \"mhz\": [28180, 28183], \"mode\": \"FT4\", \"priority\": 100 },\n { \"name\": \"Beacons\", \"mhz\": [28190, 28300] },\n { \"name\": \"Phone SSB\", \"mhz\": [28300, 29000], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"AM\", \"mhz\": [29000, 29200], \"mode\": \"AM\" },\n { \"name\": \"Satellite\", \"mhz\": [29300, 29520] },\n { \"name\": \"Repeater Uplinks\", \"mhz\": [29520, 29590] },\n { \"name\": \"FM\", \"mhz\": [29520, 29700], \"mode\": \"FM\" },\n { \"name\": \"Repeater Downlinks\", \"mhz\": [29620, 29700] },\n { \"name\": \"Australia\", \"mhz\": [28000, 29700], \"mode\": null, \"countries\": [\"au\"] }\n ]\n },\n \"6m\": {\n \"mhz\": [50000, 54000],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [50000, 50100], \"mode\": \"CW\" },\n { \"name\": \"Phone\", \"mhz\": [50150, 50400], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"Phone\", \"mhz\": [51000, 51110], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"FM\", \"mhz\": [51110, 52100], \"mode\": \"FM\" },\n { \"name\": \"FM\", \"mhz\": [51110, 52100], \"mode\": \"FM\" },\n { \"name\": \"FT8\", \"mhz\": [50313, 50316], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"FT4\", \"mhz\": [50318, 50321], \"mode\": \"FT4\", \"priority\": 100 },\n { \"name\": \"FT8\", \"mhz\": [50323, 50326], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"Australia\", \"mhz\": [50000, 54000], \"mode\": null, \"countries\": [\"au\"] }\n ]\n },\n \"2m\": {\n \"mhz\": [144000, 148000],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [144000, 144100], \"mode\": \"CW\" },\n { \"name\": \"Data\", \"mhz\": [144100, 144200], \"mode\": \"RTTY\" },\n { \"name\": \"FT8\", \"mhz\": [144174, 144177], \"mode\": \"FT8\", \"priority\": 100 },\n { \"name\": \"FT4\", \"mhz\": [144170, 144173], \"mode\": \"FT4\", \"priority\": 100 },\n { \"name\": \"Phone\", \"mhz\": [144200, 144275], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"FM\", \"mhz\": [144300, 148000], \"mode\": \"FM\" }\n ]\n },\n \"1.25m\": {\n \"mhz\": [222000, 225000],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [222000, 222070], \"mode\": \"CW\" },\n { \"name\": \"Phone\", \"mhz\": [222070, 222150], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"FM\", \"mhz\": [222200, 225000], \"mode\": \"FM\" }\n ]\n },\n \"70cm\": {\n \"mhz\": [420000, 450000],\n \"segments\": [\n { \"name\": \"CW\", \"mhz\": [432000, 432100], \"mode\": \"CW\" },\n { \"name\": \"Phone\", \"mhz\": [432100, 432300], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"Phone\", \"mhz\": [432420, 433000], \"mode\": \"SSB\", \"submode\": \"USB\" },\n { \"name\": \"FM\", \"mhz\": [420000, 450000], \"mode\": \"FM\" }\n ]\n },\n \"33cm\": {\n \"mhz\": [902000, 928000],\n \"segments\": [\n { \"name\": \"FM\", \"mhz\": [927000, 928000], \"mode\": \"FM\" }\n ]\n }\n }\n}\n","import BandPlans from '../data/bandPlans.json'\nimport type { BandPlansData, SegmentWithMetadata, ModeForFrequencyOptions } from '../types'\n\nexport const SUPER_MODES: readonly string[] = [\n 'CW',\n 'PHONE',\n 'DATA'\n] as const\n\nexport type SuperMode = 'CW' | 'PHONE' | 'DATA'\n\nexport const MAIN_MODES: readonly string[] = [\n 'CW',\n 'SSB',\n 'AM',\n 'FM',\n 'FT8',\n 'FT4',\n 'RTTY'\n] as const\n\nexport const POPULAR_MODES: readonly string[] = [\n 'CW',\n 'SSB',\n 'USB',\n 'LSB',\n 'FM',\n 'AM',\n 'FT8',\n 'FT4',\n 'FT2',\n 'RTTY',\n 'DIGITALVOICE',\n 'C4FM',\n 'DMR',\n 'DSTAR',\n 'FREEDV',\n 'M17',\n 'DYNAMIC',\n 'HELL',\n 'JT9',\n 'MFSK',\n 'MSK144',\n 'OLIVIA',\n 'PKT',\n 'PSK',\n 'SSTV',\n 'WSPR',\n] as const\n\nexport const ADIF_MODES: readonly string[] = [\n 'AM',\n 'ARDOP',\n 'ATV',\n 'CHIP',\n 'CLO',\n 'CONTESTI',\n 'CW',\n 'DIGITALVOICE',\n 'DOMINO',\n 'DYNAMIC',\n 'FAX',\n 'FM',\n 'FSK441',\n 'FT8',\n 'HELL',\n 'ISCAT',\n 'JT4',\n 'JT6M',\n 'JT9',\n 'JT44',\n 'JT65',\n 'MFSK',\n 'MSK144',\n 'MT63',\n 'OLIVIA',\n 'OPERA',\n 'PAC',\n 'PAX',\n 'PKT',\n 'PSK',\n 'PSK2K',\n 'Q15',\n 'QRA64',\n 'ROS',\n 'RTTY',\n 'RTTYM',\n 'SSB',\n 'SSTV',\n 'T10',\n 'THOR',\n 'THRB',\n 'TOR',\n 'V4',\n 'VOI',\n 'WINMOR',\n 'WSPR'\n] as const\n\nexport const ADIF_SUBMODES: Record<string, readonly string[]> = {\n 'CHIP': ['CHIP64', 'CHIP128'],\n 'DIGITALVOICE': ['C4FM', 'DMR', 'DSTAR', 'FREEDV', 'M17'],\n 'DOMINO': ['DOM-M', 'DOM4', 'DOM5', 'DOM8', 'DOM11', 'DOM16', 'DOM22', 'DOM44', 'DOM88', 'DOMINOEX', 'DOMINOF'],\n 'DYNAMIC': ['VARA HF', 'VARA SATELLITE', 'VARA FM 1200', 'VARA FM 9600'],\n 'HELL': ['FMHELL', 'FSKHELL', 'HELL80', 'HELLX5', 'HELLX9', 'HFSK', 'PSKHELL', 'SLOWHELL'],\n 'ISCAT': ['ISCAT-A', 'ISCAT-B'],\n 'JT4': ['JT4A', 'JT4B', 'JT4C', 'JT4D', 'JT4E', 'JT4F', 'JT4G'],\n 'JT9': ['JT9-1', 'JT9', 'JT9-2', 'JT9-5', 'JT9-10', 'JT9-30', 'JT9A', 'JT9B', 'JT9C', 'JT9D', 'JT9E', 'JT9E FAST', 'JT9F', 'JT9F FAST', 'JT9G', 'JT9G FAST', 'JT9H', 'JT9H FAST'],\n 'JT65': ['JT65A', 'JT65B', 'JT65B2', 'JT65C', 'JT65C2'],\n 'MFSK': ['FSQCALL', 'FST4', 'FST4W', 'FT4', 'FT2','JS8', 'JTMS', 'MFSK4', 'MFSK8', 'MFSK11', 'MFSK16', 'MFSK22', 'MFSK31', 'MFSK32', 'MFSK64', 'MFSK64L', 'MFSK128 MFSK128L', 'Q65'],\n 'OLIVIA': ['OLIVIA 4/125', 'OLIVIA 4/250', 'OLIVIA 8/250', 'OLIVIA 8/500', 'OLIVIA 16/500', 'OLIVIA 16/1000', 'OLIVIA 32/1000'],\n 'OPERA': ['OPERA-BEACON', 'OPERA-QSO'],\n 'PAC': ['PAC2', 'PAC3', 'PAC4'],\n 'PAX': ['PAX2'],\n 'PSK': ['8PSK125', '8PSK125F', '8PSK125FL', '8PSK250', '8PSK250F', '8PSK250FL', '8PSK500', '8PSK500F', '8PSK1000', '8PSK1000F', '8PSK1200F', 'FSK31', 'PSK10', 'PSK31', 'PSK63', 'PSK63F', 'PSK63RC4', 'PSK63RC5', 'PSK63RC10', 'PSK63RC20', 'PSK63RC32', 'PSK125', 'PSK125C12', 'PSK125R', 'PSK125RC10', 'PSK125RC12', 'PSK125RC16', 'PSK125RC4', 'PSK125RC5', 'PSK250', 'PSK250C6', 'PSK250R', 'PSK250RC2', 'PSK250RC3', 'PSK250RC5', 'PSK250RC6', 'PSK250RC7', 'PSK500', 'PSK500C2', 'PSK500C4', 'PSK500R', 'PSK500RC2', 'PSK500RC3', 'PSK500RC4', 'PSK800C2', 'PSK800RC2', 'PSK1000', 'PSK1000C2', 'PSK1000R', 'PSK1000RC2', 'PSKAM10', 'PSKAM31', 'PSKAM50', 'PSKFEC31', 'QPSK31', 'QPSK63', 'QPSK125', 'QPSK250', 'QPSK500', 'SIM31'],\n 'QRA64': ['QRA64A', 'QRA64B', 'QRA64C', 'QRA64D', 'QRA64E'],\n 'ROS': ['ROS-EME', 'ROS-HF', 'ROS-MF'],\n 'RTTY': ['ASCI'],\n 'SSB': ['LSB', 'USB'],\n 'THOR': ['THOR-M', 'THOR4', 'THOR5', 'THOR8', 'THOR11', 'THOR16', 'THOR22', 'THOR25X4', 'THOR50X1', 'THOR50X2', 'THOR100'],\n 'THRB': ['THRBX', 'THRBX1', 'THRBX2', 'THRBX4', 'THROB1', 'THROB2', 'THROB4'],\n 'TOR': ['AMTORFEC', 'GTOR', 'NAVTEX', 'SITORB']\n} as const\n\nexport const ADIF_MODE_FOR_SUBMODE: Record<string, string> = {}\nObject.keys(ADIF_SUBMODES).forEach(mode => {\n ADIF_SUBMODES[mode].forEach(submode => {\n ADIF_MODE_FOR_SUBMODE[submode] = mode\n })\n})\n\nexport const ADIF_MODES_AND_SUBMODES: readonly string[] = [...new Set([...ADIF_MODES, ...Object.values(ADIF_SUBMODES).flat()])].sort()\n\nexport function adifModeAndSubmodeForMode(mode: string): string[] {\n if (ADIF_MODE_FOR_SUBMODE[mode]) {\n return [ADIF_MODE_FOR_SUBMODE[mode], mode]\n } else {\n return [mode]\n }\n}\n\nexport function superModeForMode(mode: string): SuperMode {\n if (ADIF_MODE_FOR_SUBMODE[mode]) mode = ADIF_MODE_FOR_SUBMODE[mode]\n\n if (mode === 'CW') {\n return 'CW'\n } else if (mode === 'SSB' || mode === 'FM' || mode === 'AM' || mode === 'DIGITALVOICE' || mode === 'PHONE') {\n return 'PHONE'\n } else {\n return 'DATA'\n }\n}\n\nconst bandPlansData = BandPlans as unknown as BandPlansData\n\nconst AllSegments: SegmentWithMetadata[] = Object.keys(bandPlansData.bands).reduce((segments, band) => {\n return segments.concat(\n bandPlansData.bands[band].segments.map(segment => {\n const mhz = Array.isArray(segment.mhz) && segment.mhz.length >= 2\n ? [segment.mhz[0], segment.mhz[1]] as [number, number]\n : [0, 0] as [number, number]\n return {\n name: segment.name,\n mode: segment.mode,\n submode: segment.submode,\n priority: segment.priority,\n mhz,\n band,\n width: mhz[1] - mhz[0],\n regions: (segment.regions || []).reduce((regions: Record<string, boolean>, region) => { regions[region.toString()] = true; return regions }, {}),\n entities: (segment.entities || []).reduce((entities: Record<string, boolean>, entity) => { entities[entity] = true; return entities }, {}),\n countries: (segment.countries || []).reduce((countries: Record<string, boolean>, country) => { countries[country] = true; return countries }, {}),\n } as SegmentWithMetadata\n })\n )\n}, [] as SegmentWithMetadata[])\n\nexport function modeForFrequency(frequency: number, options: ModeForFrequencyOptions = {}): string | null | undefined {\n const { ituRegion, countryCode, entityPrefix } = options\n\n const segments = AllSegments.filter(segment => (\n (segment.mhz[0] <= frequency && segment.mhz[1] >= frequency) &&\n (!entityPrefix || Object.keys(segment.entities).length === 0 || segment.entities[entityPrefix]) &&\n (!countryCode || Object.keys(segment.countries).length === 0 || segment.countries[countryCode]) &&\n (!ituRegion || Object.keys(segment.regions).length === 0 || segment.regions[ituRegion.toString()])\n ))\n\n const sortedSegments = segments.sort((a, b) => {\n if ((a.priority ?? 0) < (b.priority ?? 0)) return 1\n if ((a.priority ?? 0) > (b.priority ?? 0)) return -1\n\n if (entityPrefix && !a.entities[entityPrefix] && b.entities[entityPrefix]) return 1\n if (entityPrefix && a.entities[entityPrefix] && !b.entities[entityPrefix]) return -1\n\n if (countryCode && !a.countries[countryCode] && b.countries[countryCode]) return 1\n if (countryCode && a.countries[countryCode] && !b.countries[countryCode]) return -1\n\n if (ituRegion && !a.regions[ituRegion.toString()] && b.regions[ituRegion.toString()]) return 1\n if (ituRegion && a.regions[ituRegion.toString()] && !b.regions[ituRegion.toString()]) return -1\n\n return a.width - b.width\n })\n\n return sortedSegments[0]?.mode\n}\n\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ham2k/lib-operation-data",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -20,11 +20,13 @@
|
|
|
20
20
|
"jest": "~30",
|
|
21
21
|
"standard": "^17.1.2",
|
|
22
22
|
"ts-jest": "^29.1.0",
|
|
23
|
+
"tsup": "^8.5.1",
|
|
23
24
|
"typescript": "^5.0.0"
|
|
24
25
|
},
|
|
25
26
|
"scripts": {
|
|
26
|
-
"build": "
|
|
27
|
-
"test": "
|
|
27
|
+
"build": "tsup",
|
|
28
|
+
"test": "NODE_OPTIONS=--experimental-vm-modules jest",
|
|
29
|
+
"type-check": "tsc --noEmit",
|
|
28
30
|
"prepublishOnly": "npm run build"
|
|
29
31
|
},
|
|
30
32
|
"standard": {
|
package/dist/data/bandPlans.json
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"sources": [
|
|
3
|
-
{ "url": "https://www.iaru-r2.org/en/reference/band-plans/" },
|
|
4
|
-
{ "url": "https://www.arrl.org/band-plan" },
|
|
5
|
-
{ "url": "https://www.arrl.org/news/view/updated-arrl-us-amateur-radio-bands-charts-now-available" }
|
|
6
|
-
],
|
|
7
|
-
"bands": {
|
|
8
|
-
"160m": {
|
|
9
|
-
"mhz": [1800, 2000],
|
|
10
|
-
"segments": [
|
|
11
|
-
{ "name": "CW", "mhz": [1800, 1843], "mode": "CW" },
|
|
12
|
-
{ "name": "Data", "mhz": [1800, 1810], "mode": "RTTY" },
|
|
13
|
-
{ "name": "FT8", "mhz": [1840, 1843], "mode": "FT8", "priority": 100 },
|
|
14
|
-
{ "name": "Phone", "mhz": [1843, 2000], "mode": "SSB", "submode": "LSB" },
|
|
15
|
-
{ "name": "Australia", "mhz": [1800, 1875], "mode": null, "countries": ["au"] }
|
|
16
|
-
]
|
|
17
|
-
},
|
|
18
|
-
"80m": {
|
|
19
|
-
"mhz": [3500, 3800],
|
|
20
|
-
"segments": [
|
|
21
|
-
{ "name": "CW", "mhz": [3500, 3600], "mode": "CW" },
|
|
22
|
-
{ "name": "Phone", "mhz": [3535, 3800], "mode": "SSB", "submode": "LSB", "regions": [3] },
|
|
23
|
-
{ "name": "FT8", "mhz": [3568, 3571], "mode": "FT8", "regions": [3], "priority": 100 },
|
|
24
|
-
{ "name": "Data", "mhz": [3570, 3600], "mode": "RTTY" },
|
|
25
|
-
{ "name": "FT8", "mhz": [3573, 3576], "mode": "FT8", "priority": 100 },
|
|
26
|
-
{ "name": "Phone", "mhz": [3600, 4000], "mode": "SSB", "submode": "LSB" },
|
|
27
|
-
{ "name": "Australia", "mhz": [3500, 3800], "mode": null, "countries": ["au"] }
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
"60m": {
|
|
31
|
-
"mhz": [5330.5, 3406.5],
|
|
32
|
-
"segments": [
|
|
33
|
-
{ "name": "60m Channel 1", "mhz": [5330.5, 5333.5] },
|
|
34
|
-
{ "name": "60m Channel 2", "mhz": [5346.5, 5349.5] },
|
|
35
|
-
{ "name": "60m Channel 3", "mhz": [5357, 5360], "mode": "FT8", "priority": 100 },
|
|
36
|
-
{ "name": "60m Channel 4", "mhz": [5371.5, 5373.5] },
|
|
37
|
-
{ "name": "60m Channel 5", "mhz": [5403.5, 5406.5] }
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
"40m": {
|
|
41
|
-
"mhz": [7000, 7300],
|
|
42
|
-
"segments": [
|
|
43
|
-
{ "name": "CW", "mhz": [7000, 7060], "mode": "CW" },
|
|
44
|
-
{ "name": "CW", "mhz": [7000, 7125], "mode": "CW", "countries": ["us"] },
|
|
45
|
-
{ "name": "FT4", "mhz": [7047.5, 7050.5], "mode": "FT4", "priority": 100 },
|
|
46
|
-
{ "name": "Phone", "mhz": [7060, 7300], "mode": "SSB", "submode": "LSB" },
|
|
47
|
-
{ "name": "FT8", "mhz": [7074, 7077], "mode": "FT8", "priority": 100 },
|
|
48
|
-
{ "name": "Data", "mhz": [7080, 7125], "mode": "RTTY", "countries": ["us"] },
|
|
49
|
-
{ "name": "Phone", "mhz": [7125, 7300], "mode": "SSB", "submode": "LSB", "countries": ["us"] },
|
|
50
|
-
{ "name": "Australia", "mhz": [7000, 7300], "mode": null, "countries": ["au"] }
|
|
51
|
-
]
|
|
52
|
-
},
|
|
53
|
-
"30m": {
|
|
54
|
-
"mhz": [10100, 10150],
|
|
55
|
-
"segments": [
|
|
56
|
-
{ "name": "CW", "mhz": [10100, 10150], "mode": "CW" },
|
|
57
|
-
{ "name": "Data", "mhz": [10130, 10140], "mode": "RTTY" },
|
|
58
|
-
{ "name": "FT8", "mhz": [10136, 10139], "mode": "FT8", "priority": 100 },
|
|
59
|
-
{ "name": "FT4", "mhz": [10140, 10143], "mode": "FT4", "priority": 100 },
|
|
60
|
-
{ "name": "Countries with no plan on 30m", "mhz": [10100, 10150], "mode": null, "countries": ["au", "za"] }
|
|
61
|
-
]
|
|
62
|
-
},
|
|
63
|
-
"20m": {
|
|
64
|
-
"mhz": [14000, 14350],
|
|
65
|
-
"segments": [
|
|
66
|
-
{ "name": "CW", "mhz": [14000, 14150], "mode": "CW" },
|
|
67
|
-
{ "name": "CW", "mhz": [14000, 14070], "mode": "CW", "regions": [1] },
|
|
68
|
-
{ "name": "CW", "mhz": [14000, 14101], "mode": "CW", "regions": [2] },
|
|
69
|
-
{ "name": "Data", "mhz": [14070, 14095], "mode": "RTTY" },
|
|
70
|
-
{ "name": "FT8", "mhz": [14074, 14077], "mode": "FT8", "priority": 100 },
|
|
71
|
-
{ "name": "FT4", "mhz": [14080, 14083], "mode": "FT4", "priority": 100 },
|
|
72
|
-
{ "name": "Phone", "mhz": [14112, 14350], "mode": "SSB", "submode": "USB", "regions": [1, 2] },
|
|
73
|
-
{ "name": "Phone", "mhz": [14150, 14350], "mode": "SSB", "submode": "USB", "countries": ["us"] },
|
|
74
|
-
{ "name": "Australia", "mhz": [14000, 14350], "mode": null, "countries": ["au"] }
|
|
75
|
-
]
|
|
76
|
-
},
|
|
77
|
-
"17m": {
|
|
78
|
-
"mhz": [18068, 18168],
|
|
79
|
-
"segments": [
|
|
80
|
-
{ "name": "CW", "mhz": [18068, 18110], "mode": "CW" },
|
|
81
|
-
{ "name": "Data", "mhz": [18100, 18105], "mode": "RTTY" },
|
|
82
|
-
{ "name": "FT8", "mhz": [18100, 18103], "mode": "FT8", "priority": 100 },
|
|
83
|
-
{ "name": "FT4", "mhz": [18104, 18107], "mode": "FT4", "priority": 100 },
|
|
84
|
-
{ "name": "Phone", "mhz": [18110, 18168], "mode": "SSB", "submode": "USB" },
|
|
85
|
-
{ "name": "Australia", "mhz": [18068, 18168], "mode": null, "countries": ["au"] }
|
|
86
|
-
]
|
|
87
|
-
},
|
|
88
|
-
"15m": {
|
|
89
|
-
"mhz": [21000, 21450],
|
|
90
|
-
"segments": [
|
|
91
|
-
{ "name": "CW", "mhz": [21000, 21150], "mode": "CW" },
|
|
92
|
-
{ "name": "Data", "mhz": [21070, 21095], "mode": "RTTY" },
|
|
93
|
-
{ "name": "FT8", "mhz": [21074, 21077], "mode": "FT8", "priority": 100 },
|
|
94
|
-
{ "name": "FT4", "mhz": [21140, 21143], "mode": "FT4", "priority": 100 },
|
|
95
|
-
{ "name": "Phone", "mhz": [21150, 21450], "mode": "SSB", "submode": "USB" },
|
|
96
|
-
{ "name": "Australia", "mhz": [21000, 21450], "mode": null, "countries": ["au"] }
|
|
97
|
-
]
|
|
98
|
-
},
|
|
99
|
-
"12m": {
|
|
100
|
-
"mhz": [24890, 24990],
|
|
101
|
-
"segments": [
|
|
102
|
-
{ "name": "CW", "mhz": [24890, 24930], "mode": "CW" },
|
|
103
|
-
{ "name": "FT8", "mhz": [24915, 24918], "mode": "FT8", "priority": 100 },
|
|
104
|
-
{ "name": "FT4", "mhz": [24919, 23922], "mode": "FT4", "priority": 100 },
|
|
105
|
-
{ "name": "Data", "mhz": [24920, 24925], "mode": "RTTY" },
|
|
106
|
-
{ "name": "Phone", "mhz": [24930, 24990], "mode": "SSB", "submode": "USB" },
|
|
107
|
-
{ "name": "Australia", "mhz": [24890, 24990], "mode": null, "countries": ["au"] }
|
|
108
|
-
]
|
|
109
|
-
},
|
|
110
|
-
"10m": {
|
|
111
|
-
"mhz": [28000, 29700],
|
|
112
|
-
"segments": [
|
|
113
|
-
{ "name": "CW", "mhz": [28000, 28190], "mode": "CW" },
|
|
114
|
-
{ "name": "Data", "mhz": [28070, 28150], "mode": "RTTY" },
|
|
115
|
-
{ "name": "FT8", "mhz": [28074, 28077], "mode": "FT8", "priority": 100 },
|
|
116
|
-
{ "name": "FT4", "mhz": [28180, 28183], "mode": "FT4", "priority": 100 },
|
|
117
|
-
{ "name": "Beacons", "mhz": [28190, 28300] },
|
|
118
|
-
{ "name": "Phone SSB", "mhz": [28300, 29000], "mode": "SSB", "submode": "USB" },
|
|
119
|
-
{ "name": "AM", "mhz": [29000, 29200], "mode": "AM" },
|
|
120
|
-
{ "name": "Satellite", "mhz": [29300, 29520] },
|
|
121
|
-
{ "name": "Repeater Uplinks", "mhz": [29520, 29590] },
|
|
122
|
-
{ "name": "FM", "mhz": [29520, 29700], "mode": "FM" },
|
|
123
|
-
{ "name": "Repeater Downlinks", "mhz": [29620, 29700] },
|
|
124
|
-
{ "name": "Australia", "mhz": [28000, 29700], "mode": null, "countries": ["au"] }
|
|
125
|
-
]
|
|
126
|
-
},
|
|
127
|
-
"6m": {
|
|
128
|
-
"mhz": [50000, 54000],
|
|
129
|
-
"segments": [
|
|
130
|
-
{ "name": "CW", "mhz": [50000, 50100], "mode": "CW" },
|
|
131
|
-
{ "name": "Phone", "mhz": [50150, 50400], "mode": "SSB", "submode": "USB" },
|
|
132
|
-
{ "name": "Phone", "mhz": [51000, 51110], "mode": "SSB", "submode": "USB" },
|
|
133
|
-
{ "name": "FM", "mhz": [51110, 52100], "mode": "FM" },
|
|
134
|
-
{ "name": "FM", "mhz": [51110, 52100], "mode": "FM" },
|
|
135
|
-
{ "name": "FT8", "mhz": [50313, 50316], "mode": "FT8", "priority": 100 },
|
|
136
|
-
{ "name": "FT4", "mhz": [50318, 50321], "mode": "FT4", "priority": 100 },
|
|
137
|
-
{ "name": "FT8", "mhz": [50323, 50326], "mode": "FT8", "priority": 100 },
|
|
138
|
-
{ "name": "Australia", "mhz": [50000, 54000], "mode": null, "countries": ["au"] }
|
|
139
|
-
]
|
|
140
|
-
},
|
|
141
|
-
"2m": {
|
|
142
|
-
"mhz": [144000, 148000],
|
|
143
|
-
"segments": [
|
|
144
|
-
{ "name": "CW", "mhz": [144000, 144100], "mode": "CW" },
|
|
145
|
-
{ "name": "Data", "mhz": [144100, 144200], "mode": "RTTY" },
|
|
146
|
-
{ "name": "FT8", "mhz": [144174, 144177], "mode": "FT8", "priority": 100 },
|
|
147
|
-
{ "name": "FT4", "mhz": [144170, 144173], "mode": "FT4", "priority": 100 },
|
|
148
|
-
{ "name": "Phone", "mhz": [144200, 144275], "mode": "SSB", "submode": "USB" },
|
|
149
|
-
{ "name": "FM", "mhz": [144300, 148000], "mode": "FM" }
|
|
150
|
-
]
|
|
151
|
-
},
|
|
152
|
-
"1.25m": {
|
|
153
|
-
"mhz": [222000, 225000],
|
|
154
|
-
"segments": [
|
|
155
|
-
{ "name": "CW", "mhz": [222000, 222070], "mode": "CW" },
|
|
156
|
-
{ "name": "Phone", "mhz": [222070, 222150], "mode": "SSB", "submode": "USB" },
|
|
157
|
-
{ "name": "FM", "mhz": [222200, 225000], "mode": "FM" }
|
|
158
|
-
]
|
|
159
|
-
},
|
|
160
|
-
"70cm": {
|
|
161
|
-
"mhz": [420000, 450000],
|
|
162
|
-
"segments": [
|
|
163
|
-
{ "name": "CW", "mhz": [432000, 432100], "mode": "CW" },
|
|
164
|
-
{ "name": "Phone", "mhz": [432100, 432300], "mode": "SSB", "submode": "USB" },
|
|
165
|
-
{ "name": "Phone", "mhz": [432420, 433000], "mode": "SSB", "submode": "USB" },
|
|
166
|
-
{ "name": "FM", "mhz": [420000, 450000], "mode": "FM" }
|
|
167
|
-
]
|
|
168
|
-
},
|
|
169
|
-
"33cm": {
|
|
170
|
-
"mhz": [902000, 928000],
|
|
171
|
-
"segments": [
|
|
172
|
-
{ "name": "FM", "mhz": [927000, 928000], "mode": "FM" }
|
|
173
|
-
]
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
|
package/dist/lib/bands.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare const EXTENDED_BANDS: readonly ["2190m", "630m", "560m", "160m", "80m", "60m", "40m", "30m", "20m", "17m", "15m", "12m", "11m", "10m", "6m", "5m", "4m", "2m", "1.25m", "70cm", "33cm", "23cm", "13cm", "9cm", "6cm", "3cm", "1.25cm", "6mm", "4mm", "2.5mm", "2mm", "1mm", "submm", "other"];
|
|
2
|
-
export declare const BANDS: readonly ["2190m", "630m", "560m", "160m", "80m", "60m", "40m", "30m", "20m", "17m", "15m", "12m", "10m", "6m", "5m", "4m", "2m", "1.25m", "70cm", "33cm", "23cm", "13cm", "9cm", "6cm", "3cm", "1.25cm", "6mm", "4mm", "2.5mm", "2mm", "1mm", "submm", "other"];
|
|
3
|
-
export type Band = typeof EXTENDED_BANDS[number];
|
|
4
|
-
export declare const HF_BANDS: readonly ["160m", "80m", "60m", "40m", "30m", "20m", "17m", "15m", "12m", "10m"];
|
|
5
|
-
export declare const VHF_BANDS: readonly ["6m", "5m", "4m", "2m", "1.25m"];
|
|
6
|
-
export declare const UHF_BANDS: readonly ["70cm", "33cm", "23cm", "13cm"];
|
|
7
|
-
export declare const SHF_BANDS: readonly ["9cm", "6cm", "3cm", "1.25cm"];
|
|
8
|
-
export declare const EHF_BANDS: readonly ["6mm", "4mm", "2mm", "2.5mm", "1mm", "submm"];
|
|
9
|
-
export declare const POPULAR_BANDS: readonly ["160m", "80m", "60m", "40m", "30m", "20m", "17m", "15m", "12m", "10m", "6m", "2m", "70cm"];
|
|
10
|
-
export declare const CONTEST_BANDS: readonly ["160m", "80m", "40m", "20m", "15m", "10m"];
|
|
11
|
-
export declare function bandForFrequency(freq: number): Band;
|
|
12
|
-
export declare function frequencyForBand(band: Band, mode?: string): number | undefined;
|
|
13
|
-
//# sourceMappingURL=bands.d.ts.map
|
package/dist/lib/bands.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bands.d.ts","sourceRoot":"","sources":["../../src/lib/bands.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,yQAmCjB,CAAA;AAEV,eAAO,MAAM,KAAK,kQAkCR,CAAA;AAEV,MAAM,MAAM,IAAI,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;AAEhD,eAAO,MAAM,QAAQ,kFAAmF,CAAA;AACxG,eAAO,MAAM,SAAS,4CAA6C,CAAA;AACnE,eAAO,MAAM,SAAS,2CAA4C,CAAA;AAClE,eAAO,MAAM,SAAS,0CAA2C,CAAA;AACjE,eAAO,MAAM,SAAS,yDAA0D,CAAA;AAEhF,eAAO,MAAM,aAAa,sGAAuG,CAAA;AACjI,eAAO,MAAM,aAAa,sDAAuD,CAAA;AAEjF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEnD;AAuCD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAwF9E"}
|
package/dist/lib/bands.js
DELETED
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
export const EXTENDED_BANDS = [
|
|
2
|
-
'2190m',
|
|
3
|
-
'630m',
|
|
4
|
-
'560m',
|
|
5
|
-
'160m',
|
|
6
|
-
'80m',
|
|
7
|
-
'60m',
|
|
8
|
-
'40m',
|
|
9
|
-
'30m',
|
|
10
|
-
'20m',
|
|
11
|
-
'17m',
|
|
12
|
-
'15m',
|
|
13
|
-
'12m',
|
|
14
|
-
'11m',
|
|
15
|
-
'10m',
|
|
16
|
-
'6m',
|
|
17
|
-
'5m',
|
|
18
|
-
'4m',
|
|
19
|
-
'2m',
|
|
20
|
-
'1.25m',
|
|
21
|
-
'70cm',
|
|
22
|
-
'33cm',
|
|
23
|
-
'23cm',
|
|
24
|
-
'13cm',
|
|
25
|
-
'9cm',
|
|
26
|
-
'6cm',
|
|
27
|
-
'3cm',
|
|
28
|
-
'1.25cm',
|
|
29
|
-
'6mm',
|
|
30
|
-
'4mm',
|
|
31
|
-
'2.5mm',
|
|
32
|
-
'2mm',
|
|
33
|
-
'1mm',
|
|
34
|
-
'submm',
|
|
35
|
-
'other'
|
|
36
|
-
];
|
|
37
|
-
export const BANDS = [
|
|
38
|
-
'2190m',
|
|
39
|
-
'630m',
|
|
40
|
-
'560m',
|
|
41
|
-
'160m',
|
|
42
|
-
'80m',
|
|
43
|
-
'60m',
|
|
44
|
-
'40m',
|
|
45
|
-
'30m',
|
|
46
|
-
'20m',
|
|
47
|
-
'17m',
|
|
48
|
-
'15m',
|
|
49
|
-
'12m',
|
|
50
|
-
'10m',
|
|
51
|
-
'6m',
|
|
52
|
-
'5m',
|
|
53
|
-
'4m',
|
|
54
|
-
'2m',
|
|
55
|
-
'1.25m',
|
|
56
|
-
'70cm',
|
|
57
|
-
'33cm',
|
|
58
|
-
'23cm',
|
|
59
|
-
'13cm',
|
|
60
|
-
'9cm',
|
|
61
|
-
'6cm',
|
|
62
|
-
'3cm',
|
|
63
|
-
'1.25cm',
|
|
64
|
-
'6mm',
|
|
65
|
-
'4mm',
|
|
66
|
-
'2.5mm',
|
|
67
|
-
'2mm',
|
|
68
|
-
'1mm',
|
|
69
|
-
'submm',
|
|
70
|
-
'other'
|
|
71
|
-
];
|
|
72
|
-
export const HF_BANDS = ['160m', '80m', '60m', '40m', '30m', '20m', '17m', '15m', '12m', '10m'];
|
|
73
|
-
export const VHF_BANDS = ['6m', '5m', '4m', '2m', '1.25m'];
|
|
74
|
-
export const UHF_BANDS = ['70cm', '33cm', '23cm', '13cm'];
|
|
75
|
-
export const SHF_BANDS = ['9cm', '6cm', '3cm', '1.25cm'];
|
|
76
|
-
export const EHF_BANDS = ['6mm', '4mm', '2mm', '2.5mm', '1mm', 'submm'];
|
|
77
|
-
export const POPULAR_BANDS = ['160m', '80m', '60m', '40m', '30m', '20m', '17m', '15m', '12m', '10m', '6m', '2m', '70cm'];
|
|
78
|
-
export const CONTEST_BANDS = ['160m', '80m', '40m', '20m', '15m', '10m'];
|
|
79
|
-
export function bandForFrequency(freq) {
|
|
80
|
-
return bandForExactFrequencyInMHz(freq) ?? bandForExactFrequencyInMHz(freq * 1000) ?? 'other';
|
|
81
|
-
}
|
|
82
|
-
function bandForExactFrequencyInMHz(freq) {
|
|
83
|
-
if (freq >= 130 && freq <= 140)
|
|
84
|
-
return '2190m';
|
|
85
|
-
else if (freq >= 450 && freq <= 499)
|
|
86
|
-
return '630m';
|
|
87
|
-
else if (freq >= 500 && freq <= 505)
|
|
88
|
-
return '560m';
|
|
89
|
-
else if (freq >= 1700 && freq <= 2100)
|
|
90
|
-
return '160m';
|
|
91
|
-
else if (freq >= 3400 && freq <= 4100)
|
|
92
|
-
return '80m';
|
|
93
|
-
else if (freq >= 5300 && freq <= 5500)
|
|
94
|
-
return '60m';
|
|
95
|
-
else if (freq >= 6900 && freq <= 7400)
|
|
96
|
-
return '40m';
|
|
97
|
-
else if (freq >= 10000 && freq <= 10200)
|
|
98
|
-
return '30m';
|
|
99
|
-
else if (freq >= 13900 && freq <= 14400)
|
|
100
|
-
return '20m';
|
|
101
|
-
else if (freq >= 18000 && freq <= 18200)
|
|
102
|
-
return '17m';
|
|
103
|
-
else if (freq >= 20900 && freq <= 21600)
|
|
104
|
-
return '15m';
|
|
105
|
-
else if (freq >= 24500 && freq <= 25200)
|
|
106
|
-
return '12m';
|
|
107
|
-
else if (freq >= 26000 && freq <= 27500)
|
|
108
|
-
return '11m';
|
|
109
|
-
else if (freq >= 27900 && freq <= 30000)
|
|
110
|
-
return '10m';
|
|
111
|
-
else if (freq >= 50000 && freq <= 54000)
|
|
112
|
-
return '6m';
|
|
113
|
-
else if (freq >= 54001 && freq <= 69999)
|
|
114
|
-
return '5m';
|
|
115
|
-
else if (freq >= 70000 && freq <= 71000)
|
|
116
|
-
return '4m';
|
|
117
|
-
else if (freq >= 140000 && freq <= 150000)
|
|
118
|
-
return '2m';
|
|
119
|
-
else if (freq >= 219000 && freq <= 230000)
|
|
120
|
-
return '1.25m';
|
|
121
|
-
else if (freq >= 400000 && freq <= 460000)
|
|
122
|
-
return '70cm';
|
|
123
|
-
else if (freq >= 900000 && freq <= 930000)
|
|
124
|
-
return '33cm';
|
|
125
|
-
else if (freq >= 1180000 && freq <= 1420000)
|
|
126
|
-
return '23cm';
|
|
127
|
-
else if (freq >= 2300000 && freq <= 2450000)
|
|
128
|
-
return '13cm';
|
|
129
|
-
else if (freq >= 3290000 && freq <= 3510000)
|
|
130
|
-
return '9cm';
|
|
131
|
-
else if (freq >= 5640000 && freq <= 5926000)
|
|
132
|
-
return '6cm';
|
|
133
|
-
else if (freq >= 10000000 && freq <= 10500000)
|
|
134
|
-
return '3cm';
|
|
135
|
-
else if (freq >= 24000000 && freq <= 24250000)
|
|
136
|
-
return '1.25cm';
|
|
137
|
-
else if (freq >= 47000000 && freq <= 47200000)
|
|
138
|
-
return '6mm';
|
|
139
|
-
else if (freq >= 75000000 && freq <= 81000000)
|
|
140
|
-
return '4mm';
|
|
141
|
-
else if (freq >= 122250000 && freq <= 123000000)
|
|
142
|
-
return '2.5mm';
|
|
143
|
-
else if (freq >= 134000000 && freq <= 141000000)
|
|
144
|
-
return '2mm';
|
|
145
|
-
else if (freq >= 241000000 && freq <= 250000000)
|
|
146
|
-
return '1mm';
|
|
147
|
-
else if (freq >= 300000000 && freq <= 7500000000)
|
|
148
|
-
return 'submm';
|
|
149
|
-
else
|
|
150
|
-
return undefined;
|
|
151
|
-
}
|
|
152
|
-
export function frequencyForBand(band, mode) {
|
|
153
|
-
if (band === '2190m')
|
|
154
|
-
return 135.7;
|
|
155
|
-
else if (band === '630m')
|
|
156
|
-
return 472;
|
|
157
|
-
else if (band === '560m')
|
|
158
|
-
return 501;
|
|
159
|
-
else if (band === '160m') {
|
|
160
|
-
if (mode === 'FT8' || mode === 'FT4')
|
|
161
|
-
return 1840;
|
|
162
|
-
else
|
|
163
|
-
return 1800;
|
|
164
|
-
}
|
|
165
|
-
else if (band === '80m') {
|
|
166
|
-
if (mode === 'SSB' || mode === 'LSB')
|
|
167
|
-
return 3800;
|
|
168
|
-
else if (mode === 'FT8')
|
|
169
|
-
return 3573;
|
|
170
|
-
else if (mode === 'FT4')
|
|
171
|
-
return 3575;
|
|
172
|
-
else
|
|
173
|
-
return 3000;
|
|
174
|
-
}
|
|
175
|
-
else if (band === '60m') {
|
|
176
|
-
if (mode === 'FT8')
|
|
177
|
-
return 5357;
|
|
178
|
-
else
|
|
179
|
-
return 5330;
|
|
180
|
-
}
|
|
181
|
-
else if (band === '40m') {
|
|
182
|
-
if (mode === 'SSB' || mode === 'LSB')
|
|
183
|
-
return 7175;
|
|
184
|
-
else if (mode === 'FT8')
|
|
185
|
-
return 7074;
|
|
186
|
-
else if (mode === 'FT4')
|
|
187
|
-
return 7047.5;
|
|
188
|
-
else
|
|
189
|
-
return 7000;
|
|
190
|
-
}
|
|
191
|
-
else if (band === '30m') {
|
|
192
|
-
if (mode === 'FT8')
|
|
193
|
-
return 10136;
|
|
194
|
-
else if (mode === 'FT4')
|
|
195
|
-
return 10140;
|
|
196
|
-
else
|
|
197
|
-
return 10100;
|
|
198
|
-
}
|
|
199
|
-
else if (band === '20m') {
|
|
200
|
-
if (mode === 'SSB' || mode === 'USB')
|
|
201
|
-
return 14225;
|
|
202
|
-
else if (mode === 'FT8')
|
|
203
|
-
return 14074;
|
|
204
|
-
else if (mode === 'FT4')
|
|
205
|
-
return 14080;
|
|
206
|
-
else
|
|
207
|
-
return 14000;
|
|
208
|
-
}
|
|
209
|
-
else if (band === '17m') {
|
|
210
|
-
if (mode === 'SSB' || mode === 'USB')
|
|
211
|
-
return 18110;
|
|
212
|
-
else if (mode === 'FT8')
|
|
213
|
-
return 18100;
|
|
214
|
-
else if (mode === 'FT4')
|
|
215
|
-
return 18104;
|
|
216
|
-
else
|
|
217
|
-
return 18068;
|
|
218
|
-
}
|
|
219
|
-
else if (band === '15m') {
|
|
220
|
-
if (mode === 'SSB' || mode === 'USB')
|
|
221
|
-
return 21275;
|
|
222
|
-
else if (mode === 'FT8')
|
|
223
|
-
return 21074;
|
|
224
|
-
else if (mode === 'FT4')
|
|
225
|
-
return 21140;
|
|
226
|
-
else
|
|
227
|
-
return 21000;
|
|
228
|
-
}
|
|
229
|
-
else if (band === '12m') {
|
|
230
|
-
if (mode === 'SSB' || mode === 'USB')
|
|
231
|
-
return 24930;
|
|
232
|
-
else if (mode === 'FT8')
|
|
233
|
-
return 24915;
|
|
234
|
-
else if (mode === 'FT4')
|
|
235
|
-
return 24919;
|
|
236
|
-
else
|
|
237
|
-
return 24890;
|
|
238
|
-
}
|
|
239
|
-
else if (band === '11m') {
|
|
240
|
-
return 26965;
|
|
241
|
-
}
|
|
242
|
-
else if (band === '10m') {
|
|
243
|
-
if (mode === 'SSB' || mode === 'USB')
|
|
244
|
-
return 28300;
|
|
245
|
-
else if (mode === 'FM' || mode === 'AM')
|
|
246
|
-
return 28500;
|
|
247
|
-
else if (mode === 'FT8')
|
|
248
|
-
return 28074;
|
|
249
|
-
else if (mode === 'FT4')
|
|
250
|
-
return 28180;
|
|
251
|
-
else
|
|
252
|
-
return 28000;
|
|
253
|
-
}
|
|
254
|
-
else if (band === '6m') {
|
|
255
|
-
if (mode === 'SSB' || mode === 'USB')
|
|
256
|
-
return 50125;
|
|
257
|
-
else if (mode === 'FT8')
|
|
258
|
-
return 50313;
|
|
259
|
-
else if (mode === 'FT4')
|
|
260
|
-
return 50318;
|
|
261
|
-
else
|
|
262
|
-
return 50000;
|
|
263
|
-
}
|
|
264
|
-
else if (band === '5m')
|
|
265
|
-
return 55000;
|
|
266
|
-
else if (band === '4m')
|
|
267
|
-
return 70090;
|
|
268
|
-
else if (band === '2m')
|
|
269
|
-
return 145400;
|
|
270
|
-
else if (band === '1.25m')
|
|
271
|
-
return 222000;
|
|
272
|
-
else if (band === '70cm')
|
|
273
|
-
return 420000;
|
|
274
|
-
else if (band === '33cm')
|
|
275
|
-
return 902000;
|
|
276
|
-
else if (band === '23cm')
|
|
277
|
-
return 1240000;
|
|
278
|
-
else if (band === '13cm')
|
|
279
|
-
return 2300000;
|
|
280
|
-
else if (band === '9cm')
|
|
281
|
-
return 3300000;
|
|
282
|
-
else if (band === '6cm')
|
|
283
|
-
return 5650000;
|
|
284
|
-
else if (band === '3cm')
|
|
285
|
-
return 10000000;
|
|
286
|
-
else if (band === '1.25cm')
|
|
287
|
-
return 24000000;
|
|
288
|
-
else if (band === '6mm')
|
|
289
|
-
return 47000000;
|
|
290
|
-
else if (band === '4mm')
|
|
291
|
-
return 75500000;
|
|
292
|
-
else if (band === '2.5mm')
|
|
293
|
-
return 122500000;
|
|
294
|
-
else if (band === '2mm')
|
|
295
|
-
return 134000000;
|
|
296
|
-
else if (band === '1mm')
|
|
297
|
-
return 241000000;
|
|
298
|
-
else if (band === 'submm')
|
|
299
|
-
return 300000000;
|
|
300
|
-
else
|
|
301
|
-
return undefined;
|
|
302
|
-
}
|
|
303
|
-
//# sourceMappingURL=bands.js.map
|