export function inferRegionCategoryFromText()

in ingestion-lambda/src/categoryCodes.ts [126:151]


export function inferRegionCategoryFromText(content: string | undefined): string | undefined {
	if (!content) {
		return undefined;
	}

	const doc = nlp(content, lexicon) as {
		places: () => { out: (format: string) => unknown };
	};

	const rawPlaces = doc.places().out('array');

	if (!Array.isArray(rawPlaces)) {
		return undefined;
	}

	const places = (rawPlaces as string[])
		.flatMap((place) => place.split(/[,\n]/))
		.map((place) => place.trim().toLowerCase())
		.filter((place) => !!place && place.length > 0);

	const isUk = places.some((place) =>
		ukPlaces.some((ukPlace) => place.includes(ukPlace)),
	);

	return isUk ? 'N2:GB' : undefined;
}