NotificationLatch/src/subjectparser.js

28 lines
503 B
JavaScript

class SubjectParser
{
parse(subject)
{
// Possible formats:
// Title
// |id| Title
// |id,sound| Title
// |,sound| Title
const match = subject.match(/^(?:\|([^,]*?)(?:,(.+?)){0,1}\|){0,1}\s*(.+?)$/m);
if (match == null)
return {
id: subject,
sound: null,
title: subject
};
return {
id: match[1] || match[3],
sound: match[2] || null,
title: match[3]
};
};
}
module.exports = SubjectParser;