toAdifQO100 = desc => {
const text2array = rows =>
((typeof rows === 'string') ? rows.trim().split('\n') : rows)
.map((row, i) =>
((typeof row === 'string') ? row.trim().split('|') : row)
.map(cell => cell.trim()));
let arr = text2array(desc);
return arr.map(e => {
const date = e[0].replace(/-/g, '');
const time = e[1].replace(/:/, '');
const call = e[2];
const mode = (e[3].length === 3) ? 'CW' : 'SSB';
return `<QSO_DATE:8>${date}<TIME_ON:4>${time}<CALL:${call.length}>${call}<MODE:${mode.length}>${mode}<BAND:4>13CM<FREQ:4>2400<BAND_RX:3>3CM <FREQ_RX:5>10489<PROP_MODE:3>SAT<SAT_NAME:6>QO-100
<EOR>
`;
}).join('');
}