@outofsync/mail-template-helper
Simple tools to merge data with email templates during run-time
Last updated 9 months ago by chronosis .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @outofsync/mail-template-helper 
SYNC missed versions from official npm registry.

mail-template-helper

NPM

Actual version published on npm Travis build status Total npm module downloads Package Quality Codacy Badge Codacy Coverage  Badge Dependencies badge

mail-template-helper is a helper module to assist with compilation of email templates.

Installation

npm install @outofsync/mail-template-helper

Usage

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'
  }
}));

API Reference

MailTemplatesHelper constructor(templates) ⟾ instanceof MailTemplatesHelper

Create an instance of MailTemplatesHelper with the templates collection provided.

MailTemplatesHelper.getTemplate(templateName) ⟾ object(mail template) / null

Returns the template with the templateName provided or null if the template does not exist

MailTemplatesHelper.getFilledSubject(templateName, data) ⟾ string / null

Returns the template subject from the templateName provided, using the data to fill any {} placeholders, or null if no template by that name exists.

MailTemplatesHelper.getFilledBody(templateName, data) ⟾ string / null

Returns the template body from the templateName provided, using the data to fill any {} placeholders, or null if no template by that name exists.

MailTemplatesHelper.getCustomFilled(template, data) ⟾ string / null

Returns custom template filled using the data to fill any {} placeholders, or null if the template is null or undefined

Templates and Collections

Template

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 }.';

Mail Template

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 }.'
};

Template Collection

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 }.'
  }
};

License

Copyright (c) 2018, 2019 Jay Reardon Copyright (c) 2019 Out of Sync Studios LLC -- Licensed under the MIT license.

Current Tags

  • 1.1.1                                ...           latest (9 months ago)

1 Versions

  • 1.1.1                                ...           9 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 3
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (9)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |