function parseOptions (value) {
  let definedOptions = value.split(','),
    parsedOptions = {};

  _.forEach(definedOptions, (definedOption) => {
    let option = definedOption.split('=');

    if (option.length === 2 && _.includes(_.keys(availableOptions), option[0])) {
      try {
        // parse parsable data types (e.g. boolean, integer etc)
        parsedOptions[option[0]] = JSON.parse(option[1]);
      }
      catch (e) {
        // treat value as string if can not be parsed
        parsedOptions[option[0]] = option[1];
      }
    }
    else {
      console.warn('\x1b[33m%s\x1b[0m', 'Warning: Invalid option supplied ', option[0]);
    }
  });

  /**
   * As v2 interface uses parametersResolution instead of previous requestParametersResolution option,
   * override value of parametersResolution if it's not defined and requestParametersResolution is defined
   */
  if (_.has(parsedOptions, 'requestParametersResolution') && !_.has(parsedOptions, 'parametersResolution')) {
    parsedOptions.parametersResolution = parsedOptions.requestParametersResolution;
  }
  return parsedOptions;
}
Parses comma separated options mentioned in command args and generates JSON object

@param {String} value - User defined options value
@returns {Object} - Parsed option in format of JSON object