diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-06-09 16:14:49 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-06-09 16:14:49 -0400 |
| commit | 1165ef5440e643252635aeea73a14cba0bb2e461 (patch) | |
| tree | 6563f5314c774ee3ac9216e8375b38037b2eddcb /server/lib/util.js | |
| parent | b1974b9c2fe6ee1f35b3e34895f134d906299cec (diff) | |
documentation system
Diffstat (limited to 'server/lib/util.js')
| -rw-r--r-- | server/lib/util.js | 51 |
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 |
