lib/prompt-filters.js
function (input, list) {
    debug('chooseOneFilter(%s, %s)', input, JSON.stringify(list));
    if (input === true) return undefined;
    if (_.isString(input)) {
      if (_.isEmpty(input)) return undefined;
      var ilc = input.toLocaleLowerCase();
      for (var idx = 0; idx < list.length; idx++) {
        var item = list[idx];
        if (item.toLocaleLowerCase() === ilc) return item;
      }
    }
    return undefined;
  }
function (input, list) {
    debug('chooseOneFilter(%s, %s)', input, JSON.stringify(list));
    if (input === true) return undefined;
    if (_.isString(input)) {
      if (_.isEmpty(input)) return undefined;
      var ilc = input.toLocaleLowerCase();
      for (var idx = 0; idx < list.length; idx++) {
        var item = list[idx];
        if (item.toLocaleLowerCase() === ilc) return item;
      }
    }
    return undefined;
  }
function ( input , list ) { debug ( 'chooseOneFilter(%s, %s)' , input , JSON . stringify ( list ) ) ; if ( input === true ) return undefined ; if ( _ . isString ( input ) ) { if ( _ . isEmpty ( input ) ) return undefined ; var ilc = input . toLocaleLowerCase ( ) ; for ( var idx = 0 ; idx < list . length ; idx ++ ) { var item = list [ idx ] ; if ( item . toLocaleLowerCase ( ) === ilc ) return item ; } } return undefined ; }
Check if input exists in list in a case insensitive manner. Will return
the value from the list rather than the user input so the list can control
the final case.

NOTE 1: The list may not contain, undefined, null or the empty string.
NOTE 2: If there are multiple matches, the first one wins.

@param {(string|boolean|undefined|null)} input
@param {string[]} list
@returns {(string|undefined)}
Check if input exists in list in a case insensitive manner . Will return the value from the list rather than the user input so the list can control the final case .