1 |
|
2 | (function() {
|
3 | var _, blockHelper, helpers, register, semver,
|
4 | slice = [].slice;
|
5 |
|
6 | _ = require('lodash');
|
7 |
|
8 | semver = require('semver');
|
9 |
|
10 | blockHelper = function(pred) {
|
11 | return function() {
|
12 | var args, i, options;
|
13 | args = 2 <= arguments.length ? slice.call(arguments, 0, i = arguments.length - 1) : (i = 0, []), options = arguments[i++];
|
14 | if (pred.apply(null, args)) {
|
15 | return options.fn(this);
|
16 | } else {
|
17 | return options.inverse(this);
|
18 | }
|
19 | };
|
20 | };
|
21 |
|
22 | helpers = {};
|
23 |
|
24 | ['satisfies', 'gt', 'gte', 'lt', 'lte', 'eq', 'neq', 'cmp'].forEach(function(methodName) {
|
25 | return helpers["semver" + (_.upperFirst(methodName))] = blockHelper(semver[methodName]);
|
26 | });
|
27 |
|
28 | register = function(arg) {
|
29 | var handlebars;
|
30 | handlebars = arg.handlebars;
|
31 | return handlebars.registerHelper(helpers);
|
32 | };
|
33 |
|
34 | module.exports = register;
|
35 |
|
36 | }).call(this);
|