Implementation
const adifFieldInfo = <String, adifType>{
// Common fields first:
'call': adifType.ADIFString,
'station_callsign': adifType.ADIFString,
'band': adifType.ADIFString,
'freq': adifType.ADIFNumber,
'mode': adifType.ADIFString,
'qso_date': adifType.ADIFDate,
'qso_date_off': adifType.ADIFDate,
'time_on': adifType.ADIFTime,
'time_off': adifType.ADIFTime,
// Remaining fields in alphabetical order:
'address': adifType.ADIFString,
'age': adifType.ADIFNumber,
'a_index': adifType.ADIFNumber,
'ant_az': adifType.ADIFNumber,
'ant_el': adifType.ADIFNumber,
'ant_path': adifType.ADIFString,
'arrl_sect': adifType.ADIFString,
'band_rx': adifType.ADIFString,
'check': adifType.ADIFString,
'class': adifType.ADIFString,
'cnty': adifType.ADIFString,
'comment': adifType.ADIFString,
'cont': adifType.ADIFString,
'contacted_op': adifType.ADIFString,
'contest_id': adifType.ADIFString,
'country': adifType.ADIFString,
'cqz': adifType.ADIFString,
'credit_submitted': adifType.ADIFString,
'credit_granted': adifType.ADIFString,
'distance': adifType.ADIFNumber,
'dxcc': adifType.ADIFString,
'email': adifType.ADIFString,
'eq_call': adifType.ADIFString,
'eqsl_qslrdate': adifType.ADIFString,
'eqsl_qslsdate': adifType.ADIFString,
'eqsl_qsl_rcvd': adifType.ADIFString,
'eqsl_qsl_sent': adifType.ADIFString,
'force_init': adifType.ADIFBoolean,
'freq_rx': adifType.ADIFNumber,
'gridsquare': adifType.ADIFString,
'guest_op': adifType.ADIFString,
'iota': adifType.ADIFString,
'iota_island_id': adifType.ADIFString,
'ituz': adifType.ADIFNumber,
'k_index': adifType.ADIFNumber,
'lat': adifType.ADIFLocation,
'lon': adifType.ADIFLocation,
'lotw_qslrdate': adifType.ADIFDate,
'lotw_qslsdate': adifType.ADIFDate,
'lotw_qsl_rcvd': adifType.ADIFString,
'lotw_qsl_sent': adifType.ADIFString,
'max_bursts': adifType.ADIFNumber,
'ms_shower': adifType.ADIFString,
'my_city': adifType.ADIFString,
'my_cnty': adifType.ADIFString,
'my_country': adifType.ADIFString,
'my_cq_zone': adifType.ADIFNumber,
'my_gridsquare': adifType.ADIFString,
'my_iota': adifType.ADIFString,
'my_iota_island_id': adifType.ADIFString,
'my_itu_zone': adifType.ADIFNumber,
'my_lat': adifType.ADIFLocation,
'my_lon': adifType.ADIFLocation,
'my_name': adifType.ADIFString,
'my_postal_code': adifType.ADIFString,
'my_rig': adifType.ADIFString,
'my_sig': adifType.ADIFString,
'my_sig_info': adifType.ADIFString,
'my_state': adifType.ADIFString,
'my_street': adifType.ADIFString,
'name': adifType.ADIFString,
'notes': adifType.ADIFString,
'nr_bursts': adifType.ADIFNumber,
'nr_pings': adifType.ADIFNumber,
'operator': adifType.ADIFString,
'owner_callsign': adifType.ADIFString,
'pfx': adifType.ADIFString,
'precedence': adifType.ADIFString,
'prop_mode': adifType.ADIFString,
'public_key': adifType.ADIFString,
'qslmsg': adifType.ADIFString,
'qslrdate': adifType.ADIFDate,
'qslsdate': adifType.ADIFDate,
'qsl_rcvd': adifType.ADIFString,
'qsl_rcvd_via': adifType.ADIFString,
'qsl_sent': adifType.ADIFString,
'qsl_sent_via': adifType.ADIFString,
'qsl_via': adifType.ADIFString,
'qso_complete': adifType.ADIFString,
'qso_random': adifType.ADIFBoolean,
'qth': adifType.ADIFString,
'rig': adifType.ADIFString,
'rst_rcvd': adifType.ADIFString,
'rst_sent': adifType.ADIFString,
'rx_pwr': adifType.ADIFNumber,
'sat_mode': adifType.ADIFString,
'sat_name': adifType.ADIFString,
'sfi': adifType.ADIFNumber,
'sig': adifType.ADIFString,
'sig_info': adifType.ADIFString,
'srx': adifType.ADIFNumber,
'srx_string': adifType.ADIFString,
'state': adifType.ADIFString,
'stx': adifType.ADIFNumber,
'stx_string': adifType.ADIFString,
'swl': adifType.ADIFBoolean,
'ten_ten': adifType.ADIFNumber,
'tx_pwr': adifType.ADIFNumber,
've_prov': adifType.ADIFString,
'web': adifType.ADIFString,
};