Socket
Socket
Sign inDemoInstall

obfuscate-mail

Package Overview
Dependencies
0
Maintainers
3
Versions
19
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.4.7 to 1.4.8

.eslintrc.js

2

dist/bundle.js

@@ -1,1 +0,1 @@

(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.obfuscateEmail=f()}})((function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,(function(r){var n=e[i][1][r];return o(n||r)}),p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r}()({1:[function(require,module,exports){const{getOptions:getOptions,DEFAULT_OPTIONS:DEFAULT_OPTIONS}=require("./utils");const obfuscateEmail=(email,options=DEFAULT_OPTIONS)=>{const opts=getOptions(options);if(typeof email!=="string"||email.length===0||!email.includes("@")||email.split("@").length!==2){return opts.invalidEmailValue}const[name,domain]=email.split("@");const[domainName,domainExtension="***"]=domain.split(".");const visibleCharactersStartLength=opts.visibleCharactersStartLength>0&&name.length>1?Math.min(name.length-opts.minimumNameObfuscationLength>0?name.length-opts.minimumNameObfuscationLength:0,opts.visibleCharactersStartLength):0;const visibleCharactersEndLength=opts.visibleCharactersEndLength>0&&name.length>visibleCharactersStartLength+opts.minimumNameObfuscationLength?Math.min(name.length-visibleCharactersStartLength-opts.minimumNameObfuscationLength,opts.visibleCharactersEndLength):0;const visibleCharactersMiddleLength=opts.visibleCharactersMiddleLength>0&&name.length-visibleCharactersStartLength-visibleCharactersEndLength-opts.minimumNameObfuscationLength>0?Math.min(name.length-visibleCharactersStartLength-visibleCharactersEndLength-opts.minimumNameObfuscationLength,opts.visibleCharactersMiddleLength):0;const charactersLeftToObfuscate=Math.max(0,name.length-visibleCharactersStartLength-visibleCharactersEndLength);const middleCharacters=visibleCharactersMiddleLength>0?name.substring(visibleCharactersStartLength).substring(Math.round(charactersLeftToObfuscate/2-visibleCharactersMiddleLength/2)).substring(0,visibleCharactersMiddleLength):"";return`${name.substring(0,visibleCharactersStartLength)}${"*".repeat(Math.max(1,Math.floor(opts.asterisksLength/2)))}${middleCharacters}${"*".repeat(Math.max(1,Math.floor(opts.asterisksLength/2)))}${visibleCharactersEndLength>0?name.substring(name.length-visibleCharactersEndLength):""}@${opts.showDomainName?domainName:"*".repeat(Math.max(3,opts.asterisksLength-3))}.${opts.showDomainExtension?domainExtension:"***"}`};module.exports=obfuscateEmail;module.exports.DEFAULT_OPTIONS=DEFAULT_OPTIONS},{"./utils":2}],2:[function(require,module,exports){const DEFAULT_OPTIONS={asterisksLength:6,minimumNameObfuscationLength:4,visibleCharactersStartLength:3,visibleCharactersMiddleLength:2,visibleCharactersEndLength:2,showDomainName:false,showDomainExtension:true,invalidEmailValue:"*********@****.**"};function checkOptionValue(key,value){if(value===undefined){return DEFAULT_OPTIONS[key]}if(typeof DEFAULT_OPTIONS[key]!==typeof value){throw new Error(`Option ${key} must be of type ${typeof DEFAULT_OPTIONS[key]}`)}return value}module.exports.getOptions=options=>Object.keys(DEFAULT_OPTIONS).reduce(((acc,key)=>{acc[key]=checkOptionValue(key,options[key]);return acc}),{});module.exports.DEFAULT_OPTIONS=DEFAULT_OPTIONS},{}]},{},[1])(1)}));
var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(t,e)=>function(){return e||(0,t[__getOwnPropNames(t)[0]])((e={exports:{}}).exports,e),e.exports},require_utils=__commonJS({"utils.js"(t,e){var n={asterisksLength:6,minimumNameObfuscationLength:4,visibleCharactersStartLength:3,visibleCharactersMiddleLength:2,visibleCharactersEndLength:2,showDomainName:!1,showDomainExtension:!0,invalidEmailValue:"*********@****.**"};e.exports.getOptions=t=>Object.keys(n).reduce(((e,i)=>(e[i]=function(t,e){if(void 0===e)return n[t];if(typeof n[t]!=typeof e)throw new Error(`Option ${t} must be of type ${typeof n[t]}`);return e}(i,t[i]),e)),{}),e.exports.DEFAULT_OPTIONS=n}}),{getOptions:getOptions,DEFAULT_OPTIONS:DEFAULT_OPTIONS}=require_utils(),obfuscateEmail=(t,e=DEFAULT_OPTIONS)=>{const n=getOptions(e);if("string"!=typeof t||0===t.length||!t.includes("@")||2!==t.split("@").length)return n.invalidEmailValue;const[i,s]=t.split("@"),[a,r="***"]=s.split("."),o=n.visibleCharactersStartLength>0&&i.length>1?Math.min(i.length-n.minimumNameObfuscationLength>0?i.length-n.minimumNameObfuscationLength:0,n.visibleCharactersStartLength):0,h=n.visibleCharactersEndLength>0&&i.length>o+n.minimumNameObfuscationLength?Math.min(i.length-o-n.minimumNameObfuscationLength,n.visibleCharactersEndLength):0,m=n.visibleCharactersMiddleLength>0&&i.length-o-h-n.minimumNameObfuscationLength>0?Math.min(i.length-o-h-n.minimumNameObfuscationLength,n.visibleCharactersMiddleLength):0,g=Math.max(0,i.length-o-h),l=m>0?i.substring(o).substring(Math.round(g/2-m/2)).substring(0,m):"";return`${i.substring(0,o)}${"*".repeat(Math.max(1,Math.floor(n.asterisksLength/2)))}${l}${"*".repeat(Math.max(1,Math.floor(n.asterisksLength/2)))}${h>0?i.substring(i.length-h):""}@${n.showDomainName?a:"*".repeat(Math.max(3,n.asterisksLength-3))}.${n.showDomainExtension?r:"***"}`};module.exports=obfuscateEmail,module.exports.DEFAULT_OPTIONS=DEFAULT_OPTIONS;
{
"name": "obfuscate-mail",
"version": "1.4.7",
"version": "1.4.8",
"description": "Obfuscate email",

@@ -30,8 +30,16 @@ "main": "obfuscateEmail.js",

"build:wasm": "rm -f dist/wasm.js && mkdir -p dist && esbuild --bundle --platform=node wasm.js --outfile=dist/wasm.js",
"bundle": "rm -f dist/bundle.js && mkdir -p dist && browserify --standalone obfuscateEmail --node --ignore-missing obfuscateEmail.js | terser > ./dist/bundle.js",
"bundle": "rm -f dist/bundle.js && mkdir -p dist && esbuild --bundle --platform=node obfuscateEmail.js --outfile=dist/bundle.js && terser dist/bundle.js --compress --mangle --output dist/bundle.js",
"types:emit": "tsc --allowJs --removeComments",
"coverage": "nyc --reporter=lcov npm run test:source",
"prepare": "husky install",
"precommit": "npm run build && npm run test:bundle && git add dist/."
"precommit": "lint-staged && npm run build && npm run test:bundle && git add dist/.",
"prettier": "prettier --write \"./*.js\"",
"lint": "eslint \"./*.js\" --fix"
},
"lint-staged": {
"*.js": [
"prettier --write",
"eslint *.js --fix"
]
},
"repository": {

@@ -56,12 +64,12 @@ "type": "git",

"devDependencies": {
"browserify": "^17.0.0",
"chai": "^4.3.6",
"esbuild": "^0.15.10",
"eslint": "^8.0.1",
"eslint": "^8.25.0",
"eslint-config-prettier": "^8.5.0",
"eslint-config-standard": "^17.0.0",
"eslint-plugin-import": "^2.25.2",
"eslint-plugin-n": "^15.0.0",
"eslint-plugin-promise": "^6.0.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-n": "^15.3.0",
"eslint-plugin-promise": "^6.0.1",
"husky": "^8.0.1",
"lint-staged": "^13.0.3",
"mocha": "^10.0.0",

@@ -68,0 +76,0 @@ "nyc": "^15.1.0",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc