@bredele/subaddress-allow
v1.0.0
Published
Conditionally allow email subaddressing using allow lists or custom async functions.
Readme
subaddress-allow
Conditionally preserve email subaddresses using allow lists or custom async functions - strip [email protected] to [email protected] when not allowed.
Installation
npm install @bredele/subaddress-allowUsage
import subaddress from '@bredele/subaddress-allow'
// allow all subaddresses for a given domain
await subaddress('[email protected]', ['doe.com'])
// => [email protected]
await subaddress('[email protected]', ['doe.com'])
// => [email protected]
// allow all subaddresses for a given email address
const allow = ['[email protected]']
await subaddress('[email protected]', allow)
// => [email protected]
await subaddress('[email protected]', allow)
// => [email protected]
// allow a specific subaddress
const allowSpecific = ['[email protected]']
await subaddress('[email protected]', allowSpecific)
// => [email protected]
await subaddress('[email protected]', allowSpecific)
// => [email protected]
// using a function to determine if subaddress should be allowed
await subaddress('[email protected]', (email) => {
return email.includes('+admin')
})
// => [email protected]
await subaddress('[email protected]', (email) => {
return email.includes('+admin')
})
// => [email protected]
// using an async function for complex allow logic
await subaddress('[email protected]', async (email) => {
const user = await getUserFromEmail(email)
return user?.plan === 'premium'
})
// => [email protected] (if user has premium plan)
// => [email protected] (if user doesn't have premium plan)