"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isLikelyFinancialInstitutionCounterparty = isLikelyFinancialInstitutionCounterparty; exports.counterpartyRoleHintForName = counterpartyRoleHintForName; const FINANCIAL_INSTITUTION_PATTERNS = [ /(?:^|[\s"«(,-])банк(?:$|[\s"»),.-])/u, /сбербанк/u, /(?:^|[\s"«(,-])сбер(?:$|[\s"»),.-])/u, /(?:^|[\s"«(,-])втб(?:$|[\s"»),.-])/u, /альфа[\s-]*банк/u, /тинькофф/u, /(?:^|[\s"«(,-])т[\s-]*банк(?:$|[\s"»),.-])/u, /газпромбанк/u, /росбанк/u, /райффайзен/u, /совкомбанк/u, /промсвязьбанк/u, /(?:^|[\s"«(,-])псб(?:$|[\s"»),.-])/u, /(?:^|[\s"«(,-])мкб(?:$|[\s"»),.-])/u, /ак[\s-]*барс/u, /уралсиб/u, /юникредит/u, /почта[\s-]*банк/u, /(?:^|[\s"«(,-])открытие(?:$|[\s"»),.-])/u, /кредитн(?:ая|ый|ое|ые)\s+организац/u ]; function normalizeCounterpartyRoleText(value) { return String(value ?? "") .toLowerCase() .replace(/ё/g, "е") .replace(/[._]+/g, " ") .replace(/\s+/g, " ") .trim(); } function isLikelyFinancialInstitutionCounterparty(value) { const normalized = normalizeCounterpartyRoleText(value); if (!normalized) { return false; } return FINANCIAL_INSTITUTION_PATTERNS.some((pattern) => pattern.test(normalized)); } function counterpartyRoleHintForName(value) { return isLikelyFinancialInstitutionCounterparty(value) ? "bank_or_financial_institution" : "ordinary_counterparty"; }