Total Complexity | 10 |
Complexity/F | 2.5 |
Lines of Code | 49 |
Function Count | 4 |
Duplicated Lines | 0 |
Ratio | 0 % |
Changes | 2 | ||
Bugs | 0 | Features | 0 |
1 | import Backbone from 'backbone'; |
||
|
|||
2 | import _ from 'underscore'; |
||
3 | |||
4 | function lpad(str, length, padstr) { |
||
5 | var paddingLen = length - (str + '').length; |
||
6 | paddingLen = paddingLen < 0 ? 0 : paddingLen; |
||
7 | var padding = ''; |
||
8 | for (var i = 0; i < paddingLen; i++) { |
||
9 | padding = padding + padstr; |
||
10 | } |
||
11 | return padding + str; |
||
12 | } |
||
13 | |||
14 | var Backgrid = { |
||
15 | VERSION: '0.3.7-es6', |
||
16 | Extension: {}, |
||
17 | |||
18 | resolveNameToClass: function (name, suffix) { |
||
19 | if (_.isString(name)) { |
||
20 | var key = _.map(name.split('-'), function (e) { |
||
21 | return e.slice(0, 1).toUpperCase() + e.slice(1); |
||
22 | }).join('') + suffix; |
||
23 | var klass = Backgrid[key] || Backgrid.Extension[key]; |
||
24 | if (_.isUndefined(klass)) { |
||
25 | throw new ReferenceError("Class '" + key + "' not found"); |
||
26 | } |
||
27 | return klass; |
||
28 | } |
||
29 | |||
30 | return name; |
||
31 | }, |
||
32 | |||
33 | callByNeed: function () { |
||
34 | var value = arguments[0]; |
||
35 | if (!_.isFunction(value)) return value; |
||
36 | |||
37 | var context = arguments[1]; |
||
38 | var args = [].slice.call(arguments, 2); |
||
39 | return value.apply(context, !!(args + '') ? args : []); |
||
40 | }, |
||
41 | $: Backbone.$ |
||
42 | |||
43 | }; |
||
44 | _.extend(Backgrid, Backbone.Events); |
||
45 | |||
46 | export { |
||
47 | lpad, |
||
48 | Backgrid |
||
49 | }; |
||
50 |