UNPKG

mares-error-mapper

Version:

마레스 에러를 번역 및 매핑하는 모듈입니다.

82 lines (80 loc) 1.96 kB
module.exports.excludeErrorObject = (error, excludingParams) => { let rows = error let newRows = [] for (let i = 0; i < rows.length; ++i) { let row = rows[i] let isSearched = false for (let j = 0; j < excludingParams.length; ++j) { if (excludingParams[j] === row.param) { isSearched = true break } } if (!isSearched) { newRows.push(row) } } return newRows } module.exports.translateErrorCodeByJson = (errors, codeLangJson) => { let parsedJson = {} try { parsedJson = JSON.parse(codeLangJson) } catch (e) { if (e instanceof SyntaxError) { errors.push({ code: 'jsonParseError', msg: 'translate json parse error. please send message to server developer', value: null, domain: null }) return errors } else { errors.push({ code: 'unexpectedError', msg: 'error at mares-error-mapper. please send message to server developer', value: null, domain: null }) return errors } } let newErrors = [] for (let i = 0; i < errors.length; ++i) { let newError = {} if (((errors[i].code === errors[i].msg) || !errors[i].msg) && parsedJson) { if (parsedJson.codes) { if (parsedJson.codes.hasOwnProperty(errors[i].code)) { newError = errors[i] newError.msg = parsedJson.codes[errors[i].code] } else { newError = errors[i] } } newErrors.push(newError) } else { newErrors.push(errors[i]) } } return newErrors } module.exports.translateErrorCode = (errors, codeLang) => { let newErrors = [] for (let i = 0; i < errors.length; ++i) { let newError = {} if (((errors[i].code === errors[i].msg) || !errors[i].msg) && codeLang) { if (codeLang.codes) { if (codeLang.codes.hasOwnProperty(errors[i].code)) { newError = errors[i] newError.msg = codeLang.codes[errors[i].code] } else { newError = errors[i] } } newErrors.push(newError) } else { newErrors.push(errors[i]) } } return newErrors }