Code coverage report for src/main.js

Statements: 92.5% (37 / 40)      Branches: 80% (16 / 20)      Functions: 100% (8 / 8)      Lines: 94.74% (36 / 38)      Ignored: none     

All files » src/ » main.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69    1       2   1   1   1   1   1   1   1   1   1 14 13 13   14 1     13 13 13 13       1 13 13       13 13 1     12 12 1 1 1 1         11 11 11       1  
'use strict';
 
Object.defineProperty(exports, '__esModule', {
  value: true
});
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
var _util = require('./util');
 
var _lodash = require('lodash');
 
var _emailTemplate = require('./email-template');
 
var _emailTemplate2 = _interopRequireDefault(_emailTemplate);
 
var _debug = require('debug');
 
var _debug2 = _interopRequireDefault(_debug);
 
var _path = require('path');
 
var debug = (0, _debug2['default'])('email-templates:creator');
 
exports['default'] = function (templateDirectory, options, done) {
  if ((0, _lodash.isFunction)(options)) {
    done = options;
    options = {};
  }
  if (!templateDirectory) {
    return done(new Error('templateDirectory is undefined'));
  }
 
  return (0, _util.ensureDirectory)(templateDirectory, function (err) {
    Iif (err) return done(err);
    debug('Creating Email Templates in %s', (0, _path.basename)(templateDirectory));
    return done(null, template(templateDirectory, options));
  });
};
 
function template(templateDirectory, options) {
  return function _template(directory, locals, callback) {
    Iif ((0, _lodash.isFunction)(locals)) {
      callback = locals;
      locals = {};
    }
    locals = (0, _lodash.defaults)(locals, options);
    if (directory == null) {
      return callback(new Error('templateName was not defined'));
    }
 
    var et = new _emailTemplate2['default']('' + templateDirectory + '/' + directory);
    if (locals === true) {
      return callback(null, function (locals, dir, next) {
        et.render(locals, function (err, result) {
          result = result || {};
          next(err, result.html, result.text);
        });
      });
    }
 
    et.render(locals, function (err, result) {
      result = result || {};
      callback(err, result.html, result.text);
    });
  };
}
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9qZWR1YW4vQ29kZS9lbWFpbC10ZW1wbGF0ZXMvc3JjL21haW4uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7b0JBQThCLFFBQVE7O3NCQUNILFFBQVE7OzZCQUNqQixrQkFBa0I7Ozs7cUJBQzFCLE9BQU87Ozs7b0JBQ0YsTUFBTTs7QUFFN0IsSUFBTSxLQUFLLEdBQUcsd0JBQU0seUJBQXlCLENBQUMsQ0FBQTs7cUJBRS9CLFVBQVUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtBQUN6RCxNQUFJLFlBUkUsVUFBVSxFQVFELE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLFFBQUksR0FBRyxPQUFPLENBQUE7QUFDZCxXQUFPLEdBQUcsRUFBRSxDQUFBO0dBQ2I7QUFDRCxNQUFJLENBQUMsaUJBQWlCLEVBQUU7QUFDdEIsV0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFBO0dBQ3pEOztBQUVELFNBQU8sVUFqQkQsZUFBZSxFQWlCRSxpQkFBaUIsRUFBRSxVQUFVLEdBQUcsRUFBRTtBQUN2RCxRQUFJLEdBQUcsRUFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUN6QixTQUFLLENBQUMsZ0NBQWdDLEVBQUUsVUFmcEMsUUFBUSxFQWVxQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7QUFDcEUsV0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO0dBQ3hELENBQUMsQ0FBQTtDQUNIOztBQUVELFNBQVMsUUFBUSxDQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRTtBQUM3QyxTQUFPLFNBQVMsU0FBUyxDQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO0FBQ3RELFFBQUksWUF6QkEsVUFBVSxFQXlCQyxNQUFNLENBQUMsRUFBRTtBQUN0QixjQUFRLEdBQUcsTUFBTSxDQUFBO0FBQ2pCLFlBQU0sR0FBRyxFQUFFLENBQUE7S0FDWjtBQUNELFVBQU0sR0FBRyxZQTdCTyxRQUFRLEVBNkJOLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQTtBQUNsQyxRQUFJLFNBQVMsSUFBSSxJQUFJLEVBQUU7QUFDckIsYUFBTyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFBO0tBQzNEOztBQUVELFFBQUksRUFBRSxHQUFHLG9DQUFxQixpQkFBaUIsU0FBSSxTQUFTLENBQUcsQ0FBQTtBQUMvRCxRQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7QUFDbkIsYUFBTyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7QUFDakQsVUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsVUFBVSxHQUFHLEVBQUUsTUFBTSxFQUFFO0FBQ3ZDLGdCQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQTtBQUNyQixjQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQ3BDLENBQUMsQ0FBQTtPQUNILENBQUMsQ0FBQTtLQUNIOztBQUVELE1BQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFVBQVUsR0FBRyxFQUFFLE1BQU0sRUFBRTtBQUN2QyxZQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQTtBQUNyQixjQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQ3hDLENBQUMsQ0FBQTtHQUNILENBQUE7Q0FDRiIsImZpbGUiOiIvVXNlcnMvamVkdWFuL0NvZGUvZW1haWwtdGVtcGxhdGVzL3NyYy9tYWluLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtlbnN1cmVEaXJlY3Rvcnl9IGZyb20gJy4vdXRpbCdcbmltcG9ydCB7aXNGdW5jdGlvbiwgZGVmYXVsdHN9IGZyb20gJ2xvZGFzaCdcbmltcG9ydCBFbWFpbFRlbXBsYXRlIGZyb20gJy4vZW1haWwtdGVtcGxhdGUnXG5pbXBvcnQgRGVidWcgZnJvbSAnZGVidWcnXG5pbXBvcnQge2Jhc2VuYW1lfSBmcm9tICdwYXRoJ1xuXG5jb25zdCBkZWJ1ZyA9IERlYnVnKCdlbWFpbC10ZW1wbGF0ZXM6Y3JlYXRvcicpXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uICh0ZW1wbGF0ZURpcmVjdG9yeSwgb3B0aW9ucywgZG9uZSkge1xuICBpZiAoaXNGdW5jdGlvbihvcHRpb25zKSkge1xuICAgIGRvbmUgPSBvcHRpb25zXG4gICAgb3B0aW9ucyA9IHt9XG4gIH1cbiAgaWYgKCF0ZW1wbGF0ZURpcmVjdG9yeSkge1xuICAgIHJldHVybiBkb25lKG5ldyBFcnJvcigndGVtcGxhdGVEaXJlY3RvcnkgaXMgdW5kZWZpbmVkJykpXG4gIH1cblxuICByZXR1cm4gZW5zdXJlRGlyZWN0b3J5KHRlbXBsYXRlRGlyZWN0b3J5LCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgaWYgKGVycikgcmV0dXJuIGRvbmUoZXJyKVxuICAgIGRlYnVnKCdDcmVhdGluZyBFbWFpbCBUZW1wbGF0ZXMgaW4gJXMnLCBiYXNlbmFtZSh0ZW1wbGF0ZURpcmVjdG9yeSkpXG4gICAgcmV0dXJuIGRvbmUobnVsbCwgdGVtcGxhdGUodGVtcGxhdGVEaXJlY3RvcnksIG9wdGlvbnMpKVxuICB9KVxufVxuXG5mdW5jdGlvbiB0ZW1wbGF0ZSAodGVtcGxhdGVEaXJlY3RvcnksIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIF90ZW1wbGF0ZSAoZGlyZWN0b3J5LCBsb2NhbHMsIGNhbGxiYWNrKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24obG9jYWxzKSkge1xuICAgICAgY2FsbGJhY2sgPSBsb2NhbHNcbiAgICAgIGxvY2FscyA9IHt9XG4gICAgfVxuICAgIGxvY2FscyA9IGRlZmF1bHRzKGxvY2Fscywgb3B0aW9ucylcbiAgICBpZiAoZGlyZWN0b3J5ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgRXJyb3IoJ3RlbXBsYXRlTmFtZSB3YXMgbm90IGRlZmluZWQnKSlcbiAgICB9XG5cbiAgICB2YXIgZXQgPSBuZXcgRW1haWxUZW1wbGF0ZShgJHt0ZW1wbGF0ZURpcmVjdG9yeX0vJHtkaXJlY3Rvcnl9YClcbiAgICBpZiAobG9jYWxzID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2sobnVsbCwgZnVuY3Rpb24gKGxvY2FscywgZGlyLCBuZXh0KSB7XG4gICAgICAgIGV0LnJlbmRlcihsb2NhbHMsIGZ1bmN0aW9uIChlcnIsIHJlc3VsdCkge1xuICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdCB8fCB7fVxuICAgICAgICAgIG5leHQoZXJyLCByZXN1bHQuaHRtbCwgcmVzdWx0LnRleHQpXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cblxuICAgIGV0LnJlbmRlcihsb2NhbHMsIGZ1bmN0aW9uIChlcnIsIHJlc3VsdCkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0IHx8IHt9XG4gICAgICBjYWxsYmFjayhlcnIsIHJlc3VsdC5odG1sLCByZXN1bHQudGV4dClcbiAgICB9KVxuICB9XG59XG4iXX0=