NaNoWriMo Promotes Manuscription

    @outofsync/mail-template-helper

    1.1.1 • Public • Published

    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.

    Install

    npm i @outofsync/mail-template-helper

    DownloadsWeekly Downloads

    0

    Version

    1.1.1

    License

    MIT

    Unpacked Size

    20.8 kB

    Total Files

    9

    Last publish

    Collaborators

    • skycoop
    • chronosis