1 | 'use strict';
|
2 |
|
3 | var _ = require('lodash');
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | function numberFormat(value, n, s, c) {
|
13 | var re = '\\d(?=(\\d{3})+' + (n > 0 ? '\\D' : '$') + ')',
|
14 | num = value.toFixed(Math.max(0, ~~n));
|
15 |
|
16 | return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));
|
17 | }
|
18 |
|
19 | function helper(paper) {
|
20 | paper.handlebars.registerHelper('money', function (value) {
|
21 | var money = paper.settings.money;
|
22 |
|
23 | if (!_.isNumber(value)) {
|
24 | return '';
|
25 | }
|
26 |
|
27 | value = numberFormat(
|
28 | value,
|
29 | money.decimal_places,
|
30 | money.thousands_token,
|
31 | money.decimal_token
|
32 | );
|
33 |
|
34 | return money.currency_location === 'left'
|
35 | ? money.currency_token + ' ' + value
|
36 | : value + ' ' + money.currency_token;
|
37 | });
|
38 | }
|
39 |
|
40 | module.exports = helper;
|