UNPKG

kizu

Version:

An easy-to-use, fast, and defensive Typescript/Javascript test runner designed to help you to write simple, readable, and maintainable tests.

32 lines 1.28 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDiff = getDiff; exports.stringVisualDiff = stringVisualDiff; const deep_object_diff_1 = require("deep-object-diff"); const diff_1 = require("diff"); const kleur_1 = __importDefault(require("kleur")); const node_util_1 = require("node:util"); function getDiff(actual, expected) { if (actual === expected) return ''; if (typeof actual === 'string' && typeof expected === 'string') { return stringVisualDiff(actual, expected); } else if (typeof actual === 'object' && typeof expected === 'object') { return (0, node_util_1.inspect)((0, deep_object_diff_1.diff)(actual, expected), { colors: true, depth: null, }); } else { return ''; } } function stringVisualDiff(actual, expected) { return (0, diff_1.diffChars)(actual, expected).reduce((str, part) => str + (part.added ? kleur_1.default.bgGreen().black(part.value) : part.removed ? kleur_1.default.bgRed().white(part.value) : kleur_1.default.white(part.value)), ''); } //# sourceMappingURL=diff.js.map