assertthat
Version:
assertthat provides fluent TDD.
27 lines (26 loc) • 1.33 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.prettyPrintResultDiff = void 0;
const chalk_1 = __importDefault(require("chalk"));
const errors_1 = require("../../errors");
const prettyPrintDiff_1 = require("../typeAware/prettyPrintDiff");
const ResultDiff_1 = require("../../diffs/forResults/ResultDiff");
const prettyPrintResultDiff = function (diff, depth = 0) {
if ((0, ResultDiff_1.isUnequalValueResultDiff)(diff)) {
return `ValueResult(${(0, prettyPrintDiff_1.prettyPrintDiff)(diff.diff, depth + 1)})`;
}
if ((0, ResultDiff_1.isUnequalErrorResultDiff)(diff)) {
return `ErrorResult(${(0, prettyPrintDiff_1.prettyPrintDiff)(diff.diff, depth + 1)})`;
}
if ((0, ResultDiff_1.isExpectedValueGotErrorResultDiff)(diff)) {
return `${chalk_1.default.red('ErrorResult(...)')}\n${chalk_1.default.green('ValueResult(...)')}`;
}
if ((0, ResultDiff_1.isExpectedErrorGotValueResultDiff)(diff)) {
return `${chalk_1.default.red('ValueResult(...)')}\n${chalk_1.default.green('ErrorResult(...)')}`;
}
throw new errors_1.InvalidOperation();
};
exports.prettyPrintResultDiff = prettyPrintResultDiff;