Skip to content

Latest commit

 

History

History
68 lines (53 loc) · 1.34 KB

README.md

File metadata and controls

68 lines (53 loc) · 1.34 KB

you-shall-not-pass

just a simple way to filter strings

build status

What

It happens that you would like to filter something that if matches shall not pass.

Blacklist VS Whitelist

The function accepts optionally no list, blacklist, or whitelist, and it gives precedence to the white one.

However, if no list is provided and matches the input, the youShallNotPass.maybe is returned instead.

To preserve the security intent, by maybe, youShallNotPass(str) returns true but if you want to rely the blacklist 100% feel free to chnge the value.

// if you don't care about non checked things
youShallNotPass.maybe = true;

API

youShallNotPass(
  str:string,
  [blacklist:Array|RegExp|null],
  [whitelist:Array|RegExp|null]
):boolean

These are few examples from the test file:

true === youShallNotPass(
  'test',
  /\btest\b/ // blacklist
);

true === youShallNotPass(
  'test',
  [ // blacklist as list
    /\btes\b/,
    /\btest\b/
  ]
);

// as whitelisted, then stronger!
false === youShallNotPass(
  'test',
  /.*/,
  /\btest\b/
);

// same as above
false === youShallNotPass(
  'test',
  [
    /.*/,
    /\btest\b/
  ],
  [
    /\btest\b/
  ]
);