obfuscate
Advanced tools
Comparing version 0.0.3 to 0.0.4
@@ -9,7 +9,7 @@ 'use strict' | ||
module.exports = function obfuscate (options) { | ||
module.exports = function obfuscate(options) { | ||
assert(options, 'options are required') | ||
var email = { | ||
to: addresses(options.to), | ||
var mailto = { | ||
email: addresses(options.email), | ||
cc: addresses(options.cc), | ||
@@ -29,28 +29,35 @@ bcc: addresses(options.bcc), | ||
var to = email.to | ||
email = filter(email, Boolean) | ||
delete email.to | ||
var email = mailto.email | ||
mailto = filter(mailto, Boolean) | ||
delete mailto.email | ||
var querystring = qs.stringify(email) | ||
var querystring = qs.stringify(mailto) | ||
var link = 'mailto:' + (to || '') + (querystring ? '?' + querystring : '') | ||
return bel`<a dir="rtl" style=${styles} onclick="${function(){handleClick(event, link)}}" href="obfuscated">${reverse(to)}</a>` | ||
} | ||
var link = 'mailto:' + (email || '') + (querystring | ||
? '?' + querystring | ||
: '') | ||
return bel `<a dir="rtl" style=${styles} onclick="${ function () { | ||
handleClick(event, link)}}" href="obfuscated">${reverse(email)}</a>` | ||
} | ||
function addresses (e) { | ||
return e ? array(e).join(',') : undefined | ||
} | ||
function addresses(e) { | ||
return e | ||
? array(e).join(',') | ||
: undefined | ||
} | ||
function reverse(s){ | ||
return s.split("").reverse().join(""); | ||
} | ||
function reverse(s) { | ||
return s | ||
.split("") | ||
.reverse() | ||
.join(""); | ||
} | ||
function wait(e) { | ||
function wait(e) { | ||
e.preventDefault(); | ||
} | ||
function handleClick(e, l) { | ||
function handleClick(e, l) { | ||
e.preventDefault() | ||
window.location.href = l | ||
} | ||
} |
{ | ||
"name": "obfuscate", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "An intelligent function to obfuscate any contact link", | ||
@@ -5,0 +5,0 @@ "main": "dist/obfuscate.js", |
# obfuscate | ||
An intelligent function to obfuscate any contact link | ||
## Why | ||
The world needs obfuscated links that display the link in a friendly way. | ||
## Installation | ||
```bash | ||
npm install --save react-obfuscate | ||
``` | ||
### Usage | ||
```js | ||
var obfuscate = require('obfuscate') | ||
... | ||
return html` | ||
<p> | ||
${obfuscate({ | ||
email:'hello@coston.cool', | ||
subject:'Question from the website', | ||
cc:'friend@coston.cool' | ||
})} | ||
</p> | ||
` | ||
``` | ||
### Output | ||
#### Robot Interaction | ||
```html | ||
<p> | ||
Phone: <a href="obfuscated" style="direction: rtl; unicode-bidi: bidi-override;">4321-454-502</a><br> | ||
Email: <a href="obfuscated" style="direction: rtl; unicode-bidi: bidi-override;">looc.notsoc@olleh</a> | ||
</p> | ||
``` | ||
#### Human Interaction | ||
```js | ||
<p> | ||
Phone: <a href="tel:205-454-1234">205-454-1234</a><br> | ||
Email: <a href="mailto:hello@coston.cool&subject=Question%20from%20the%20website&cc=friend@coston.cool">hello@coston.cool</a> | ||
</p> | ||
``` |
@@ -7,7 +7,7 @@ import assert from 'assert-ok'; | ||
export default function obfuscate (options) { | ||
export default function obfuscate(options) { | ||
assert(options, 'options are required') | ||
let email = { | ||
to: addresses(options.to), | ||
let mailto = { | ||
email: addresses(options.email), | ||
cc: addresses(options.cc), | ||
@@ -27,28 +27,35 @@ bcc: addresses(options.bcc), | ||
const to = email.to; | ||
email = filter(email, Boolean) | ||
delete email.to | ||
const email = mailto.email; | ||
mailto = filter(mailto, Boolean) | ||
delete mailto.email | ||
const querystring = qs.stringify(email); | ||
const querystring = qs.stringify(mailto); | ||
const link = `mailto:${to || ''}${querystring ? '?' + querystring : ''}`; | ||
return bel`<a dir="rtl" style=${styles} onclick="${() => {handleClick(event, link)}}" href="obfuscated">${reverse(to)}</a>` | ||
}; | ||
const link = `mailto:${email || ''}${querystring | ||
? '?' + querystring | ||
: ''}`; | ||
return bel `<a dir="rtl" style=${styles} onclick="${ () => { | ||
handleClick(event, link)}}" href="obfuscated">${reverse(email)}</a>` | ||
}; | ||
function addresses (e) { | ||
return e ? array(e).join(',') : undefined | ||
} | ||
function addresses(e) { | ||
return e | ||
? array(e).join(',') | ||
: undefined | ||
} | ||
function reverse(s){ | ||
return s.split("").reverse().join(""); | ||
} | ||
function reverse(s) { | ||
return s | ||
.split("") | ||
.reverse() | ||
.join(""); | ||
} | ||
function wait(e) { | ||
function wait(e) { | ||
e.preventDefault(); | ||
} | ||
function handleClick(e, l) { | ||
function handleClick(e, l) { | ||
e.preventDefault() | ||
window.location.href = l | ||
} | ||
} |
5991
97
44