@pelevesque/has-prohibited-substring-at-indexes v0.0.2
has-prohibited-substring-at-indexes
Checks if a string has at least one prohibited substring at a given index.
Related Packages
https://github.com/pelevesque/has-prohibited-substring
https://github.com/pelevesque/has-prohibited-substring-after-sums
https://github.com/pelevesque/has-required-substrings
https://github.com/pelevesque/has-required-substrings-at-indexes
https://github.com/pelevesque/has-required-substrings-after-sums
Node Repository
https://www.npmjs.com/package/@pelevesque/has-prohibited-substring-at-indexes
Installation
npm install @pelevesque/has-prohibited-substring-at-indexes
Tests
| Command | Description |
|---|---|
npm test or npm run test | All Tests Below |
npm run cover | Standard Style |
npm run standard | Coverage |
npm run unit | Unit Tests |
Usage
str (required)
prohibitedSubstrings (required)
allowLastSubstringToBleed (optional) default = falseRequiring
const hasProhibitedSubstringAtIndexes = require('@pelevesque/has-prohibited-substring-at-indexes')Basic Usage
prohibitedSubstrings is an object of index -> substring pairs. true is returned
if at least one substring is found at the correct index.
const str = 'abcde'
const prohibitedSubstrings = { 0: 'e' }
const result = hasProhibitedSubstringAtIndexes(str, prohibitedSubstrings)
// result === falseconst str = 'abcde'
const prohibitedSubstrings = { 0: '!', 2: 'c', 4: '!' }
const result = hasProhibitedSubstringAtIndexes(str, prohibitedSubstrings)
// result === trueconst str = 'a man a plan a canal'
const prohibitedSubstrings = { 2: 'man', 8: 'plan', 15: 'canal' }
const result = hasProhibitedSubstringAtIndexes(str, prohibitedSubstrings)
// result === trueOptions
allowLastSubstringToBleed
The allowLastSubstringToBleed option is false by default. It it used when you want
to allow the last substring to be incomplete if the string is too short.
In the following example, the last substring canal starts at the correct index,
but remains incomplete since the string ends. Normally this would return false.
With allowLastSubstringToBleed set to true, it returns true.
const str = 'a man a plan a c'
const prohibitedSubstrings = { 15: 'canal' }
const allowLastSubstringToBleed = true
const result = hasProhibitedSubstringAtIndexes(str, prohibitedSubstrings, allowLastSubstringToBleed)
// result === trueoptions style
For style compatibility with related packages like has-required-substrings-after-sums,
it is possible to set allowLastSubstringToBleed using an options style.
const str = 'a man a plan a c'
const prohibitedSubstrings = { 15: 'canal' }
const allowLastSubstringToBleed = true
const result = hasProhibitedSubstringAtIndexes(str, prohibitedSubstrings, {
allowLastSubstringToBleed: allowLastSubstringToBleed
})
// result === true