|
| 1 | +import { resolveNppStationNameFromText } from "./npp-stations"; |
1 | 2 | import type { NormalizedSourceEvent, RawSourceEvent } from "./types"; |
2 | 3 |
|
3 | 4 | const ENTITY_BOILERPLATE_MARKERS = [ |
@@ -94,7 +95,7 @@ function normalizeEisRawEvent(input: RawSourceEvent): NormalizedSourceEvent { |
94 | 95 | const supplierName = sanitizeEntityName(toStringOrUndefined(raw.supplierName)); |
95 | 96 | const targetStationName = |
96 | 97 | toStringOrUndefined(raw.targetStationName) ?? |
97 | | - resolveStationNameFromText([ |
| 98 | + resolveNppStationNameFromText([ |
98 | 99 | toStringOrUndefined(raw.title), |
99 | 100 | toStringOrUndefined(raw.description), |
100 | 101 | customerName, |
@@ -739,56 +740,3 @@ function calculateProfileCompleteness(input: { |
739 | 740 |
|
740 | 741 | return Math.round((filled / fields.length) * 100); |
741 | 742 | } |
742 | | - |
743 | | -function resolveStationNameFromText(values: Array<string | undefined>): string | undefined { |
744 | | - const haystack = values.filter(Boolean).join(" ").toLowerCase(); |
745 | | - |
746 | | - if (!haystack) { |
747 | | - return undefined; |
748 | | - } |
749 | | - |
750 | | - const stations = [ |
751 | | - { |
752 | | - canonical: "Балаковская атомная станция", |
753 | | - variants: ["балаковская атомная станция", "балаковская аэс", "балаковская аэс-авто"] |
754 | | - }, |
755 | | - { |
756 | | - canonical: "Белоярская атомная станция", |
757 | | - variants: ["белоярская атомная станция", "белоярская аэс"] |
758 | | - }, |
759 | | - { |
760 | | - canonical: "Билибинская атомная станция", |
761 | | - variants: ["билибинская атомная станция", "билибинская аэс"] |
762 | | - }, |
763 | | - { |
764 | | - canonical: "Калининская атомная станция", |
765 | | - variants: ["калининская атомная станция", "калининская аэс", "калининская аэс-сервис"] |
766 | | - }, |
767 | | - { |
768 | | - canonical: "Кольская атомная станция", |
769 | | - variants: ["кольская атомная станция", "кольская аэс"] |
770 | | - }, |
771 | | - { |
772 | | - canonical: "Курская атомная станция", |
773 | | - variants: ["курская атомная станция", "курская аэс", "курская аэс-сервис"] |
774 | | - }, |
775 | | - { |
776 | | - canonical: "Ленинградская атомная станция", |
777 | | - variants: ["ленинградская атомная станция", "ленинградская аэс", "ленинградская аэс-авто"] |
778 | | - }, |
779 | | - { |
780 | | - canonical: "Нововоронежская атомная станция", |
781 | | - variants: ["нововоронежская атомная станция", "нововоронежская аэс"] |
782 | | - }, |
783 | | - { |
784 | | - canonical: "Ростовская атомная станция", |
785 | | - variants: ["ростовская атомная станция", "ростовская аэс"] |
786 | | - }, |
787 | | - { |
788 | | - canonical: "Смоленская атомная станция", |
789 | | - variants: ["смоленская атомная станция", "смоленская аэс", "смоленская аэс-сервис"] |
790 | | - } |
791 | | - ] as const; |
792 | | - |
793 | | - return stations.find((station) => station.variants.some((variant) => haystack.includes(variant)))?.canonical; |
794 | | -} |
0 commit comments