{"version":3,"file":"index6.cjs","sources":["../src/formatting.ts"],"sourcesContent":["export function convertObjectToSnakeCase(requestBody: object) {\n  // Converting to JSON and back first handles things like dates, circular references etc.\n  requestBody = JSON.parse(JSON.stringify(requestBody))\n  return deepMapObjectKeys(requestBody, snakeCase)\n}\n\nexport function convertObjectToCamelCase(responseBody: object) {\n  return deepMapObjectKeys(responseBody, camelCase)\n}\n\ntype CaseFunction = (s: string) => string\n\nfunction deepMapObjectKeys(value: any, f: CaseFunction): any {\n  if (!(value instanceof Object)) {\n    return value\n  } else if (Array.isArray(value)) {\n    return value.map(item => deepMapObjectKeys(item, f))\n  } else {\n    return Object.keys(value).reduce((acc: any, key: string) => {\n      acc[f(key)] = deepMapObjectKeys(value[key], f)\n      return acc\n    }, {})\n  }\n}\n\nconst snakeCase = (s: string) =>\n  s.replace(/([a-z0-9])([A-Z0-9])/g, '$1_$2').toLowerCase()\n\nconst camelCase = (s: string) =>\n  s.replace(/_[a-z0-9]/g, underscoreChar => underscoreChar[1].toUpperCase())\n"],"names":["convertObjectToSnakeCase","requestBody","deepMapObjectKeys","snakeCase","convertObjectToCamelCase","responseBody","camelCase","value","f","item","acc","key","s","underscoreChar"],"mappings":"gFAAO,SAASA,EAAyBC,EAAqB,CAE5D,OAAAA,EAAc,KAAK,MAAM,KAAK,UAAUA,CAAW,CAAC,EAC7CC,EAAkBD,EAAaE,CAAS,CACjD,CAEO,SAASC,EAAyBC,EAAsB,CAC7D,OAAOH,EAAkBG,EAAcC,CAAS,CAClD,CAIA,SAASJ,EAAkBK,EAAYC,EAAsB,CAC3D,OAAMD,aAAiB,OAEZ,MAAM,QAAQA,CAAK,EACrBA,EAAM,IAAIE,GAAQP,EAAkBO,EAAMD,CAAC,CAAC,EAE5C,OAAO,KAAKD,CAAK,EAAE,OAAO,CAACG,EAAUC,KAC1CD,EAAIF,EAAEG,CAAG,CAAC,EAAIT,EAAkBK,EAAMI,CAAG,EAAGH,CAAC,EACtCE,GACN,CAAA,CAAE,EAPEH,CASX,CAEA,MAAMJ,EAAaS,GACjBA,EAAE,QAAQ,wBAAyB,OAAO,EAAE,YAAA,EAExCN,EAAaM,GACjBA,EAAE,QAAQ,aAAcC,GAAkBA,EAAe,CAAC,EAAE,YAAA,CAAa"}