summaryrefslogtreecommitdiff
path: root/server/lib/util.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-06-09 16:14:49 -0400
committerJules Laplace <jules@okfoc.us>2014-06-09 16:14:49 -0400
commit1165ef5440e643252635aeea73a14cba0bb2e461 (patch)
tree6563f5314c774ee3ac9216e8375b38037b2eddcb /server/lib/util.js
parentb1974b9c2fe6ee1f35b3e34895f134d906299cec (diff)
documentation system
Diffstat (limited to 'server/lib/util.js')
-rw-r--r--server/lib/util.js51
1 files changed, 43 insertions, 8 deletions
diff --git a/server/lib/util.js b/server/lib/util.js
index 88d16cb..228563a 100644
--- a/server/lib/util.js
+++ b/server/lib/util.js
@@ -1,21 +1,56 @@
var _ = require('lodash');
+var whitespace = new RegExp('\s', 'g')
var whitespaceHead = /^\s+/
var whitespaceTail = /\s+$/
+var nonAlphanumerics = new RegExp('[^-_a-zA-Z0-9]', 'g')
+var consecutiveDashes = new RegExp("-+", 'g')
+var entities = new RegExp("[<>&]", 'g')
var util = {}
-util.trim = function (s){ return s.replace(whitespaceHead,"").replace(whitespaceTail,"") }
+
+util.trim = function (s){ return (s || "").replace(whitespaceHead,"").replace(whitespaceTail,"") }
+
+util.slugify = function (s){
+ return (s || "").replace(whitespace,"-").replace(nonAlphanumerics, '-').replace(consecutiveDashes,"-")
+}
+
+util.sanitize = function (s){
+ return (s || "").replace(entities, "")
+}
+
+util.capitalize = function (s) {
+ return (s || "").split(" ").map(util.capitalizeWord).join(" ");
+}
+
+util.capitalizeWord = function (s) {
+ return s.charAt(0).toUpperCase() + s.slice(1);
+}
+
util.cleanQuery = function (query) {
- var update = _.extend({}, query);
- delete update._id;
- delete update.created_at;
- delete update.modified_at;
- delete update.modified_by;
- delete update.created_by;
- return update;
+ var update = _.extend({}, query);
+ delete update._id;
+ delete update.created_at;
+ delete update.modified_at;
+ delete update.modified_by;
+ delete update.created_by;
+ return update;
}
+util.ip2num = function(dot) {
+ var d = dot.split('.');
+ return ((((((+d[0])*256)+(+d[1]))*256)+(+d[2]))*256)+(+d[3]);
+}
+
+util.num2ip = function(num) {
+ var d = num % 256;
+ for (var i = 3; i > 0; i--) {
+ num = Math.floor(num/256);
+ d = num % 256 + '.' + d;
+ }
+ return d;
+}
module.exports = util