function filterFrontsFor()

in lambda/facia-responder/src/targeted-regions.ts [11:31]


function filterFrontsFor(
	fronts: Record<string, FeastAppContainer[]>,
	filterFor: string,
	filterIn: boolean,
): Record<string, FeastAppContainer[]> {
	const filtered: Record<string, FeastAppContainer[]> = {};

	const maybeInverted = (v: boolean) => (filterIn ? !v : v);

	for (const k of Object.keys(fronts)) {
		filtered[k] = fronts[k].filter((f) => {
			return (
				maybeInverted((f.excludedRegions ?? []).includes(filterFor)) ||
				((f.excludedRegions ?? []).length == 0 &&
					(f.targetedRegions ?? []).length == 0)
			);
		});
	}

	return filtered;
}