UNPKG

moysklad

Version:

Библиотека для работы с API сервиса МойСклад

41 lines (33 loc) 900 B
'use strict' const { MoyskladApiError, MoyskladCollectionError } = require('./errors') module.exports = function getResponseError( responseBody, response, requestBody ) { if (!responseBody) return null if (Array.isArray(responseBody)) { const errorsIndexes = responseBody .map((item, index) => { if (item.errors) { return [index, item.errors] } else { return null } }) .filter(item => item !== null) if (errorsIndexes.length === 0) return null const errors = errorsIndexes .map(errItem => errItem[1]) .reduce((res, errors) => res.concat(errors), []) return new MoyskladCollectionError( errors, errorsIndexes, response, requestBody ) } else if (responseBody.errors) { return new MoyskladApiError(responseBody.errors, response, requestBody) } return null }