UNPKG

assertthat

Version:
26 lines (25 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assertSetIsContainingItem = void 0; const errors_1 = require("../../errors"); const compare_1 = require("../../comparisons/typeAware/compare"); const dispel_1 = require("../../dispel/dispel"); const EqualDiff_1 = require("../../diffs/EqualDiff"); const prettyPrint_1 = require("../../prettyPrint/typeAware/prettyPrint"); const defekt_1 = require("defekt"); const assertSetIsContainingItem = function (actual, item) { const dispelledActual = (0, dispel_1.dispel)(actual); const dispelledItem = (0, dispel_1.dispel)(item); for (const actualItem of dispelledActual) { const diff = (0, compare_1.compare)(actualItem, dispelledItem); if ((0, EqualDiff_1.isEqualDiff)(diff)) { return (0, defekt_1.value)(); } } return (0, defekt_1.error)(new errors_1.AssertionFailed({ message: 'The set does not contain the expected item.', actual: (0, prettyPrint_1.prettyPrint)(dispelledActual), expected: `To contain:\n${(0, prettyPrint_1.prettyPrint)(dispelledItem)}` })); }; exports.assertSetIsContainingItem = assertSetIsContainingItem;