sms.js
742 Bytes
'use strict';
const moment = require('moment');
function extract(raw) {
if (!raw) return null;
const lines = raw.trim().split(/[\n\r]+/m);
if (!lines) return null;
const metadata = lines[0].split(',').map(el => el.replace(/"/g, '')) || [];
const tsFromRaw = `${metadata[3]} ${metadata[4].replace(/\+\d+/, '')}`;
const ts = moment(tsFromRaw, 'YY/MM/DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss');
const result = {
metadata: {
status: metadata[0].replace(/^.+: /, ''),
from: metadata[1].replace(/^\+/, ''),
ts,
raw: lines[0],
},
message: lines.slice(1).join('\n').trim(),
raw,
};
return result;
}
exports.extract = extract;