Blame view
lib/sms.js
742 Bytes
49eaf19a3
|
1 2 3 4 5 6 7 8 9 |
'use strict'; const moment = require('moment'); function extract(raw) { if (!raw) return null; const lines = raw.trim().split(/[ \r]+/m); if (!lines) return null; |
5ae543453
|
10 |
const metadata = lines[0].split(',').map(el => el.replace(/"/g, '')) || []; |
49eaf19a3
|
11 |
|
5ae543453
|
12 13 |
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'); |
49eaf19a3
|
14 15 16 |
const result = { metadata: { |
5ae543453
|
17 18 |
status: metadata[0].replace(/^.+: /, ''), from: metadata[1].replace(/^\+/, ''), |
49eaf19a3
|
19 20 21 22 23 24 25 26 27 28 29 30 |
ts, raw: lines[0], }, message: lines.slice(1).join(' ').trim(), raw, }; return result; } exports.extract = extract; |