@kerthin/domain
Version:
Kerthin Domain (based on DDD)
37 lines • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidationDictException = void 0;
const utils_1 = require("@kerthin/utils");
const _1 = require("./");
class ValidationDictException extends _1.Exception {
constructor(message, exceptions) {
super(message);
this.exceptions = exceptions;
}
parseExceptions() {
console.log('this.exceptions', this.exceptions);
const parsed = this.foobar(this.exceptions);
// console.log('parsed', parsed);
return parsed;
}
foobar(exceptions) {
if ((0, utils_1.isEmptyOrNil)(exceptions))
return;
if (Array.isArray(exceptions)) {
return exceptions.map((exception) => {
if ((0, utils_1.isEmptyOrNil)(exception.exceptions)) {
return exception.message;
}
return this.foobar(exception.exceptions);
});
}
return Object
.entries(exceptions)
.reduce((parsed, [key, errors]) => {
parsed[key] = this.foobar(Array.isArray(errors) ? errors : errors.exceptions);
return parsed;
}, {});
}
}
exports.ValidationDictException = ValidationDictException;
//# sourceMappingURL=validation-dict.exception.js.map