(o: unknown, transformKeys: string[])
| 36 | |
| 37 | // 将对象的键从驼峰转为下划线 |
| 38 | function keysToSnake(o: unknown, transformKeys: string[]): unknown { |
| 39 | if (isObject(o)) { |
| 40 | const n: { [k: string]: unknown } = {} |
| 41 | Object.keys(o as object).forEach((k) => { |
| 42 | const newKey = transformKeys.includes(k) ? toSnake(k) : k |
| 43 | n[newKey] = keysToSnake((o as { [k: string]: unknown })[k], transformKeys) |
| 44 | }) |
| 45 | return n |
| 46 | } else if (Array.isArray(o)) { |
| 47 | return o.map((i) => keysToSnake(i, transformKeys)) |
| 48 | } |
| 49 | return o |
| 50 | } |
| 51 | |
| 52 | // 将查询字符串的键从驼峰转换为下划线 |
| 53 | function convertQueryParamsToSnake( |
no test coverage detected