koa-api/route/utils/index.js

66 lines
1023 B
JavaScript

const message = require('./message')
/**
* api response message util
* @param {String} key
* @param {String} msg
*/
const resObject = function (key = '', msg = null) {
if (!key || !(key in message)) {
// default message
return
}
let obj = Object.assign({}, message[key])
if (typeof msg === 'string' && msg.length > 0) obj.obj.message = msg
if (msg !== null && typeof msg === 'object') obj.obj = msg
return obj
}
const genError = function (type, msg = '') {
let err = new MError()
err.mtype = type
err.msg = msg
return err
}
class MError extends Error {
/**
* @param {String} str
*/
constructor (str) {
super(str)
this._mtype = ''
this._msg = ''
}
/**
* @param {String} type
*/
set mtype (type = '') {
this._mtype = type
}
get mtype () {
return this._mtype
}
/**
* @param {String} s
*/
set msg (s = '') {
this._msg = s
}
get msg () {
return this._msg
}
}
module.exports = {
resObject,
MError,
genError
}