JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 180191
  • Score
    100M100P100Q191091F
  • License Apache-2.0

Take a string and a number and perform binary case switching on alpha characters.

Package Exports

  • binary-case

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (binary-case) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

NPM version NPM downloads Build status Test coverage

binary-case

Take a string and a number and perform binary case switching on alpha characters.

Example

const binaryCase = require('binary-case');

// 3 in binary = 011
const number = 3;

// 011 reversed to 110 so the first 2 characters will toggle case
const value = binaryCase('abc', 3);     // value: "ABc"

Installation

$ npm install binary-case

API

binaryCase ( string, number [, options ] ) : string | boolean

Take a string and a number and perform binary case switching on alpha characters.

Parameters

  • string - The string value to toggle alpha character cases on.

  • number - A number that will be converted to binary to determine case switching.

  • options - An optional object that defines options for the function.

    • allowOverflow - Defaults to true. Set to false to have the binaryCase function return false when the number provided creates a binary string that is larger than the number of alpha characters in the string provided to be converted. Overflow will cause case switching sequences to repeat.

      binaryCase('abc', 0);                               // 'abc'
      binaryCase('abc', 8);                               // 'abc'
      binaryCase('abc', 8, { allowOverflow: false });     // false

Returns a string if successful or false on failure.

binaryCase.iterator ( string [, options ] ) : object

Get an iterator object that will allow iteration through all variations of the string's casing.

Parameters

  • string - The string to produce case variations for.

  • options - An optional object that defines options for the iterator.

    • startIndex - The number to start with for producing variations. This will reduce the total number of possible variations.

Returns an object with a next property.

Example

const iterator = binaryCase.iterator('abc');
iterator.next().value;  // 'abc'
iterator.next().value;  // 'Abc'
iterator.next().value;  // 'aBc'
iterator.next().value;  // 'ABc'

binaryCase.maxNumber ( string ) : number

Determine the maximum number that can be used before causing repeating case variations.

Parameters

  • string - The string value to count the number of possible case variations on.

Returns a number.

This calculation is simple:

  1. Determine how many alpha characters exist in the string (a through z and A through Z)
  2. The result is 2 to the power of the number of alpha characters, minus 1.

For example: abc has 3 alpha characters. 2^3 - 1 = 7

binaryCase.variations ( string ) : string[]

Get an array of all possible case variations.

Parameters

  • string - The string value to get case variations for.

Returns an array of strings.