UNPKG

mgm

Version:

My generic modules

49 lines (42 loc) 1.49 kB
global.btoa = global.btoa || function(str) { return new Buffer(str, 'binary').toString('base64'); }; global.atob = global.atob || function(b64Encoded) { return new Buffer(b64Encoded, 'base64').toString('binary'); }; Array.prototype.clear = Array.prototype.clear || function() { this.splice(0, this.length) }; String.prototype.capitalize = function() { return this.charAt(0).toUpperCase() + this.substring(1); }; String.prototype.uncapitalize = function() { return this.charAt(0).toLowerCase() + this.substring(1); }; Function.prototype.newInstance = function() { return new this(); } global.getEmptyIfNull = function(data) { var newData = data; if (data == null) { newData = []; } return newData; }; global.format = function(data, mask) { data = data.split('').reverse().join('').replace(/\W/g, ''); mask = mask.split('').reverse().join(''); var fields = getEmptyIfNull(mask.match(/\w+/g)); var separators = getEmptyIfNull(mask.match(/\W+/g)); var formatted = []; for (var i = 0; data.length > 0 && fields.length > 0; i++) { var field = fields.shift(); var getted = data.substr(0, field.length); data = data.replace(getted, ''); formatted.push(getted); if (getted.length == field.length && i < separators.length) { formatted.push(separators[i]); } } return formatted.join('').replace(/\W$/, ''); };