UNPKG

771 BJavaScriptView Raw
1'use strict';
2
3function helper(paper) {
4 paper.handlebars.registerHelper('join', function (array, separator) {
5 const options = arguments[arguments.length - 1];
6 var config = options.hash || {};
7
8 array = array.slice();
9
10 // Truncate array
11 if (config.limit && array.length > config.limit) {
12 array = array.slice(0, config.limit);
13 }
14
15 // Use lastSeparator between last and second last item, if provided
16 if (config.lastSeparator) {
17 var truncatedArray = array.slice(0, -1),
18 lastItem = array.slice(-1);
19
20 return truncatedArray.join(separator) + config.lastSeparator + lastItem;
21 }
22
23 return array.join(separator);
24 });
25}
26
27module.exports = helper;