Commit d9c8ece8 authored by David Sveningsson's avatar David Sveningsson
Browse files

refactor: replace custom `flattenMessages` with simple `flatMap()`

parent 283b33fe
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@ import {
	type MaybeAsyncCallback,
	diverge,
} from "../utils";
import { flattenMessages } from "../utils/flatten-messages";

function toHaveErrorImpl(
	context: MatcherContext,
@@ -15,7 +14,7 @@ function toHaveErrorImpl(
	actual: Report,
	expected: Partial<Message>,
): MatcherResult {
	const flattened = flattenMessages(actual);
	const flattened = actual.results.flatMap((result) => result.messages);
	const matcher = [expect.objectContaining(expected)];
	const pass = context.equals(flattened, matcher);
	const diffString = context.utils.diff(matcher, flattened, { expand: context.expand });
+1 −2
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@ import {
	type MatcherResult,
	type MaybeAsyncCallback,
	diverge,
	flattenMessages,
} from "../utils";

function createMatcher(
@@ -18,7 +17,7 @@ function createMatcher(
		report: Report,
		errors: Array<[string, string] | Record<string, unknown>>,
	): MatcherResult {
		const flattened = flattenMessages(report);
		const flattened = report.results.flatMap((result) => result.messages);
		const matcher = errors.map((entry) => {
			if (Array.isArray(entry)) {
				const [ruleId, message] = entry;
+0 −11
Original line number Diff line number Diff line
import { type Message } from "../../message";
import { type Report, type Result } from "../../reporter";

/**
 * Takes all messages from all files and flattens to a single array.
 */
export function flattenMessages(report: Report): Message[] {
	return report.results.reduce((aggregated: Message[], result: Result) => {
		return aggregated.concat(result.messages);
	}, []);
}
+0 −1
Original line number Diff line number Diff line
export { codeframe } from "./codeframe";
export { type MaybeAsyncCallback, diverge } from "./diverge";
export { flattenMessages } from "./flatten-messages";
export { isThenable } from "./is-thenable";
export { type MatcherContext } from "./matcher-context";
export { type MatcherExpect } from "./matcher-expect";