All files apidocConfig.js

83.33% Statements 10/12
66.66% Branches 4/6
50% Functions 2/4
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40        2x                   2x 1x   1x   1x       2x     1x     2x   2x   2x            
/**
 * Configure apiDocs output. Filter custom "apiMock" related key/value
 * pairs such as randomResponse, forceStatus, or delayResponse.
 */
let group = '';
 
/**
 * apiDoc parsing extension, see apiDocs parsing for setup.
 *
 * @param {string} content
 * @param {*} source
 * @param {*} defaultGroup
 * @returns {{}}
 */
const parse = (content, source, defaultGroup) => {
  group = defaultGroup || 'settings';
 
  const [tempKey = '', tempValue = ''] = content.split('}');
 
  const updatedKey = tempKey
    ?.replace(/{/, '')
    ?.trim()
    ?.replace(/(?:^\w|[A-Z]|\b\w)/g, (letter, index) => {
      return index === 0 ? letter.toLowerCase() : letter.toUpperCase();
    });
 
  return { [updatedKey]: tempValue?.trim() };
};
 
const getGroup = () => group;
 
const path = () => `local.mock.${getGroup()}`;
 
module.exports = {
  parse,
  path,
  getGroup,
  method: 'push'
};