This repository has been archived by the owner on Apr 11, 2018. It is now read-only.
/
filters.js
118 lines (94 loc) · 2.67 KB
/
filters.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
var helpers = require('./helpers'),
_ = require('underscore'),
_dateFormats = require('./dateformat');
exports.add = function (input, addend) {
if (Array.isArray(input) && Array.isArray(addend)) {
return input.concat(addend);
}
if (typeof input === 'object' && typeof addend === 'object') {
return _.extend(input, addend);
}
var inputNum = parseInt(input, 10),
addendNum = parseInt(addend, 10);
if (_.isNumber(inputNum) && _.isNumber(addendNum)) {
return inputNum + addendNum;
}
return input + addend;
};
exports.addslashes = function (input) {
return input.replace(/\\/g, '\\\\').replace(/\'/g, "\\'").replace(/\"/g, '\\"');
};
exports.capitalize = function (input) {
return input.toString().charAt(0).toUpperCase() + input.toString().substr(1).toLowerCase();
};
exports.date = function (input, format) {
var l = format.length,
date = new Date(input),
cur, i = 0,
out = '';
for (; i < l; i += 1) {
cur = format.charAt(i);
if (_dateFormats.hasOwnProperty(cur)) {
out += _dateFormats[cur](date);
} else {
out += cur;
}
}
return out;
};
exports.default = function (input, def) {
return (input || typeof input === 'number') ? input : def;
};
exports.first = function (input) {
return _.first(input);
};
exports.join = function (input, separator) {
if (Array.isArray(input)) {
return input.join(separator);
} else {
return input;
}
};
exports.json_encode = function (input) {
return JSON.stringify(input);
};
exports.last = function (input) {
return _.last(input);
};
exports.length = function (input) {
return input.length;
};
exports.lower = function (input) {
return input.toString().toLowerCase();
};
exports.replace = function (input, search, replacement, flags) {
var r = new RegExp(search, flags);
return input.replace(r, replacement);
};
exports.reverse = function (input) {
if (Array.isArray(input)) {
return input.reverse();
} else {
return input;
}
};
exports.striptags = function (input) {
return input.toString().replace(/(<([^>]+)>)/ig, '');
};
exports.title = function (input) {
return input.toString().replace(/\w\S*/g, function (str) {
return str.charAt(0).toUpperCase() + str.substr(1).toLowerCase();
});
};
exports.uniq = function (input) {
return _.uniq(input);
};
exports.upper = function (input) {
return input.toString().toUpperCase();
};
exports.url_encode = function (input) {
return encodeURIComponent(input);
};
exports.url_decode = function (input) {
return decodeURIComponent(input);
};