Convert an alternating case string to a JSON object

Usage no npm install needed!

<script type="module">
  import abcnewsAlternatingCaseToObject from 'https://cdn.skypack.dev/@abcnews/alternating-case-to-object';


Alternating Case to Object

A function to convert ALTERNATINGcase strings to objects.


npm i @abcnews/alternating-case-to-object
const alternatingCaseToObject = require('@abcnews/alternating-case-to-object');


// >>>

  prop: 'value',
  second: 'thing',
  allowed: true,
  things: 100

Automatic type inference

  • Number values will be parsed as floats.
  • The values "true", "yes", "false" & "no" will be converted to the booleans true, true, false & false, respectively.
  • If a prop appears more than once, multiple values will be returned as an array:

// >>>

  group: ['first', 'second', 'third'];

Every value in a prop which appears multiple times must be of the same type or an exception will be thrown. For example, this will throw:



You can pass an object as a second argument, defining one or more options:


Props in this array will always be returned as arrays, even if they occur in the config string zero or one time.

alternatingCaseToObject('AtrueAfalseBvalueAtrueDvalue', {
  arrayProps: ['a', 'b', 'c']

// >>>

  a: [true, false, true],
  b: ['value'],
  c: [],
  d: 'value'


Props in the config will be renamed if they occur in this object.

alternatingCaseToObject('CAMELCASEtrueKEBABCASE100', {
  propMap: {
    camelcase: 'camelCase',
    kebabcase: 'kebab-case'

// >>>

  camelCase: true,
  'kebab-case': 100