UNPKG

orionsoft-react-scripts

Version:

Orionsoft Configuration and scripts for Create React App.

80 lines (69 loc) 2.53 kB
/* Copyright 2012-2015, Yahoo Inc. Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ function registerHelpers(handlebars) { handlebars.registerHelper('show_picture', function (opts) { var num = Number(opts.fn(this)), rest, cls = ''; if (isFinite(num)) { if (num === 100) { cls = ' cover-full'; } num = Math.floor(num); rest = 100 - num; return '<div class="cover-fill' + cls + '" style="width: ' + num + '%;"></div>' + '<div class="cover-empty" style="width:' + rest + '%;"></div>'; } else { return ''; } }); handlebars.registerHelper('if_has_ignores', function (metrics, opts) { return (metrics.statements.skipped + metrics.functions.skipped + metrics.branches.skipped) === 0 ? '' : opts.fn(this); }); handlebars.registerHelper('show_ignores', function (metrics) { var statements = metrics.statements.skipped, functions = metrics.functions.skipped, branches = metrics.branches.skipped, result; if (statements === 0 && functions === 0 && branches === 0) { return '<span class="ignore-none">none</span>'; } result = []; if (statements > 0) { result.push(statements === 1 ? '1 statement' : statements + ' statements'); } if (functions > 0) { result.push(functions === 1 ? '1 function' : functions + ' functions'); } if (branches > 0) { result.push(branches === 1 ? '1 branch' : branches + ' branches'); } return result.join(', '); }); handlebars.registerHelper('show_lines', function (opts) { var maxLines = Number(opts.fn(this)), i, array = []; for (i = 0; i < maxLines; i += 1) { array[i] = i + 1; } return array.join('\n'); }); handlebars.registerHelper('show_line_execution_counts', function (context) { var array = []; context.forEach(function (data) { array.push('<span class="cline-any cline-' + data.covered + '">' + data.hits + '</span>'); }); return array.join('\n'); }); handlebars.registerHelper('show_code', function (context /*, opts */) { return context.join('\n'); }); } module.exports = { registerHelpers: registerHelpers };