Commit 233a5ff508d03bf1530b1203798771cb56d2b350
1 parent
6abb33e39c
Exists in
master
ESLINTED
Showing 1 changed file with 1 additions and 1 deletions Inline Diff
lib/sms.js
1 | 'use strict'; | 1 | 'use strict'; |
2 | 2 | ||
3 | const moment = require('moment'); | 3 | const moment = require('moment'); |
4 | 4 | ||
5 | function extract(raw) { | 5 | function extract(raw) { |
6 | if (!raw) return null; | 6 | if (!raw) return null; |
7 | const lines = raw.trim().split(/[\n\r]+/m); | 7 | const lines = raw.trim().split(/[\n\r]+/m); |
8 | if (!lines) return null; | 8 | if (!lines) return null; |
9 | 9 | ||
10 | const result = { | 10 | const result = { |
11 | metadata: { | 11 | metadata: { |
12 | status: null, | 12 | status: null, |
13 | from: null, | 13 | from: null, |
14 | ts: null, | 14 | ts: null, |
15 | raw: null, | 15 | raw: null, |
16 | }, | 16 | }, |
17 | message: null, | 17 | message: null, |
18 | raw, | 18 | raw, |
19 | }; | 19 | }; |
20 | 20 | ||
21 | const metadata = lines[0].split(',').map(el => el.replace(/"/g, '')) || []; | 21 | const metadata = lines[0].split(',').map(el => el.replace(/"/g, '')) || []; |
22 | 22 | ||
23 | [result.metadata.raw] = lines; | 23 | [result.metadata.raw] = lines; |
24 | result.metadata.status = typeof metadata[0] === 'string' ? metadata[0].replace(/^.+: /, '') : ''; | 24 | result.metadata.status = typeof metadata[0] === 'string' ? metadata[0].replace(/^.+: /, '') : ''; |
25 | // result.metadata.from = typeof metadata[1] === 'string' ? metadata[1].replace(/^\+/, '') : ''; | 25 | // result.metadata.from = typeof metadata[1] === 'string' ? metadata[1].replace(/^\+/, '') : ''; |
26 | result.metadata.from = metadata[1]; | 26 | [, result.metadata.from] = metadata; |
27 | 27 | ||
28 | const tsFromRaw = `${metadata[3]} ${(metadata[4] || '').replace(/\+\d+/, '')}`; | 28 | const tsFromRaw = `${metadata[3]} ${(metadata[4] || '').replace(/\+\d+/, '')}`; |
29 | result.metadata.ts = moment(tsFromRaw, 'YY/MM/DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss'); | 29 | result.metadata.ts = moment(tsFromRaw, 'YY/MM/DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss'); |
30 | 30 | ||
31 | result.message = lines.slice(1).join('\n').trim(); | 31 | result.message = lines.slice(1).join('\n').trim(); |
32 | return result; | 32 | return result; |
33 | } | 33 | } |
34 | 34 | ||
35 | exports.extract = extract; | 35 | exports.extract = extract; |
36 | 36 |