UNPKG

2.01 kBJavaScriptView Raw
1// Generated by CoffeeScript 1.4.0
2(function() {
3 var extend, flatten, _ref;
4
5 exports.starts = function(string, literal, start) {
6 return literal === string.substr(start, literal.length);
7 };
8
9 exports.ends = function(string, literal, back) {
10 var len;
11 len = literal.length;
12 return literal === string.substr(string.length - len - (back || 0), len);
13 };
14
15 exports.compact = function(array) {
16 var item, _i, _len, _results;
17 _results = [];
18 for (_i = 0, _len = array.length; _i < _len; _i++) {
19 item = array[_i];
20 if (item) {
21 _results.push(item);
22 }
23 }
24 return _results;
25 };
26
27 exports.count = function(string, substr) {
28 var num, pos;
29 num = pos = 0;
30 if (!substr.length) {
31 return 1 / 0;
32 }
33 while (pos = 1 + string.indexOf(substr, pos)) {
34 num++;
35 }
36 return num;
37 };
38
39 exports.merge = function(options, overrides) {
40 return extend(extend({}, options), overrides);
41 };
42
43 extend = exports.extend = function(object, properties) {
44 var key, val;
45 for (key in properties) {
46 val = properties[key];
47 object[key] = val;
48 }
49 return object;
50 };
51
52 exports.flatten = flatten = function(array) {
53 var element, flattened, _i, _len;
54 flattened = [];
55 for (_i = 0, _len = array.length; _i < _len; _i++) {
56 element = array[_i];
57 if (element instanceof Array) {
58 flattened = flattened.concat(flatten(element));
59 } else {
60 flattened.push(element);
61 }
62 }
63 return flattened;
64 };
65
66 exports.del = function(obj, key) {
67 var val;
68 val = obj[key];
69 delete obj[key];
70 return val;
71 };
72
73 exports.last = function(array, back) {
74 return array[array.length - (back || 0) - 1];
75 };
76
77 exports.some = (_ref = Array.prototype.some) != null ? _ref : function(fn) {
78 var e, _i, _len;
79 for (_i = 0, _len = this.length; _i < _len; _i++) {
80 e = this[_i];
81 if (fn(e)) {
82 return true;
83 }
84 }
85 return false;
86 };
87
88}).call(this);