allowlist

Create allow/deny matcher with Patterns, Regex and Functions

Usage no npm install needed!

<script type="module">
  import allowlist from 'https://cdn.skypack.dev/allowlist';
</script>

README

Allowlist

Create allow/deny matcher with Patterns, Regex and Functions

npm version npm downloads Github Actions Codecov

Install

Install using npm or yarn:

npm i allowlist
# or
yarn add allowlist

Import:

// CommonJS
const { allowlist } = require('allowlist')

// ESM
import { allowlist } from 'allowlist'

Note: You may need to transpile library!

Usage

Create a matcher:

// Allow a good string
const allow = allowlist('good')

// Allow a good string ignore case
const allow = allowlist('good', true)

// Allow a better regex
const allow = allowlist(/better/)

// Allow list of good values
const allow = allowlist([
    'good',
    /better/,
    /best/i
])

// Allow good values with your logic
const allow = allowlist((value) => {
    return value.includes('good')
})

// Deny bad values
const allow = allowlist({
    reject: [
        'bad',
        /awful/,
        /worse/i
    ]
})

// Allow good values and deny bads
const allow = allowlist({
    accept: [
        'good',
        /better/,
        /best/i
    ],
    reject: [
        'bad',
        /awful/,
        /worse/i
    ]
})

Use matcher:

if (allow('Sometimes good things fall apart so better things can fall together.')) {
    // cool stuff
}

License

MIT. Made with 💖