# mares-error-mapper
슬로그업 mares프레임워크에서 사용하는 매핑 모듈입니다. 마레스 에러 객체에 복합유니크 키로 인하여 배열의 여러 에러가 있을 경우 필요한 에러만 추출해 줍니다.
또한 코드를 매핑하여 메시지를 만듭니다.

## Installation
`npm install --save mares-error-mapper`

## Examples

```javascript
const mapper = require('mares-error-mapper')

// param에 appKey를 갖고 있는 에러를 지워주는 미들웨어를 반환합니다.
const middle = mapper.uniqueMapper(['appKey'])
```

```javascript
const mapper = require('mares-error-mapper')

// 번역파일을 이용하여 코드를 메시지로 번역하는미들웨어를 반환합니다.
let codeLang = {
	"codes": {
        "invalidKey": "wrokng key value",
        "prohibitNull": "null is prohibit"
	}
}

const middle = mapper.codeTranslator(codeLang)
```

```javascript
const mapper = require('mares-error-mapper')

//또한 제이슨 자체로도 사용 가능합니다.
let codeLang = {
	"codes": {
        "invalidKey": "wrokng key value",
        "prohibitNull": "null is prohibit"
	}
}
let codeLangJson = JSON.stringify(codeLang)

const middle = mapper.codeTranslatorByJson(codeLangJson)
```

```javascript
const mapper = require('mares-error-mapper')

// 번역파일을 이용하여 코드를 메시지로 번역하는 함수입니다.
let codeLang = {
	"codes": {
        "invalidKey": "wrokng key value",
        "prohibitNull": "null is prohibit"
	}
}
let rows = [{
	code:'invalidKey'
},{
	code:'prohibitNull'
}]

let newRows = mapper.translateCode(rows, codeLang)
```

```javascript
const mapper = require('mares-error-mapper')

//또한 제이슨 자체로도 사용 가능합니다.
let codeLang = {
	"codes": {
        "invalidKey": "wrokng key value",
        "prohibitNull": "null is prohibit"
	}
}
let rows = [{
	code:'invalidKey'
},{
	code:'prohibitNull'
}]
let codeLangJson = JSON.stringify(codeLang)

let newRows = mapper.translateCodeByJson(rows, codeLangJson)
```