@pelevesque/has-prohibited-substring-after-sums

0.0.2 • Public • Published

Build Status Coverage Status JavaScript Style Guide

has-prohibited-substring-after-sums

Checks if a string has a prohibited substring after given sums.

Related Packages

https://github.com/pelevesque/has-prohibited-substring
https://github.com/pelevesque/has-prohibited-substring-at-indexes
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-after-sums

Installation

npm install @pelevesque/has-prohibited-substring-after-sums

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

Parameters

str                  (required)
prohibitedSubstrings (required)
options              (optional) default = { substringsToDigits = null, sumPlainDigits = true,  allowSubstringBleeding = false }

Requiring

const hasProhibitedSubstringAfterSums = require('@pelevesque/has-prohibited-substring-after-sums')

Basic Usage

@see https://github.com/pelevesque/sum-digits to understand how the sum is calculated.

prohibitedSubstrings is an object of sum -> substring pairs. true is returned if at least one substring is found directly following its associated sums.

const str = '123a45'
const prohibitedSubstrings = { 1: 'a' }
const result = hasProhibitedSubstringAfterSums(str, prohibitedSubstrings)
// result === false
const str = '123a45'
const prohibitedSubstrings = { 6: 'a' }
const result = hasProhibitedSubstringAfterSums(str, prohibitedSubstrings)
// result === true
// only one substring needs to match
const str = '123man45dinosaur'
const prohibitedSubstrings = { 6: 'man', 150: 'dinosaur' }
const result = hasProhibitedSubstringAfterSums(str, prohibitedSubstrings)
// result === true
// the substring must come directly after the sum (here b is directly after the sum, not a)
const str = '123ba45'
const prohibitedSubstrings = { 6: 'a' }
const result = hasProhibitedSubstringAfterSums(str, prohibitedSubstrings)
// result === false

Options

substringsToDigits

You can use the substringsToDigits object to give numeric values to substrings so that they are counted during summing.

const str = '123!$$$a'
const prohibitedSubstrings = { 15: 'a' }
const substringsToDigits = { '!': 4, '$$$': 5 }
const result = hasProhibitedSubstringAfterSums(str, prohibitedSubstrings, {
  substringsToDigits: substringsToDigits
})
// result === true

sumPlainDigits

You can set the sumPlainDigits flag to false if you only want to sum substringsToDigits.

In the following example, 1, 2, and 3 are not summed.

const str = '123!a'
const prohibitedSubstrings = { 4: 'a' }
const substringsToDigits = { '!': 4 }
const sumPlainDigits = false
const result = hasProhibitedSubstringAfterSums(str, prohibitedSubstrings, {
  substringsToDigits: substringsToDigits,
  sumPlainDigits: sumPlainDigits
})
// result === true

allowSubstringBleeding

The allowSubstringBleeding flag 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 allowSubstringBleeding set to true, it returns true.

const str = '123can'
const prohibitedSubstrings = { 6: 'canal' }
const allowSubstringBleeding = true
const result = hasProhibitedSubstringAfterSums(str, prohibitedSubstrings, {
  allowSubstringBleeding: allowSubstringBleeding
})
// result === true

Package Sidebar

Install

npm i @pelevesque/has-prohibited-substring-after-sums

Weekly Downloads

0

Version

0.0.2

License

MIT

Unpacked Size

34.8 kB

Total Files

6

Last publish

Collaborators

  • pelevesque