UNPKG

assertthat

Version:
79 lines (78 loc) 4.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.prettyPrintDiff = void 0; const errors_1 = require("../../errors"); const ArrayDiff_1 = require("../../diffs/forArrays/ArrayDiff"); const BooleanDiff_1 = require("../../diffs/forBooleans/BooleanDiff"); const EqualDiff_1 = require("../../diffs/EqualDiff"); const ErrorDiff_1 = require("../../diffs/forErrors/ErrorDiff"); const FunctionDiff_1 = require("../../diffs/forFunctions/FunctionDiff"); const IncompatibleTypeDiff_1 = require("../../diffs/IncompatibleTypeDiff"); const MapDiff_1 = require("../../diffs/forMaps/MapDiff"); const NumberDiff_1 = require("../../diffs/forNumbers/NumberDiff"); const ObjectDiff_1 = require("../../diffs/forObjects/ObjectDiff"); const RecursionDiff_1 = require("../../diffs/forRecursions/RecursionDiff"); const ResultDiff_1 = require("../../diffs/forResults/ResultDiff"); const SetDiff_1 = require("../../diffs/forSets/SetDiff"); const StringDiff_1 = require("../../diffs/forStrings/StringDiff"); const SymbolDiff_1 = require("../../diffs/forSymbols/SymbolDiff"); const prettyPrintArrayDiff_1 = require("../forArrays/prettyPrintArrayDiff"); const prettyPrintBooleanDiff_1 = require("../forBooleans/prettyPrintBooleanDiff"); const prettyPrintEqualDiff_1 = require("../prettyPrintEqualDiff"); const prettyPrintErrorDiff_1 = require("../forErrors/prettyPrintErrorDiff"); const prettyPrintFunctionDiff_1 = require("../forFunctions/prettyPrintFunctionDiff"); const prettyPrintIncompatibleTypeDiff_1 = require("./prettyPrintIncompatibleTypeDiff"); const prettyPrintMapDiff_1 = require("../forMaps/prettyPrintMapDiff"); const prettyPrintNumberDiff_1 = require("../forNumbers/prettyPrintNumberDiff"); const prettyPrintObjectDiff_1 = require("../forObjects/prettyPrintObjectDiff"); const prettyPrintRecursionDiff_1 = require("../forRecursions/prettyPrintRecursionDiff"); const prettyPrintResultDiff_1 = require("../forResults/prettyPrintResultDiff"); const prettyPrintSetDiff_1 = require("../forSets/prettyPrintSetDiff"); const prettyPrintStringDiff_1 = require("../forStrings/prettyPrintStringDiff"); const prettyPrintSymbolDiff_1 = require("../forSymbols/prettyPrintSymbolDiff"); const prettyPrintDiff = function (diff, depth = 0) { if ((0, EqualDiff_1.isEqualDiff)(diff)) { return (0, prettyPrintEqualDiff_1.prettyPrintEqualDiff)(diff); } if ((0, RecursionDiff_1.isRecursionDiff)(diff)) { return (0, prettyPrintRecursionDiff_1.prettyPrintRecursionDiff)(diff); } if ((0, ErrorDiff_1.isErrorDiff)(diff)) { return (0, prettyPrintErrorDiff_1.prettyPrintErrorDiff)(diff, depth); } if ((0, SetDiff_1.isSetDiff)(diff)) { return (0, prettyPrintSetDiff_1.prettyPrintSetDiff)(diff, depth); } if ((0, MapDiff_1.isMapDiff)(diff)) { return (0, prettyPrintMapDiff_1.prettyPrintMapDiff)(diff, depth); } if ((0, ArrayDiff_1.isArrayDiff)(diff)) { return (0, prettyPrintArrayDiff_1.prettyPrintArrayDiff)(diff, depth); } if ((0, ResultDiff_1.isResultDiff)(diff)) { return (0, prettyPrintResultDiff_1.prettyPrintResultDiff)(diff, depth); } if ((0, NumberDiff_1.isNumberDiff)(diff)) { return (0, prettyPrintNumberDiff_1.prettyPrintNumberDiff)(diff); } if ((0, StringDiff_1.isStringDiff)(diff)) { return (0, prettyPrintStringDiff_1.prettyPrintStringDiff)(diff); } if ((0, BooleanDiff_1.isBooleanDiff)(diff)) { return (0, prettyPrintBooleanDiff_1.prettyPrintBooleanDiff)(diff); } if ((0, SymbolDiff_1.isSymbolDiff)(diff)) { return (0, prettyPrintSymbolDiff_1.prettyPrintSymbolDiff)(diff); } if ((0, FunctionDiff_1.isFunctionDiff)(diff)) { return (0, prettyPrintFunctionDiff_1.prettyPrintFunctionDiff)(diff); } if ((0, ObjectDiff_1.isObjectDiff)(diff)) { return (0, prettyPrintObjectDiff_1.prettyPrintObjectDiff)(diff, depth); } if ((0, IncompatibleTypeDiff_1.isIncompatibleTypeDiff)(diff)) { return (0, prettyPrintIncompatibleTypeDiff_1.prettyPrintIncompatibleTypeDiff)(diff, depth); } throw new errors_1.InvalidOperation('Could not pretty print a diff with unknown type.'); }; exports.prettyPrintDiff = prettyPrintDiff;