mail-template-helper is a helper module to assist with compilation of email templates.
npm install @outofsync/mail-template-helperconst MailTemplatesHelper = require('@outofsync/mail-template-helper');
const templates = {
['Test2']: {
subject: '{testData1} {testData2}',
template: '{bodyData} - {testData2} -- {embedded.value}'
}
};
const mailTemplateHelper = new MailTemplatesHelper(templates);
console.log(mailTemplateHelper.getFilledTemplate('Test2', {
testData1: 'a',
testData2: 'b',
bodyData: 'test',
embedded: {
value: 'qwerty'
}
}));Create an instance of MailTemplatesHelper with the templates collection provided.
Returns the template with the templateName provided or null if the template does not exist
Returns the template subject from the templateName provided, using the data to fill any {} placeholders, or null if no template by that name exists.
Returns the template body from the templateName provided, using the data to fill any {} placeholders, or null if no template by that name exists.
Returns custom template filled using the data to fill any {} placeholders, or null if the template is null or undefined
A template is just a string with {} placeholders for data in data dictionary. The placeholders can reference nested data objects and array indices.
const template = 'This is a template with { data }. Hello { name }.';A mail template is an object which contains two template strings labelled body and subject.
const mailTemplate = {
subject: 'Mail Subject -- { data1 }',
body: 'This is a template with { data }. Hello { name }.'
};A template collection is an object with named indices which each contain a Mail Template.
const templates = {
['Test1']: {
subject: 'Mail Subject -- { data1 }',
body: 'This is a template with { data }. Hello { name }.'
},
['Test2']: {
subject: 'Mail Subject -- { data1 }',
body: 'This is a template with { data }. Hello { name }.'
}
};Copyright (c) 2018, 2019 Jay Reardon Copyright (c) 2019 Out of Sync Studios LLC -- Licensed under the MIT license.

