* 尝试解析 CLI 错误详情 * @param {*} data - 原始响应体 * @returns {Promise<*>} 可序列化的详情
(data)
| 202 | * @param {*} data - 原始响应体 |
| 203 | * @returns {Promise<*>} 可序列化的详情 |
| 204 | */ |
| 205 | async function normalizeCliErrorDetails(data) { |
| 206 | if (data && typeof data.on === 'function') { |
| 207 | const rawText = await readStreamBody(data) |
| 208 | if (!rawText) { |
| 209 | return '' |
| 210 | } |
| 211 | |
| 212 | try { |
| 213 | return JSON.parse(rawText) |
| 214 | } catch (error) { |
| 215 | return rawText |
| 216 | } |
| 217 | } |
| 218 | |
| 219 | if (Buffer.isBuffer(data)) { |
| 220 | const rawText = data.toString('utf8') |
| 221 | try { |
| 222 | return JSON.parse(rawText) |
| 223 | } catch (error) { |
| 224 | return rawText |
| 225 | } |
| 226 | } |
| 227 | |
| 228 | return data |
| 229 | } |
| 230 | |
| 231 | /** |
no test coverage detected