'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;