remove-sensitive-info
Version:
npm package to remove all sensitive info from data passed
1 lines • 2.3 kB
JavaScript
Object.defineProperty(exports,'__esModule',{value:!0});var _slicedToArray=function(){function a(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{!d&&h['return']&&h['return']()}finally{if(e)throw f}}return c}return function(b,c){if(Array.isArray(b))return b;if(Symbol.iterator in Object(b))return a(b,c);throw new TypeError('Invalid attempt to destructure non-iterable instance')}}(),_extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_createClass=function(){function a(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,'value'in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}();function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError('Cannot call a class as a function')}var SensitiveInfo=function(){function a(b){_classCallCheck(this,a),this.defaults={pattern:'*****',nodefaults:!1,defaultRegex:{email:/(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/gm,phone:/(\+\d{1,2}[\s.-])?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}/gm,ssn:[/\b\d{3}-\d{2}-\d{4}\b/gm,/\b\d{3}\ \d{2}\ \d{4}\b/gm,/\b\d{9}\b/gm]}},this.options=_extends({},this.defaults,b)}return _createClass(a,[{key:'parse',value:function parse(a){var b=this;if(a instanceof Array){var c=[];return a.forEach(function(a){c.push(b.parseRegex(a))}),c}return this.parseRegex(a)}},{key:'parseRegex',value:function parseRegex(a){var b=this;return this.options.nodefaults||Object.entries(this.options.defaultRegex).forEach(function(c){var d=_slicedToArray(c,2),e=d[0],f=d[1];f instanceof Array?f.forEach(function(c){a=a.replace(c,b.options.pattern)}):a=a.replace(f,b.options.pattern)}),this.options.regex&&Object.entries(this.options.regex).forEach(function(c){var d=_slicedToArray(c,2),e=d[0],f=d[1];f instanceof Array?f.forEach(function(c){a=a.replace(c,b.options.pattern)}):a=a.replace(f,b.options.pattern)}),a}}]),a}();exports.default=SensitiveInfo,module.exports=exports['default'];
;