mail-template-helper
is a helper module to assist with compilation of email templates.
npm install @outofsync/mail-template-helper
const 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.