UNPKG

@algoan/nestjs-http-exception-filter

Version:
59 lines 4.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getErrorMessage = exports.getCode = void 0; const lodash_1 = require("lodash"); function getCode(exResponse) { if (typeof exResponse === 'string') { return formatErrorCode(exResponse); } if ('error' in exResponse && typeof exResponse.error === 'string') { return formatErrorCode(exResponse.error); } if ('code' in exResponse && typeof exResponse.code === 'string') { return exResponse.code; } return ''; } exports.getCode = getCode; function getErrorMessage(exResponse) { if (typeof exResponse === 'string') { return exResponse; } if (typeof exResponse.message === 'string') { return exResponse.message; } if (Array.isArray(exResponse.message)) { const error = exResponse.message[0]; if (typeof error === 'string') { return error; } const validationError = parseErrorMessage(error); if (validationError) { return validationError; } } return 'INTERNAL_SERVER_ERROR'; } exports.getErrorMessage = getErrorMessage; function formatErrorCode(error) { return (0, lodash_1.toUpper)((0, lodash_1.snakeCase)(error)); } function parseErrorMessage(error) { let message = ''; const messages = findConstraints(error); if (messages === undefined) { return 'Invalid parameter'; } Object.keys(messages).forEach((key) => { message += `${message === '' ? '' : ' -- '}${messages[key]}`; }); return message; } function findConstraints(error) { let objectToIterate = error; while (objectToIterate.children !== undefined) { objectToIterate = objectToIterate.children[0]; } return objectToIterate.constraints; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXJyb3IudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQTRDO0FBUTVDLFNBQWdCLE9BQU8sQ0FBQyxVQUFzQztJQUM1RCxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE9BQU8sZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLE9BQU8sSUFBSSxVQUFVLElBQUksT0FBTyxVQUFVLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xFLE9BQU8sZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxNQUFNLElBQUksVUFBVSxJQUFJLE9BQU8sVUFBVSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoRSxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQWRELDBCQWNDO0FBS0QsU0FBZ0IsZUFBZSxDQUFDLFVBQXNDO0lBQ3BFLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksT0FBTyxVQUFVLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzNDLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBRXRDLE1BQU0sS0FBSyxHQUE2QixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxlQUFlLEdBQVcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sdUJBQXVCLENBQUM7QUFDakMsQ0FBQztBQXRCRCwwQ0FzQkM7QUFRRCxTQUFTLGVBQWUsQ0FBQyxLQUFhO0lBQ3BDLE9BQU8sSUFBQSxnQkFBTyxFQUFDLElBQUEsa0JBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFLRCxTQUFTLGlCQUFpQixDQUFDLEtBQXNCO0lBQy9DLElBQUksT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUN6QixNQUFNLFFBQVEsR0FBMkIsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWhFLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFRLEVBQUU7UUFDbEQsT0FBTyxJQUFJLEdBQUcsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBS0QsU0FBUyxlQUFlLENBQUMsS0FBc0I7SUFDN0MsSUFBSSxlQUFlLEdBQW9CLEtBQUssQ0FBQztJQUM3QyxPQUFPLGVBQWUsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDOUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLFdBQVcsQ0FBQztBQUNyQyxDQUFDIn0=