UNPKG

assertthat

Version:
23 lines (22 loc) 995 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.compareFunctions = void 0; const compareStrings_1 = require("../forStrings/compareStrings"); const costs_1 = require("../../constants/costs"); const EqualDiff_1 = require("../../diffs/EqualDiff"); const FunctionDiff_1 = require("../../diffs/forFunctions/FunctionDiff"); const compareFunctions = function (actual, expected) { const actualStringRepresentation = actual.toString(); const expectedStringRepresentation = expected.toString(); const stringRepresentationDiff = (0, compareStrings_1.compareStrings)(actualStringRepresentation, expectedStringRepresentation); if ((0, EqualDiff_1.isEqualDiff)(stringRepresentationDiff)) { return (0, EqualDiff_1.equalDiff)({ value: actual }); } return (0, FunctionDiff_1.functionDiff)({ cost: costs_1.unequalFunctionCost, stringRepresentationDiff }); }; exports.compareFunctions = compareFunctions;