Socket
Book a DemoInstallSign in
Socket

@mediaxpost/mail-template-helper

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mediaxpost/mail-template-helper

Simple tools to merge data with email templates during run-time

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source

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 @mediaxpost/mail-template-helper

Usage

const MailTemplatesHelper = require('@mediaxpost/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 Jay Reardon -- Licensed under the MIT license.

Keywords

lodash

FAQs

Package last updated on 20 Aug 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts