all files / api/toJSON/ mapper.js

100% Statements 16/16
100% Branches 8/8
100% Functions 0/0
100% Lines 16/16
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      76× 76×       27×         26×   11×    
'use strict';
 
const R = require('ramda');
let createArticle = require('./article');
let createGallery = require('./gallery');
let createImage = require('./image');
let createHtml = require('./html');
let createTag = require('./tag');
let createAuthor = require('./author');
 
module.exports = R.curry((config, tuple) => {
    const meta = R.head(tuple);
    switch(meta.type) {
        case 'news':
        case 'opinion':
        case 'live-event':
            return createArticle(config, tuple);
        case 'image':
            return createImage(config.imageDimensions, tuple);
        case 'gallery':
            return createGallery(config.imageDimensions, tuple);
        case 'html':
            return createHtml(tuple);
        case 'tag':
            return createTag(tuple);
        case 'author':
            return createAuthor(tuple);
    }
});