earljs
Version:
Ergonomic, modern and type-safe assertion library
37 lines (36 loc) • 1.31 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatSetEntries = void 0;
const formatUnknown_1 = require("./formatUnknown");
const getOptionsWith_1 = require("./getOptionsWith");
function formatSetEntries(value, sibling, options, valueStack, siblingStack) {
let inOrder = value;
if (sibling instanceof Set) {
inOrder = new Set();
for (const item of sibling) {
if (value.has(item)) {
inOrder.add(item);
}
}
for (const item of value) {
inOrder.add(item);
}
}
const valueItems = [...inOrder];
const siblingItems = sibling instanceof Set ? [...sibling] : [];
const passedOptions = (0, getOptionsWith_1.getOptionsWith)(options, {
requireStrictEquality: true,
skipMatcherReplacement: true,
maxLineLength: options.maxLineLength - 10,
});
const entries = [];
for (let i = 0; i < valueItems.length; i++) {
const valueFormat = (0, formatUnknown_1.formatUnknown)(valueItems[i], siblingItems[i], passedOptions, valueStack, siblingStack);
for (const line of valueFormat) {
line[0] += 1;
}
entries.push(...valueFormat);
}
return entries;
}
exports.formatSetEntries = formatSetEntries;
;