@cobre-npm/library-portal-core 0.45.0 → 0.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -47,6 +47,7 @@ import { getCountries } from "@cobre-npm/library-portal-core/countries"
47
47
  | `@cobre-npm/library-portal-core/search` | Search / aggregation interfaces |
48
48
  | `@cobre-npm/library-portal-core/trustedSessions` | Trusted session (OTP elevation window) interfaces + constants |
49
49
  | `@cobre-npm/library-portal-core/exports` | Export request/response entity + the engine's format/operator allow-lists |
50
+ | `@cobre-npm/library-portal-core/financialInstitutions` | Financial institutions (banks) by country, with labels |
50
51
  | `@cobre-npm/library-portal-core/lang` | Supported locales (`Locale`, defaults) |
51
52
  | `@cobre-npm/library-portal-core` (root) | ⚠️ **Legacy / deprecated** — see [below](#legacy-code--and-its-deprecation) |
52
53
 
@@ -484,6 +485,33 @@ import {
484
485
  given layout allows) — that stays with whichever widget owns fetching it, not here; it isn't a shape
485
486
  two independent consumers need to agree on today.
486
487
 
488
+ ### `financialInstitutions`
489
+
490
+ ```ts
491
+ import {
492
+ getFinancialInstitutions, queryFinancialInstitutions,
493
+ type FinancialInstitution, type FinancialInstitutionGeo,
494
+ type FinancialInstitutionOption, type FinancialInstitutionQuery,
495
+ } from "@cobre-npm/library-portal-core/financialInstitutions"
496
+
497
+ getFinancialInstitutions("en").pr_col_1007 // { code: "pr_col_1007", geo: "col", label: "Bancolombia" }
498
+ queryFinancialInstitutions({ lang: "en", geo: "col" }) // FinancialInstitutionOption[] → every COL institution
499
+ ```
500
+
501
+ - **institutions** (i18n): `getFinancialInstitutions(lang)`; each record carries `code`, `geo`
502
+ (`"col" | "mex"`) and `label`. One code per financial institution — a bank's code already encodes its
503
+ country (`pr_col_*` / `pr_mex_*`), so there is no repeat-by-geo the way `accounts/types` needs one.
504
+ - `queryFinancialInstitutions({ lang, ... })` returns the same catalog as a **list**, narrowed by
505
+ `code`/`geo` — same matching rules as [`queryAccountStatuses`](#accounts): `lang` is required (i18n
506
+ domain, no default) and lives inside the query object, and **a key that is present always filters** —
507
+ `queryFinancialInstitutions({ lang: "en" })` returns everything, `queryFinancialInstitutions({ lang:
508
+ "en", geo: "col" })` returns only Colombia's institutions.
509
+ - Bank names have no real translation between `en` and `es-mex`: `es-mex` keeps the name as published by
510
+ the source (accented characters included, e.g. `"Banco de Bogotá"`), `en` is the same string with
511
+ special Spanish characters stripped (`"Banco de Bogota"`) rather than left untranslated with accents.
512
+ - Sourced from `portal`'s `financialInstitutionsCOL.mock.ts` / `financialInstitutionsMX.mock.ts`; catalog
513
+ entries are grouped by `geo` (`col` then `mex`) and alphabetical by bank name within each group.
514
+
487
515
  ---
488
516
 
489
517
  ## i18n / languages
@@ -0,0 +1,2 @@
1
+ export type { FinancialInstitution, FinancialInstitutionGeo } from "./catalog";
2
+ export * from "./utils/financial-institution.utils";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./utils/financial-institution.utils"), exports);
@@ -0,0 +1,150 @@
1
+ {
2
+ "financialInstitutions": {
3
+ "pr_col_1558": "Ban100",
4
+ "pr_col_1059": "Bancamia",
5
+ "pr_col_1040": "Banco Agrario",
6
+ "pr_col_1052": "Banco AV Villas",
7
+ "pr_col_1805": "Banco BTG Pactual",
8
+ "pr_col_1032": "Banco Caja Social",
9
+ "pr_col_1819": "Banco Contactar",
10
+ "pr_col_1066": "Banco Cooperativo Coopcentral",
11
+ "pr_col_1001": "Banco de Bogota",
12
+ "pr_col_1023": "Banco de Occidente",
13
+ "pr_col_1062": "Banco Falabella",
14
+ "pr_col_1063": "Banco Finandina",
15
+ "pr_col_1012": "Banco GNB Sudameris",
16
+ "pr_col_1006": "Banco Itau",
17
+ "pr_col_1047": "Banco Mundo Mujer",
18
+ "pr_col_1060": "Banco Pichincha",
19
+ "pr_col_1002": "Banco Popular",
20
+ "pr_col_1065": "Banco Santander",
21
+ "pr_col_1069": "Banco Serfinanza",
22
+ "pr_col_1303": "Banco Union",
23
+ "pr_col_1053": "Banco W",
24
+ "pr_col_1031": "Bancoldex",
25
+ "pr_col_1007": "Bancolombia",
26
+ "pr_col_1061": "BANCOOMEVA",
27
+ "pr_col_1013": "BBVA Colombia",
28
+ "pr_col_1042": "BNP Paribas Colombia",
29
+ "pr_col_1808": "Bold",
30
+ "pr_col_1283": "CFA",
31
+ "pr_col_1009": "Citibank",
32
+ "pr_col_1812": "Coink",
33
+ "pr_col_1370": "Coltefinanciera",
34
+ "pr_col_1292": "CONFIAR Cooperativa Financiera",
35
+ "pr_col_1291": "COOFINEP Cooperativa Financiera",
36
+ "pr_col_1289": "Cotrafa Cooperativa Financiera",
37
+ "pr_col_1816": "Crezcamos",
38
+ "pr_col_1097": "Dale",
39
+ "pr_col_1551": "Daviplata",
40
+ "pr_col_1051": "Davivienda",
41
+ "pr_col_1802": "Ding",
42
+ "pr_col_1121": "Financiera Juriscoop",
43
+ "pr_col_1814": "Global66",
44
+ "pr_col_1637": "Iris",
45
+ "pr_col_1071": "J.P. Morgan Colombia",
46
+ "pr_col_1286": "JFK Cooperativa Financiera",
47
+ "pr_col_1070": "Lulo Bank",
48
+ "pr_col_1067": "Mibanco",
49
+ "pr_col_1801": "Movii",
50
+ "pr_col_1507": "Nequi",
51
+ "pr_col_1809": "Nu Colombia",
52
+ "pr_col_1560": "Pibank",
53
+ "pr_col_1803": "Powwi",
54
+ "pr_col_1811": "RappiPay",
55
+ "pr_col_1813": "Santander Consumer",
56
+ "pr_col_1019": "Scotiabank Colpatria",
57
+ "pr_col_1804": "Uala",
58
+ "pr_mex_40133": "Actinver",
59
+ "pr_mex_40062": "Afirme",
60
+ "pr_mex_90721": "Albo",
61
+ "pr_mex_90706": "Arcus Fi",
62
+ "pr_mex_90659": "Asp Integra Opc",
63
+ "pr_mex_40127": "Azteca",
64
+ "pr_mex_37166": "Babien",
65
+ "pr_mex_40030": "Bajio",
66
+ "pr_mex_40002": "Banamex",
67
+ "pr_mex_40154": "Banco Covalto",
68
+ "pr_mex_40160": "Banco S3",
69
+ "pr_mex_37006": "Bancomext",
70
+ "pr_mex_40137": "Bancoppel",
71
+ "pr_mex_40152": "Bancrea",
72
+ "pr_mex_37019": "Banjercito",
73
+ "pr_mex_40106": "Bank of America",
74
+ "pr_mex_40159": "Bank of China",
75
+ "pr_mex_40147": "Bankaool",
76
+ "pr_mex_37009": "Banobras",
77
+ "pr_mex_40072": "Banorte",
78
+ "pr_mex_40058": "Banregio",
79
+ "pr_mex_40060": "Bansi",
80
+ "pr_mex_40129": "Barclays",
81
+ "pr_mex_40145": "Bbase",
82
+ "pr_mex_40012": "BBVA Mexico",
83
+ "pr_mex_40112": "Bmonex",
84
+ "pr_mex_90677": "Caja Pop Mexica",
85
+ "pr_mex_90683": "Caja Telefonist",
86
+ "pr_mex_90715": "Cashi Cuenta",
87
+ "pr_mex_90630": "Cb Intercam",
88
+ "pr_mex_90631": "Ci Bolsa",
89
+ "pr_mex_40124": "Citi Mexico",
90
+ "pr_mex_90903": "Codi Valida",
91
+ "pr_mex_40130": "Compartamos",
92
+ "pr_mex_40140": "Consubanco",
93
+ "pr_mex_90725": "Coopdesarrollo",
94
+ "pr_mex_90652": "Credicapital",
95
+ "pr_mex_90688": "Crediclub",
96
+ "pr_mex_90680": "Cristobal Colon",
97
+ "pr_mex_90723": "Cuenca",
98
+ "pr_mex_90729": "Dep Y Pag Dig",
99
+ "pr_mex_40151": "Donde",
100
+ "pr_mex_90616": "Finamex",
101
+ "pr_mex_90734": "Finco Pay",
102
+ "pr_mex_90634": "Fincomun",
103
+ "pr_mex_90699": "Fondeadora",
104
+ "pr_mex_90685": "Fondo (FIRA)",
105
+ "pr_mex_90601": "GBM",
106
+ "pr_mex_40167": "Hey Banco",
107
+ "pr_mex_37168": "Hipotecaria Fed",
108
+ "pr_mex_40021": "HSBC",
109
+ "pr_mex_40155": "ICBC",
110
+ "pr_mex_40036": "Inbursa",
111
+ "pr_mex_90902": "Indeval",
112
+ "pr_mex_40150": "Inmobiliario",
113
+ "pr_mex_40136": "Intercam Banco",
114
+ "pr_mex_40059": "Invex",
115
+ "pr_mex_40110": "Jp Morgan",
116
+ "pr_mex_40128": "Kapital",
117
+ "pr_mex_90661": "Klar",
118
+ "pr_mex_90653": "Kuspit",
119
+ "pr_mex_90670": "Libertad",
120
+ "pr_mex_90602": "Masari",
121
+ "pr_mex_90722": "Mercado Pago W",
122
+ "pr_mex_90720": "Mexpago",
123
+ "pr_mex_40042": "Mifel",
124
+ "pr_mex_40158": "Mizuho Bank",
125
+ "pr_mex_90600": "MonexCB",
126
+ "pr_mex_40108": "MUFG",
127
+ "pr_mex_40132": "Multiva Banco",
128
+ "pr_mex_37135": "Nafin",
129
+ "pr_mex_40638": "Nu Mexico",
130
+ "pr_mex_90710": "NVIO",
131
+ "pr_mex_40148": "Pagatodo",
132
+ "pr_mex_90732": "Peibo",
133
+ "pr_mex_90620": "Profuturo",
134
+ "pr_mex_40156": "Sabadell",
135
+ "pr_mex_40014": "Santander",
136
+ "pr_mex_40044": "Scotiabank",
137
+ "pr_mex_40157": "Shinhan",
138
+ "pr_mex_90728": "Spin By Oxxo",
139
+ "pr_mex_90646": "STP",
140
+ "pr_mex_90703": "Tesored",
141
+ "pr_mex_90684": "Transfer",
142
+ "pr_mex_40138": "Uala",
143
+ "pr_mex_90656": "Unagra",
144
+ "pr_mex_90617": "Valmex",
145
+ "pr_mex_90605": "Value",
146
+ "pr_mex_40113": "Ve Por Mas",
147
+ "pr_mex_90608": "Vector",
148
+ "pr_mex_40141": "Volkswagen"
149
+ }
150
+ }
@@ -0,0 +1,150 @@
1
+ {
2
+ "financialInstitutions": {
3
+ "pr_col_1558": "Ban100",
4
+ "pr_col_1059": "Bancamia",
5
+ "pr_col_1040": "Banco Agrario",
6
+ "pr_col_1052": "Banco AV Villas",
7
+ "pr_col_1805": "Banco BTG Pactual",
8
+ "pr_col_1032": "Banco Caja Social",
9
+ "pr_col_1819": "Banco Contactar",
10
+ "pr_col_1066": "Banco Cooperativo Coopcentral",
11
+ "pr_col_1001": "Banco de Bogotá",
12
+ "pr_col_1023": "Banco de Occidente",
13
+ "pr_col_1062": "Banco Falabella",
14
+ "pr_col_1063": "Banco Finandina",
15
+ "pr_col_1012": "Banco GNB Sudameris",
16
+ "pr_col_1006": "Banco Itaú",
17
+ "pr_col_1047": "Banco Mundo Mujer",
18
+ "pr_col_1060": "Banco Pichincha",
19
+ "pr_col_1002": "Banco Popular",
20
+ "pr_col_1065": "Banco Santander",
21
+ "pr_col_1069": "Banco Serfinanza",
22
+ "pr_col_1303": "Banco Unión",
23
+ "pr_col_1053": "Banco W",
24
+ "pr_col_1031": "Bancoldex",
25
+ "pr_col_1007": "Bancolombia",
26
+ "pr_col_1061": "BANCOOMEVA",
27
+ "pr_col_1013": "BBVA Colombia",
28
+ "pr_col_1042": "BNP Paribas Colombia",
29
+ "pr_col_1808": "Bold",
30
+ "pr_col_1283": "CFA",
31
+ "pr_col_1009": "Citibank",
32
+ "pr_col_1812": "Coink",
33
+ "pr_col_1370": "Coltefinanciera",
34
+ "pr_col_1292": "CONFIAR Cooperativa Financiera",
35
+ "pr_col_1291": "COOFINEP Cooperativa Financiera",
36
+ "pr_col_1289": "Cotrafa Cooperativa Financiera",
37
+ "pr_col_1816": "Crezcamos",
38
+ "pr_col_1097": "Dale",
39
+ "pr_col_1551": "Daviplata",
40
+ "pr_col_1051": "Davivienda",
41
+ "pr_col_1802": "Ding",
42
+ "pr_col_1121": "Financiera Juriscoop",
43
+ "pr_col_1814": "Global66",
44
+ "pr_col_1637": "Iris",
45
+ "pr_col_1071": "J.P. Morgan Colombia",
46
+ "pr_col_1286": "JFK Cooperativa Financiera",
47
+ "pr_col_1070": "Lulo Bank",
48
+ "pr_col_1067": "Mibanco",
49
+ "pr_col_1801": "Movii",
50
+ "pr_col_1507": "Nequi",
51
+ "pr_col_1809": "Nu Colombia",
52
+ "pr_col_1560": "Pibank",
53
+ "pr_col_1803": "Powwi",
54
+ "pr_col_1811": "RappiPay",
55
+ "pr_col_1813": "Santander Consumer",
56
+ "pr_col_1019": "Scotiabank Colpatria",
57
+ "pr_col_1804": "Ualá",
58
+ "pr_mex_40133": "Actinver",
59
+ "pr_mex_40062": "Afirme",
60
+ "pr_mex_90721": "Albo",
61
+ "pr_mex_90706": "Arcus Fi",
62
+ "pr_mex_90659": "Asp Integra Opc",
63
+ "pr_mex_40127": "Azteca",
64
+ "pr_mex_37166": "Babien",
65
+ "pr_mex_40030": "Bajio",
66
+ "pr_mex_40002": "Banamex",
67
+ "pr_mex_40154": "Banco Covalto",
68
+ "pr_mex_40160": "Banco S3",
69
+ "pr_mex_37006": "Bancomext",
70
+ "pr_mex_40137": "Bancoppel",
71
+ "pr_mex_40152": "Bancrea",
72
+ "pr_mex_37019": "Banjercito",
73
+ "pr_mex_40106": "Bank of America",
74
+ "pr_mex_40159": "Bank of China",
75
+ "pr_mex_40147": "Bankaool",
76
+ "pr_mex_37009": "Banobras",
77
+ "pr_mex_40072": "Banorte",
78
+ "pr_mex_40058": "Banregio",
79
+ "pr_mex_40060": "Bansi",
80
+ "pr_mex_40129": "Barclays",
81
+ "pr_mex_40145": "Bbase",
82
+ "pr_mex_40012": "BBVA Mexico",
83
+ "pr_mex_40112": "Bmonex",
84
+ "pr_mex_90677": "Caja Pop Mexica",
85
+ "pr_mex_90683": "Caja Telefonist",
86
+ "pr_mex_90715": "Cashi Cuenta",
87
+ "pr_mex_90630": "Cb Intercam",
88
+ "pr_mex_90631": "Ci Bolsa",
89
+ "pr_mex_40124": "Citi Mexico",
90
+ "pr_mex_90903": "Codi Valida",
91
+ "pr_mex_40130": "Compartamos",
92
+ "pr_mex_40140": "Consubanco",
93
+ "pr_mex_90725": "Coopdesarrollo",
94
+ "pr_mex_90652": "Credicapital",
95
+ "pr_mex_90688": "Crediclub",
96
+ "pr_mex_90680": "Cristobal Colon",
97
+ "pr_mex_90723": "Cuenca",
98
+ "pr_mex_90729": "Dep Y Pag Dig",
99
+ "pr_mex_40151": "Donde",
100
+ "pr_mex_90616": "Finamex",
101
+ "pr_mex_90734": "Finco Pay",
102
+ "pr_mex_90634": "Fincomun",
103
+ "pr_mex_90699": "Fondeadora",
104
+ "pr_mex_90685": "Fondo (FIRA)",
105
+ "pr_mex_90601": "GBM",
106
+ "pr_mex_40167": "Hey Banco",
107
+ "pr_mex_37168": "Hipotecaria Fed",
108
+ "pr_mex_40021": "HSBC",
109
+ "pr_mex_40155": "ICBC",
110
+ "pr_mex_40036": "Inbursa",
111
+ "pr_mex_90902": "Indeval",
112
+ "pr_mex_40150": "Inmobiliario",
113
+ "pr_mex_40136": "Intercam Banco",
114
+ "pr_mex_40059": "Invex",
115
+ "pr_mex_40110": "Jp Morgan",
116
+ "pr_mex_40128": "Kapital",
117
+ "pr_mex_90661": "Klar",
118
+ "pr_mex_90653": "Kuspit",
119
+ "pr_mex_90670": "Libertad",
120
+ "pr_mex_90602": "Masari",
121
+ "pr_mex_90722": "Mercado Pago W",
122
+ "pr_mex_90720": "Mexpago",
123
+ "pr_mex_40042": "Mifel",
124
+ "pr_mex_40158": "Mizuho Bank",
125
+ "pr_mex_90600": "MonexCB",
126
+ "pr_mex_40108": "MUFG",
127
+ "pr_mex_40132": "Multiva Banco",
128
+ "pr_mex_37135": "Nafin",
129
+ "pr_mex_40638": "Nu Mexico",
130
+ "pr_mex_90710": "NVIO",
131
+ "pr_mex_40148": "Pagatodo",
132
+ "pr_mex_90732": "Peibo",
133
+ "pr_mex_90620": "Profuturo",
134
+ "pr_mex_40156": "Sabadell",
135
+ "pr_mex_40014": "Santander",
136
+ "pr_mex_40044": "Scotiabank",
137
+ "pr_mex_40157": "Shinhan",
138
+ "pr_mex_90728": "Spin By Oxxo",
139
+ "pr_mex_90646": "STP",
140
+ "pr_mex_90703": "Tesored",
141
+ "pr_mex_90684": "Transfer",
142
+ "pr_mex_40138": "Uala",
143
+ "pr_mex_90656": "Unagra",
144
+ "pr_mex_90617": "Valmex",
145
+ "pr_mex_90605": "Value",
146
+ "pr_mex_40113": "Ve Por Mas",
147
+ "pr_mex_90608": "Vector",
148
+ "pr_mex_40141": "Volkswagen"
149
+ }
150
+ }
@@ -0,0 +1,17 @@
1
+ import type { FinancialInstitution, FinancialInstitutionRecord } from "../catalog";
2
+ import type { Locale } from "../../lang";
3
+ import type { CatalogQuery } from "../../utils/catalog-query.utils";
4
+ export type FinancialInstitutionOption = FinancialInstitutionRecord & {
5
+ label: string;
6
+ };
7
+ /**
8
+ * The catalog indexed by code (same shape as FINANCIAL_INSTITUTIONS), each record enriched
9
+ * with its label for the given language. Access by code directly, or Object.values for a list.
10
+ */
11
+ export declare const getFinancialInstitutions: (lang: Locale) => Record<FinancialInstitution, FinancialInstitutionOption>;
12
+ /** `lang` is required (i18n domain, no default) and travels inside the query object, never positional. */
13
+ export type FinancialInstitutionQuery = CatalogQuery<FinancialInstitutionRecord> & {
14
+ lang: Locale;
15
+ };
16
+ /** The catalog as a list, narrowed by the query — see `matchesQuery` for the matching rules. */
17
+ export declare const queryFinancialInstitutions: (query: FinancialInstitutionQuery) => FinancialInstitutionOption[];
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.queryFinancialInstitutions = exports.getFinancialInstitutions = void 0;
7
+ const catalog_1 = require("../catalog");
8
+ const en_json_1 = __importDefault(require("../locales/en.json"));
9
+ const es_mex_json_1 = __importDefault(require("../locales/es-mex.json"));
10
+ const catalog_query_utils_1 = require("../../utils/catalog-query.utils");
11
+ const locales = { en: en_json_1.default, "es-mex": es_mex_json_1.default };
12
+ /**
13
+ * The catalog indexed by code (same shape as FINANCIAL_INSTITUTIONS), each record enriched
14
+ * with its label for the given language. Access by code directly, or Object.values for a list.
15
+ */
16
+ const getFinancialInstitutions = (lang) => {
17
+ const locale = locales[lang];
18
+ const result = {};
19
+ for (const record of Object.values(catalog_1.FINANCIAL_INSTITUTIONS)) {
20
+ result[record.code] = { ...record, label: locale.financialInstitutions[record.code] };
21
+ }
22
+ return result;
23
+ };
24
+ exports.getFinancialInstitutions = getFinancialInstitutions;
25
+ /** The catalog as a list, narrowed by the query — see `matchesQuery` for the matching rules. */
26
+ const queryFinancialInstitutions = (query) => {
27
+ const { lang, ...criteria } = query;
28
+ const institutions = (0, exports.getFinancialInstitutions)(lang);
29
+ return Object.values(institutions).filter(institution => (0, catalog_query_utils_1.matchesQuery)(institution, criteria));
30
+ };
31
+ exports.queryFinancialInstitutions = queryFinancialInstitutions;
@@ -0,0 +1 @@
1
+ export * from "./utils/financial-institution.utils";
@@ -0,0 +1,150 @@
1
+ {
2
+ "financialInstitutions": {
3
+ "pr_col_1558": "Ban100",
4
+ "pr_col_1059": "Bancamia",
5
+ "pr_col_1040": "Banco Agrario",
6
+ "pr_col_1052": "Banco AV Villas",
7
+ "pr_col_1805": "Banco BTG Pactual",
8
+ "pr_col_1032": "Banco Caja Social",
9
+ "pr_col_1819": "Banco Contactar",
10
+ "pr_col_1066": "Banco Cooperativo Coopcentral",
11
+ "pr_col_1001": "Banco de Bogota",
12
+ "pr_col_1023": "Banco de Occidente",
13
+ "pr_col_1062": "Banco Falabella",
14
+ "pr_col_1063": "Banco Finandina",
15
+ "pr_col_1012": "Banco GNB Sudameris",
16
+ "pr_col_1006": "Banco Itau",
17
+ "pr_col_1047": "Banco Mundo Mujer",
18
+ "pr_col_1060": "Banco Pichincha",
19
+ "pr_col_1002": "Banco Popular",
20
+ "pr_col_1065": "Banco Santander",
21
+ "pr_col_1069": "Banco Serfinanza",
22
+ "pr_col_1303": "Banco Union",
23
+ "pr_col_1053": "Banco W",
24
+ "pr_col_1031": "Bancoldex",
25
+ "pr_col_1007": "Bancolombia",
26
+ "pr_col_1061": "BANCOOMEVA",
27
+ "pr_col_1013": "BBVA Colombia",
28
+ "pr_col_1042": "BNP Paribas Colombia",
29
+ "pr_col_1808": "Bold",
30
+ "pr_col_1283": "CFA",
31
+ "pr_col_1009": "Citibank",
32
+ "pr_col_1812": "Coink",
33
+ "pr_col_1370": "Coltefinanciera",
34
+ "pr_col_1292": "CONFIAR Cooperativa Financiera",
35
+ "pr_col_1291": "COOFINEP Cooperativa Financiera",
36
+ "pr_col_1289": "Cotrafa Cooperativa Financiera",
37
+ "pr_col_1816": "Crezcamos",
38
+ "pr_col_1097": "Dale",
39
+ "pr_col_1551": "Daviplata",
40
+ "pr_col_1051": "Davivienda",
41
+ "pr_col_1802": "Ding",
42
+ "pr_col_1121": "Financiera Juriscoop",
43
+ "pr_col_1814": "Global66",
44
+ "pr_col_1637": "Iris",
45
+ "pr_col_1071": "J.P. Morgan Colombia",
46
+ "pr_col_1286": "JFK Cooperativa Financiera",
47
+ "pr_col_1070": "Lulo Bank",
48
+ "pr_col_1067": "Mibanco",
49
+ "pr_col_1801": "Movii",
50
+ "pr_col_1507": "Nequi",
51
+ "pr_col_1809": "Nu Colombia",
52
+ "pr_col_1560": "Pibank",
53
+ "pr_col_1803": "Powwi",
54
+ "pr_col_1811": "RappiPay",
55
+ "pr_col_1813": "Santander Consumer",
56
+ "pr_col_1019": "Scotiabank Colpatria",
57
+ "pr_col_1804": "Uala",
58
+ "pr_mex_40133": "Actinver",
59
+ "pr_mex_40062": "Afirme",
60
+ "pr_mex_90721": "Albo",
61
+ "pr_mex_90706": "Arcus Fi",
62
+ "pr_mex_90659": "Asp Integra Opc",
63
+ "pr_mex_40127": "Azteca",
64
+ "pr_mex_37166": "Babien",
65
+ "pr_mex_40030": "Bajio",
66
+ "pr_mex_40002": "Banamex",
67
+ "pr_mex_40154": "Banco Covalto",
68
+ "pr_mex_40160": "Banco S3",
69
+ "pr_mex_37006": "Bancomext",
70
+ "pr_mex_40137": "Bancoppel",
71
+ "pr_mex_40152": "Bancrea",
72
+ "pr_mex_37019": "Banjercito",
73
+ "pr_mex_40106": "Bank of America",
74
+ "pr_mex_40159": "Bank of China",
75
+ "pr_mex_40147": "Bankaool",
76
+ "pr_mex_37009": "Banobras",
77
+ "pr_mex_40072": "Banorte",
78
+ "pr_mex_40058": "Banregio",
79
+ "pr_mex_40060": "Bansi",
80
+ "pr_mex_40129": "Barclays",
81
+ "pr_mex_40145": "Bbase",
82
+ "pr_mex_40012": "BBVA Mexico",
83
+ "pr_mex_40112": "Bmonex",
84
+ "pr_mex_90677": "Caja Pop Mexica",
85
+ "pr_mex_90683": "Caja Telefonist",
86
+ "pr_mex_90715": "Cashi Cuenta",
87
+ "pr_mex_90630": "Cb Intercam",
88
+ "pr_mex_90631": "Ci Bolsa",
89
+ "pr_mex_40124": "Citi Mexico",
90
+ "pr_mex_90903": "Codi Valida",
91
+ "pr_mex_40130": "Compartamos",
92
+ "pr_mex_40140": "Consubanco",
93
+ "pr_mex_90725": "Coopdesarrollo",
94
+ "pr_mex_90652": "Credicapital",
95
+ "pr_mex_90688": "Crediclub",
96
+ "pr_mex_90680": "Cristobal Colon",
97
+ "pr_mex_90723": "Cuenca",
98
+ "pr_mex_90729": "Dep Y Pag Dig",
99
+ "pr_mex_40151": "Donde",
100
+ "pr_mex_90616": "Finamex",
101
+ "pr_mex_90734": "Finco Pay",
102
+ "pr_mex_90634": "Fincomun",
103
+ "pr_mex_90699": "Fondeadora",
104
+ "pr_mex_90685": "Fondo (FIRA)",
105
+ "pr_mex_90601": "GBM",
106
+ "pr_mex_40167": "Hey Banco",
107
+ "pr_mex_37168": "Hipotecaria Fed",
108
+ "pr_mex_40021": "HSBC",
109
+ "pr_mex_40155": "ICBC",
110
+ "pr_mex_40036": "Inbursa",
111
+ "pr_mex_90902": "Indeval",
112
+ "pr_mex_40150": "Inmobiliario",
113
+ "pr_mex_40136": "Intercam Banco",
114
+ "pr_mex_40059": "Invex",
115
+ "pr_mex_40110": "Jp Morgan",
116
+ "pr_mex_40128": "Kapital",
117
+ "pr_mex_90661": "Klar",
118
+ "pr_mex_90653": "Kuspit",
119
+ "pr_mex_90670": "Libertad",
120
+ "pr_mex_90602": "Masari",
121
+ "pr_mex_90722": "Mercado Pago W",
122
+ "pr_mex_90720": "Mexpago",
123
+ "pr_mex_40042": "Mifel",
124
+ "pr_mex_40158": "Mizuho Bank",
125
+ "pr_mex_90600": "MonexCB",
126
+ "pr_mex_40108": "MUFG",
127
+ "pr_mex_40132": "Multiva Banco",
128
+ "pr_mex_37135": "Nafin",
129
+ "pr_mex_40638": "Nu Mexico",
130
+ "pr_mex_90710": "NVIO",
131
+ "pr_mex_40148": "Pagatodo",
132
+ "pr_mex_90732": "Peibo",
133
+ "pr_mex_90620": "Profuturo",
134
+ "pr_mex_40156": "Sabadell",
135
+ "pr_mex_40014": "Santander",
136
+ "pr_mex_40044": "Scotiabank",
137
+ "pr_mex_40157": "Shinhan",
138
+ "pr_mex_90728": "Spin By Oxxo",
139
+ "pr_mex_90646": "STP",
140
+ "pr_mex_90703": "Tesored",
141
+ "pr_mex_90684": "Transfer",
142
+ "pr_mex_40138": "Uala",
143
+ "pr_mex_90656": "Unagra",
144
+ "pr_mex_90617": "Valmex",
145
+ "pr_mex_90605": "Value",
146
+ "pr_mex_40113": "Ve Por Mas",
147
+ "pr_mex_90608": "Vector",
148
+ "pr_mex_40141": "Volkswagen"
149
+ }
150
+ }
@@ -0,0 +1,150 @@
1
+ {
2
+ "financialInstitutions": {
3
+ "pr_col_1558": "Ban100",
4
+ "pr_col_1059": "Bancamia",
5
+ "pr_col_1040": "Banco Agrario",
6
+ "pr_col_1052": "Banco AV Villas",
7
+ "pr_col_1805": "Banco BTG Pactual",
8
+ "pr_col_1032": "Banco Caja Social",
9
+ "pr_col_1819": "Banco Contactar",
10
+ "pr_col_1066": "Banco Cooperativo Coopcentral",
11
+ "pr_col_1001": "Banco de Bogotá",
12
+ "pr_col_1023": "Banco de Occidente",
13
+ "pr_col_1062": "Banco Falabella",
14
+ "pr_col_1063": "Banco Finandina",
15
+ "pr_col_1012": "Banco GNB Sudameris",
16
+ "pr_col_1006": "Banco Itaú",
17
+ "pr_col_1047": "Banco Mundo Mujer",
18
+ "pr_col_1060": "Banco Pichincha",
19
+ "pr_col_1002": "Banco Popular",
20
+ "pr_col_1065": "Banco Santander",
21
+ "pr_col_1069": "Banco Serfinanza",
22
+ "pr_col_1303": "Banco Unión",
23
+ "pr_col_1053": "Banco W",
24
+ "pr_col_1031": "Bancoldex",
25
+ "pr_col_1007": "Bancolombia",
26
+ "pr_col_1061": "BANCOOMEVA",
27
+ "pr_col_1013": "BBVA Colombia",
28
+ "pr_col_1042": "BNP Paribas Colombia",
29
+ "pr_col_1808": "Bold",
30
+ "pr_col_1283": "CFA",
31
+ "pr_col_1009": "Citibank",
32
+ "pr_col_1812": "Coink",
33
+ "pr_col_1370": "Coltefinanciera",
34
+ "pr_col_1292": "CONFIAR Cooperativa Financiera",
35
+ "pr_col_1291": "COOFINEP Cooperativa Financiera",
36
+ "pr_col_1289": "Cotrafa Cooperativa Financiera",
37
+ "pr_col_1816": "Crezcamos",
38
+ "pr_col_1097": "Dale",
39
+ "pr_col_1551": "Daviplata",
40
+ "pr_col_1051": "Davivienda",
41
+ "pr_col_1802": "Ding",
42
+ "pr_col_1121": "Financiera Juriscoop",
43
+ "pr_col_1814": "Global66",
44
+ "pr_col_1637": "Iris",
45
+ "pr_col_1071": "J.P. Morgan Colombia",
46
+ "pr_col_1286": "JFK Cooperativa Financiera",
47
+ "pr_col_1070": "Lulo Bank",
48
+ "pr_col_1067": "Mibanco",
49
+ "pr_col_1801": "Movii",
50
+ "pr_col_1507": "Nequi",
51
+ "pr_col_1809": "Nu Colombia",
52
+ "pr_col_1560": "Pibank",
53
+ "pr_col_1803": "Powwi",
54
+ "pr_col_1811": "RappiPay",
55
+ "pr_col_1813": "Santander Consumer",
56
+ "pr_col_1019": "Scotiabank Colpatria",
57
+ "pr_col_1804": "Ualá",
58
+ "pr_mex_40133": "Actinver",
59
+ "pr_mex_40062": "Afirme",
60
+ "pr_mex_90721": "Albo",
61
+ "pr_mex_90706": "Arcus Fi",
62
+ "pr_mex_90659": "Asp Integra Opc",
63
+ "pr_mex_40127": "Azteca",
64
+ "pr_mex_37166": "Babien",
65
+ "pr_mex_40030": "Bajio",
66
+ "pr_mex_40002": "Banamex",
67
+ "pr_mex_40154": "Banco Covalto",
68
+ "pr_mex_40160": "Banco S3",
69
+ "pr_mex_37006": "Bancomext",
70
+ "pr_mex_40137": "Bancoppel",
71
+ "pr_mex_40152": "Bancrea",
72
+ "pr_mex_37019": "Banjercito",
73
+ "pr_mex_40106": "Bank of America",
74
+ "pr_mex_40159": "Bank of China",
75
+ "pr_mex_40147": "Bankaool",
76
+ "pr_mex_37009": "Banobras",
77
+ "pr_mex_40072": "Banorte",
78
+ "pr_mex_40058": "Banregio",
79
+ "pr_mex_40060": "Bansi",
80
+ "pr_mex_40129": "Barclays",
81
+ "pr_mex_40145": "Bbase",
82
+ "pr_mex_40012": "BBVA Mexico",
83
+ "pr_mex_40112": "Bmonex",
84
+ "pr_mex_90677": "Caja Pop Mexica",
85
+ "pr_mex_90683": "Caja Telefonist",
86
+ "pr_mex_90715": "Cashi Cuenta",
87
+ "pr_mex_90630": "Cb Intercam",
88
+ "pr_mex_90631": "Ci Bolsa",
89
+ "pr_mex_40124": "Citi Mexico",
90
+ "pr_mex_90903": "Codi Valida",
91
+ "pr_mex_40130": "Compartamos",
92
+ "pr_mex_40140": "Consubanco",
93
+ "pr_mex_90725": "Coopdesarrollo",
94
+ "pr_mex_90652": "Credicapital",
95
+ "pr_mex_90688": "Crediclub",
96
+ "pr_mex_90680": "Cristobal Colon",
97
+ "pr_mex_90723": "Cuenca",
98
+ "pr_mex_90729": "Dep Y Pag Dig",
99
+ "pr_mex_40151": "Donde",
100
+ "pr_mex_90616": "Finamex",
101
+ "pr_mex_90734": "Finco Pay",
102
+ "pr_mex_90634": "Fincomun",
103
+ "pr_mex_90699": "Fondeadora",
104
+ "pr_mex_90685": "Fondo (FIRA)",
105
+ "pr_mex_90601": "GBM",
106
+ "pr_mex_40167": "Hey Banco",
107
+ "pr_mex_37168": "Hipotecaria Fed",
108
+ "pr_mex_40021": "HSBC",
109
+ "pr_mex_40155": "ICBC",
110
+ "pr_mex_40036": "Inbursa",
111
+ "pr_mex_90902": "Indeval",
112
+ "pr_mex_40150": "Inmobiliario",
113
+ "pr_mex_40136": "Intercam Banco",
114
+ "pr_mex_40059": "Invex",
115
+ "pr_mex_40110": "Jp Morgan",
116
+ "pr_mex_40128": "Kapital",
117
+ "pr_mex_90661": "Klar",
118
+ "pr_mex_90653": "Kuspit",
119
+ "pr_mex_90670": "Libertad",
120
+ "pr_mex_90602": "Masari",
121
+ "pr_mex_90722": "Mercado Pago W",
122
+ "pr_mex_90720": "Mexpago",
123
+ "pr_mex_40042": "Mifel",
124
+ "pr_mex_40158": "Mizuho Bank",
125
+ "pr_mex_90600": "MonexCB",
126
+ "pr_mex_40108": "MUFG",
127
+ "pr_mex_40132": "Multiva Banco",
128
+ "pr_mex_37135": "Nafin",
129
+ "pr_mex_40638": "Nu Mexico",
130
+ "pr_mex_90710": "NVIO",
131
+ "pr_mex_40148": "Pagatodo",
132
+ "pr_mex_90732": "Peibo",
133
+ "pr_mex_90620": "Profuturo",
134
+ "pr_mex_40156": "Sabadell",
135
+ "pr_mex_40014": "Santander",
136
+ "pr_mex_40044": "Scotiabank",
137
+ "pr_mex_40157": "Shinhan",
138
+ "pr_mex_90728": "Spin By Oxxo",
139
+ "pr_mex_90646": "STP",
140
+ "pr_mex_90703": "Tesored",
141
+ "pr_mex_90684": "Transfer",
142
+ "pr_mex_40138": "Uala",
143
+ "pr_mex_90656": "Unagra",
144
+ "pr_mex_90617": "Valmex",
145
+ "pr_mex_90605": "Value",
146
+ "pr_mex_40113": "Ve Por Mas",
147
+ "pr_mex_90608": "Vector",
148
+ "pr_mex_40141": "Volkswagen"
149
+ }
150
+ }
@@ -0,0 +1,23 @@
1
+ import { FINANCIAL_INSTITUTIONS } from "../catalog";
2
+ import enLocale from "../locales/en.json";
3
+ import esMexLocale from "../locales/es-mex.json";
4
+ import { matchesQuery } from "../../utils/catalog-query.utils";
5
+ const locales = { en: enLocale, "es-mex": esMexLocale };
6
+ /**
7
+ * The catalog indexed by code (same shape as FINANCIAL_INSTITUTIONS), each record enriched
8
+ * with its label for the given language. Access by code directly, or Object.values for a list.
9
+ */
10
+ export const getFinancialInstitutions = (lang) => {
11
+ const locale = locales[lang];
12
+ const result = {};
13
+ for (const record of Object.values(FINANCIAL_INSTITUTIONS)) {
14
+ result[record.code] = { ...record, label: locale.financialInstitutions[record.code] };
15
+ }
16
+ return result;
17
+ };
18
+ /** The catalog as a list, narrowed by the query — see `matchesQuery` for the matching rules. */
19
+ export const queryFinancialInstitutions = (query) => {
20
+ const { lang, ...criteria } = query;
21
+ const institutions = getFinancialInstitutions(lang);
22
+ return Object.values(institutions).filter(institution => matchesQuery(institution, criteria));
23
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cobre-npm/library-portal-core",
3
- "version": "0.45.0",
3
+ "version": "0.46.0",
4
4
  "description": "Shared configurations and resources for Portal MFEs",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -75,6 +75,11 @@
75
75
  "types": "./dist/cjs/exports/index.d.ts",
76
76
  "import": "./dist/esm/exports/index.js",
77
77
  "require": "./dist/cjs/exports/index.js"
78
+ },
79
+ "./financialInstitutions": {
80
+ "types": "./dist/cjs/financialInstitutions/index.d.ts",
81
+ "import": "./dist/esm/financialInstitutions/index.js",
82
+ "require": "./dist/cjs/financialInstitutions/index.js"
78
83
  }
79
84
  },
80
85
  "files": [