chilean-territorial-divisions 1.0.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 +196 -0
- package/dist/index.cjs +1963 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +151 -0
- package/dist/index.d.ts +151 -0
- package/dist/index.global.js +1947 -0
- package/dist/index.global.js.map +1 -0
- package/dist/index.js +1922 -0
- package/dist/index.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../regiones-provincias-comunas.json","../src/data.ts"],"sourcesContent":["import { data } from './data';\nimport type { Region, Provincia, Comuna, ComunaSearchResult, SelectOption } from './types';\n\n// Re-export types\nexport type { Region, Provincia, Comuna, ComunaSearchResult, SelectOption };\n\n// Re-export raw data\nexport { data };\n\n/**\n * Gets all regions of Chile\n * @returns Array with all 16 regions of Chile\n */\nexport function getRegiones(): Region[] {\n return data;\n}\n\n/**\n * Finds a region by its number (in Roman numerals)\n * @param number Region number (e.g., \"I\", \"XV\", \"XIII\")\n * @returns The found region or undefined\n */\nexport function getRegionByNumber(number: string): Region | undefined {\n const normalized = number.toUpperCase().trim();\n return data.find((r) => r.region_number.toUpperCase() === normalized);\n}\n\n/**\n * Finds a region by its ISO 3166-2 code\n * @param iso ISO code (e.g., \"CL-RM\", \"CL-AP\")\n * @returns The found region or undefined\n */\nexport function getRegionByISO(iso: string): Region | undefined {\n const normalized = iso.toUpperCase().trim();\n return data.find((r) => r.region_iso_3166_2.toUpperCase() === normalized);\n}\n\n/**\n * Finds a region by its name (partial search, case-insensitive)\n * @param name Name or part of the region name\n * @returns The found region or undefined\n */\nexport function getRegionByName(name: string): Region | undefined {\n const normalized = name.toLowerCase().trim();\n return data.find((r) => r.region.toLowerCase().includes(normalized));\n}\n\n/**\n * Gets all provinces of a region\n * @param regionNumber Region number (e.g., \"XIII\", \"V\")\n * @returns Array of provinces or empty array if region not found\n */\nexport function getProvincias(regionNumber: string): Provincia[] {\n const region = getRegionByNumber(regionNumber);\n return region?.provincias ?? [];\n}\n\n/**\n * Gets all communes of a region, optionally filtered by province\n * @param regionNumber Region number\n * @param provinciaName Province name (optional)\n * @returns Array of communes\n */\nexport function getComunas(regionNumber: string, provinciaName?: string): Comuna[] {\n const provincias = getProvincias(regionNumber);\n\n if (provinciaName) {\n const normalized = provinciaName.toLowerCase().trim();\n const provincia = provincias.find((p) => p.name.toLowerCase() === normalized);\n return provincia?.comunas ?? [];\n }\n\n return provincias.flatMap((p) => p.comunas);\n}\n\n/**\n * Finds a commune by its CUT code (Unique Territorial Code)\n * @param code CUT code of the commune (e.g., \"13101\" for Santiago)\n * @returns Result with the commune and its context, or undefined\n */\nexport function getComunaByCode(code: string): ComunaSearchResult | undefined {\n const normalizedCode = code.trim();\n\n for (const region of data) {\n for (const provincia of region.provincias) {\n const comuna = provincia.comunas.find((c) => c.code === normalizedCode);\n if (comuna) {\n return {\n comuna,\n provincia: provincia.name,\n region: region.region,\n region_number: region.region_number,\n };\n }\n }\n }\n\n return undefined;\n}\n\n/**\n * Searches communes by name (partial search, case-insensitive)\n * @param query Text to search in commune names\n * @returns Array of results with communes and their context\n */\nexport function searchComunas(query: string): ComunaSearchResult[] {\n const normalized = query.toLowerCase().trim();\n const results: ComunaSearchResult[] = [];\n\n for (const region of data) {\n for (const provincia of region.provincias) {\n for (const comuna of provincia.comunas) {\n if (comuna.name.toLowerCase().includes(normalized)) {\n results.push({\n comuna,\n provincia: provincia.name,\n region: region.region,\n region_number: region.region_number,\n });\n }\n }\n }\n }\n\n return results;\n}\n\n/**\n * Gets all communes of Chile\n * @returns Array with all communes\n */\nexport function getAllComunas(): ComunaSearchResult[] {\n const results: ComunaSearchResult[] = [];\n\n for (const region of data) {\n for (const provincia of region.provincias) {\n for (const comuna of provincia.comunas) {\n results.push({\n comuna,\n provincia: provincia.name,\n region: region.region,\n region_number: region.region_number,\n });\n }\n }\n }\n\n return results;\n}\n\n/**\n * Gets all provinces of Chile\n * @returns Array with objects containing the province and its region\n */\nexport function getAllProvincias(): Array<{ provincia: Provincia; region: string; region_number: string }> {\n const results: Array<{ provincia: Provincia; region: string; region_number: string }> = [];\n\n for (const region of data) {\n for (const provincia of region.provincias) {\n results.push({\n provincia,\n region: region.region,\n region_number: region.region_number,\n });\n }\n }\n\n return results;\n}\n\n// ============================================================================\n// SELECT/DROPDOWN HELPERS - For forms with cascading selects\n// ============================================================================\n\n/**\n * Gets regions formatted for a select/dropdown element\n * @returns Array of options with label (name) and value (region number)\n * @example\n * <select>\n * {getRegionOptions().map(opt => <option key={opt.value} value={opt.value}>{opt.label}</option>)}\n * </select>\n */\nexport function getRegionOptions(): SelectOption[] {\n return data.map((region) => ({\n label: region.region,\n value: region.region_number,\n }));\n}\n\n/**\n * Gets provinces of a region formatted for a select/dropdown element\n * @param regionNumber Number of the selected region\n * @returns Array of options with label and value (province name)\n */\nexport function getProvinciaOptions(regionNumber: string): SelectOption[] {\n const provincias = getProvincias(regionNumber);\n return provincias.map((provincia) => ({\n label: provincia.name,\n value: provincia.name,\n }));\n}\n\n/**\n * Gets communes formatted for a select/dropdown element\n * @param regionNumber Number of the selected region\n * @param provinciaName Province name (optional, if not passed returns all communes of the region)\n * @returns Array of options with label (name) and value (CUT code)\n */\nexport function getComunaOptions(regionNumber: string, provinciaName?: string): SelectOption[] {\n const comunas = getComunas(regionNumber, provinciaName);\n return comunas.map((comuna) => ({\n label: comuna.name,\n value: comuna.code,\n }));\n}\n\n/**\n * Gets all communes of Chile formatted for a select/dropdown element\n * Useful for autocomplete or global search\n * @returns Array of options with label (commune - region) and value (CUT code)\n */\nexport function getAllComunaOptions(): SelectOption[] {\n const allComunas = getAllComunas();\n return allComunas.map((result) => ({\n label: `${result.comuna.name} (${result.region})`,\n value: result.comuna.code,\n }));\n}\n","[\n {\n \"region\": \"Arica y Parinacota\",\n \"region_number\": \"XV\",\n \"region_iso_3166_2\": \"CL-AP\",\n \"provincias\": [\n {\n \"name\": \"Arica\",\n \"comunas\": [\n {\n \"name\": \"Arica\",\n \"code\": \"15101\"\n },\n {\n \"name\": \"Camarones\",\n \"code\": \"15102\"\n }\n ]\n },\n {\n \"name\": \"Parinacota\",\n \"comunas\": [\n {\n \"name\": \"Putre\",\n \"code\": \"15201\"\n },\n {\n \"name\": \"General Lagos\",\n \"code\": \"15202\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Tarapacá\",\n \"region_number\": \"I\",\n \"region_iso_3166_2\": \"CL-TA\",\n \"provincias\": [\n {\n \"name\": \"Iquique\",\n \"comunas\": [\n {\n \"name\": \"Iquique\",\n \"code\": \"01101\"\n },\n {\n \"name\": \"Alto Hospicio\",\n \"code\": \"01107\"\n }\n ]\n },\n {\n \"name\": \"Tamarugal\",\n \"comunas\": [\n {\n \"name\": \"Pozo Almonte\",\n \"code\": \"01401\"\n },\n {\n \"name\": \"Camiña\",\n \"code\": \"01402\"\n },\n {\n \"name\": \"Colchane\",\n \"code\": \"01403\"\n },\n {\n \"name\": \"Huara\",\n \"code\": \"01404\"\n },\n {\n \"name\": \"Pica\",\n \"code\": \"01405\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Antofagasta\",\n \"region_number\": \"II\",\n \"region_iso_3166_2\": \"CL-AN\",\n \"provincias\": [\n {\n \"name\": \"Antofagasta\",\n \"comunas\": [\n {\n \"name\": \"Antofagasta\",\n \"code\": \"02101\"\n },\n {\n \"name\": \"Mejillones\",\n \"code\": \"02102\"\n },\n {\n \"name\": \"Sierra Gorda\",\n \"code\": \"02103\"\n },\n {\n \"name\": \"Taltal\",\n \"code\": \"02104\"\n }\n ]\n },\n {\n \"name\": \"El Loa\",\n \"comunas\": [\n {\n \"name\": \"Calama\",\n \"code\": \"02201\"\n },\n {\n \"name\": \"Ollagüe\",\n \"code\": \"02202\"\n },\n {\n \"name\": \"San Pedro de Atacama\",\n \"code\": \"02203\"\n }\n ]\n },\n {\n \"name\": \"Tocopilla\",\n \"comunas\": [\n {\n \"name\": \"Tocopilla\",\n \"code\": \"02301\"\n },\n {\n \"name\": \"María Elena\",\n \"code\": \"02302\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Atacama\",\n \"region_number\": \"III\",\n \"region_iso_3166_2\": \"CL-AT\",\n \"provincias\": [\n {\n \"name\": \"Copiapó\",\n \"comunas\": [\n {\n \"name\": \"Copiapó\",\n \"code\": \"03101\"\n },\n {\n \"name\": \"Caldera\",\n \"code\": \"03102\"\n },\n {\n \"name\": \"Tierra Amarilla\",\n \"code\": \"03103\"\n }\n ]\n },\n {\n \"name\": \"Chañaral\",\n \"comunas\": [\n {\n \"name\": \"Chañaral\",\n \"code\": \"03201\"\n },\n {\n \"name\": \"Diego de Almagro\",\n \"code\": \"03202\"\n }\n ]\n },\n {\n \"name\": \"Huasco\",\n \"comunas\": [\n {\n \"name\": \"Vallenar\",\n \"code\": \"03301\"\n },\n {\n \"name\": \"Alto del Carmen\",\n \"code\": \"03302\"\n },\n {\n \"name\": \"Freirina\",\n \"code\": \"03303\"\n },\n {\n \"name\": \"Huasco\",\n \"code\": \"03304\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Coquimbo\",\n \"region_number\": \"IV\",\n \"region_iso_3166_2\": \"CL-CO\",\n \"provincias\": [\n {\n \"name\": \"Elqui\",\n \"comunas\": [\n {\n \"name\": \"La Serena\",\n \"code\": \"04101\"\n },\n {\n \"name\": \"Coquimbo\",\n \"code\": \"04102\"\n },\n {\n \"name\": \"Andacollo\",\n \"code\": \"04103\"\n },\n {\n \"name\": \"La Higuera\",\n \"code\": \"04104\"\n },\n {\n \"name\": \"Paiguano\",\n \"code\": \"04105\"\n },\n {\n \"name\": \"Vicuña\",\n \"code\": \"04106\"\n }\n ]\n },\n {\n \"name\": \"Choapa\",\n \"comunas\": [\n {\n \"name\": \"Illapel\",\n \"code\": \"04201\"\n },\n {\n \"name\": \"Canela\",\n \"code\": \"04202\"\n },\n {\n \"name\": \"Los Vilos\",\n \"code\": \"04203\"\n },\n {\n \"name\": \"Salamanca\",\n \"code\": \"04204\"\n }\n ]\n },\n {\n \"name\": \"Limarí\",\n \"comunas\": [\n {\n \"name\": \"Ovalle\",\n \"code\": \"04301\"\n },\n {\n \"name\": \"Combarbalá\",\n \"code\": \"04302\"\n },\n {\n \"name\": \"Monte Patria\",\n \"code\": \"04303\"\n },\n {\n \"name\": \"Punitaqui\",\n \"code\": \"04304\"\n },\n {\n \"name\": \"Río Hurtado\",\n \"code\": \"04305\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Valparaíso\",\n \"region_number\": \"V\",\n \"region_iso_3166_2\": \"CL-VS\",\n \"provincias\": [\n {\n \"name\": \"Valparaíso\",\n \"comunas\": [\n {\n \"name\": \"Valparaíso\",\n \"code\": \"05101\"\n },\n {\n \"name\": \"Casablanca\",\n \"code\": \"05102\"\n },\n {\n \"name\": \"Concón\",\n \"code\": \"05103\"\n },\n {\n \"name\": \"Juan Fernández\",\n \"code\": \"05104\"\n },\n {\n \"name\": \"Puchuncaví\",\n \"code\": \"05105\"\n },\n {\n \"name\": \"Quintero\",\n \"code\": \"05107\"\n },\n {\n \"name\": \"Viña del Mar\",\n \"code\": \"05109\"\n }\n ]\n },\n {\n \"name\": \"Isla de Pascua\",\n \"comunas\": [\n {\n \"name\": \"Isla de Pascua\",\n \"code\": \"05201\"\n }\n ]\n },\n {\n \"name\": \"Los Andes\",\n \"comunas\": [\n {\n \"name\": \"Los Andes\",\n \"code\": \"05301\"\n },\n {\n \"name\": \"Calle Larga\",\n \"code\": \"05302\"\n },\n {\n \"name\": \"Riconada\",\n \"code\": \"05303\"\n },\n {\n \"name\": \"San Esteban\",\n \"code\": \"05304\"\n }\n ]\n },\n {\n \"name\": \"Petorca\",\n \"comunas\": [\n {\n \"name\": \"La Ligua\",\n \"code\": \"05401\"\n },\n {\n \"name\": \"Cabildo\",\n \"code\": \"05402\"\n },\n {\n \"name\": \"Papudo\",\n \"code\": \"05403\"\n },\n {\n \"name\": \"Petorca\",\n \"code\": \"05404\"\n },\n {\n \"name\": \"Zapallar\",\n \"code\": \"05405\"\n }\n ]\n },\n {\n \"name\": \"Quillota\",\n \"comunas\": [\n {\n \"name\": \"Quillota\",\n \"code\": \"05501\"\n },\n {\n \"name\": \"La Calera\",\n \"code\": \"05502\"\n },\n {\n \"name\": \"Hijuelas\",\n \"code\": \"05503\"\n },\n {\n \"name\": \"La Cruz\",\n \"code\": \"05504\"\n },\n {\n \"name\": \"Nogales\",\n \"code\": \"05506\"\n }\n ]\n },\n {\n \"name\": \"San Antonio\",\n \"comunas\": [\n {\n \"name\": \"San Antonio\",\n \"code\": \"05601\"\n },\n {\n \"name\": \"Algarrobo\",\n \"code\": \"05602\"\n },\n {\n \"name\": \"Cartagena\",\n \"code\": \"05603\"\n },\n {\n \"name\": \"El Quisco\",\n \"code\": \"05604\"\n },\n {\n \"name\": \"El Tabo\",\n \"code\": \"05605\"\n },\n {\n \"name\": \"Santo Domingo\",\n \"code\": \"05606\"\n }\n ]\n },\n {\n \"name\": \"San Felipe de Aconcagua\",\n \"comunas\": [\n {\n \"name\": \"San Felipe\",\n \"code\": \"05701\"\n },\n {\n \"name\": \"Catemu\",\n \"code\": \"05702\"\n },\n {\n \"name\": \"Llaillay\",\n \"code\": \"05703\"\n },\n {\n \"name\": \"Panquehue\",\n \"code\": \"05704\"\n },\n {\n \"name\": \"Putaendo\",\n \"code\": \"05705\"\n },\n {\n \"name\": \"Santa María\",\n \"code\": \"05706\"\n }\n ]\n },\n {\n \"name\": \"Marga Marga\",\n \"comunas\": [\n {\n \"name\": \"Quilpué\",\n \"code\": \"05801\"\n },\n {\n \"name\": \"Limache\",\n \"code\": \"05802\"\n },\n {\n \"name\": \"Olmué\",\n \"code\": \"05803\"\n },\n {\n \"name\": \"Villa Alemana\",\n \"code\": \"05804\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región del Libertador Gral. Bernardo O'Higgins\",\n \"region_number\": \"VI\",\n \"region_iso_3166_2\": \"CL-LI\",\n \"provincias\": [\n {\n \"name\": \"Cachapoal\",\n \"comunas\": [\n {\n \"name\": \"Rancagua\",\n \"code\": \"06101\"\n },\n {\n \"name\": \"Codegua\",\n \"code\": \"06102\"\n },\n {\n \"name\": \"Coinco\",\n \"code\": \"06103\"\n },\n {\n \"name\": \"Coltauco\",\n \"code\": \"06104\"\n },\n {\n \"name\": \"Doñihue\",\n \"code\": \"06105\"\n },\n {\n \"name\": \"Graneros\",\n \"code\": \"06106\"\n },\n {\n \"name\": \"Las Cabras\",\n \"code\": \"06107\"\n },\n {\n \"name\": \"Machalí\",\n \"code\": \"06108\"\n },\n {\n \"name\": \"Malloa\",\n \"code\": \"06109\"\n },\n {\n \"name\": \"Mostazal\",\n \"code\": \"06110\"\n },\n {\n \"name\": \"Olivar\",\n \"code\": \"06111\"\n },\n {\n \"name\": \"Peumo\",\n \"code\": \"06112\"\n },\n {\n \"name\": \"Pichidegua\",\n \"code\": \"06113\"\n },\n {\n \"name\": \"Quinta de Tilcoco\",\n \"code\": \"06114\"\n },\n {\n \"name\": \"Rengo\",\n \"code\": \"06115\"\n },\n {\n \"name\": \"Requínoa\",\n \"code\": \"06116\"\n },\n {\n \"name\": \"San Vicente\",\n \"code\": \"06117\"\n }\n ]\n },\n {\n \"name\": \"Cardenal Caro\",\n \"comunas\": [\n {\n \"name\": \"Pichilemu\",\n \"code\": \"06201\"\n },\n {\n \"name\": \"La Estrella\",\n \"code\": \"06202\"\n },\n {\n \"name\": \"Litueche\",\n \"code\": \"06203\"\n },\n {\n \"name\": \"Marichihue\",\n \"code\": \"06204\"\n },\n {\n \"name\": \"Navidad\",\n \"code\": \"06205\"\n },\n {\n \"name\": \"Paredones\",\n \"code\": \"06206\"\n }\n ]\n },\n {\n \"name\": \"Colchagua\",\n \"comunas\": [\n {\n \"name\": \"San Fernando\",\n \"code\": \"06301\"\n },\n {\n \"name\": \"Chépica\",\n \"code\": \"06302\"\n },\n {\n \"name\": \"Chimbarongo\",\n \"code\": \"06303\"\n },\n {\n \"name\": \"Lolol\",\n \"code\": \"06304\"\n },\n {\n \"name\": \"Nancagua\",\n \"code\": \"06305\"\n },\n {\n \"name\": \"Palmilla\",\n \"code\": \"06306\"\n },\n {\n \"name\": \"Peralillo\",\n \"code\": \"06307\"\n },\n {\n \"name\": \"Placilla\",\n \"code\": \"06308\"\n },\n {\n \"name\": \"Pumanque\",\n \"code\": \"06309\"\n },\n {\n \"name\": \"Santa Cruz\",\n \"code\": \"06310\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región del Maule\",\n \"region_number\": \"VII\",\n \"region_iso_3166_2\": \"CL-ML\",\n \"provincias\": [\n {\n \"name\": \"Talca\",\n \"comunas\": [\n {\n \"name\": \"Talca\",\n \"code\": \"07101\"\n },\n {\n \"name\": \"Constitución\",\n \"code\": \"07102\"\n },\n {\n \"name\": \"Curepto\",\n \"code\": \"07103\"\n },\n {\n \"name\": \"Empedrado\",\n \"code\": \"07104\"\n },\n {\n \"name\": \"Maule\",\n \"code\": \"07105\"\n },\n {\n \"name\": \"Pelarco\",\n \"code\": \"07106\"\n },\n {\n \"name\": \"Pencahue\",\n \"code\": \"07107\"\n },\n {\n \"name\": \"Río Claro\",\n \"code\": \"07108\"\n },\n {\n \"name\": \"San Clemente\",\n \"code\": \"07109\"\n },\n {\n \"name\": \"San Rafael\",\n \"code\": \"07110\"\n }\n ]\n },\n {\n \"name\": \"Cauquenes\",\n \"comunas\": [\n {\n \"name\": \"Cauquenes\",\n \"code\": \"07201\"\n },\n {\n \"name\": \"Chanco\",\n \"code\": \"07202\"\n },\n {\n \"name\": \"Pelluhue\",\n \"code\": \"07203\"\n }\n ]\n },\n {\n \"name\": \"Curicó\",\n \"comunas\": [\n {\n \"name\": \"Curicó\",\n \"code\": \"07301\"\n },\n {\n \"name\": \"Hualañé\",\n \"code\": \"07302\"\n },\n {\n \"name\": \"Licantén\",\n \"code\": \"07303\"\n },\n {\n \"name\": \"Molina\",\n \"code\": \"07304\"\n },\n {\n \"name\": \"Rauco\",\n \"code\": \"07305\"\n },\n {\n \"name\": \"Romeral\",\n \"code\": \"07306\"\n },\n {\n \"name\": \"Sagrada Familia\",\n \"code\": \"07307\"\n },\n {\n \"name\": \"Teno\",\n \"code\": \"07308\"\n },\n {\n \"name\": \"Vichuquén\",\n \"code\": \"07309\"\n }\n ]\n },\n {\n \"name\": \"Linares\",\n \"comunas\": [\n {\n \"name\": \"Linares\",\n \"code\": \"07401\"\n },\n {\n \"name\": \"Colbún\",\n \"code\": \"07402\"\n },\n {\n \"name\": \"Longaví\",\n \"code\": \"07403\"\n },\n {\n \"name\": \"Parral\",\n \"code\": \"07404\"\n },\n {\n \"name\": \"Retiro\",\n \"code\": \"07405\"\n },\n {\n \"name\": \"San Javier\",\n \"code\": \"07406\"\n },\n {\n \"name\": \"Villa Alegre\",\n \"code\": \"07407\"\n },\n {\n \"name\": \"Yerbas Buenas\",\n \"code\": \"07408\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región de Ñuble\",\n \"region_number\": \"XVI\",\n \"region_iso_3166_2\": \"CL-NB\",\n \"provincias\": [\n {\n \"name\": \"Diguillín\",\n \"comunas\": [\n {\n \"name\": \"Chillán\",\n \"code\": \"16101\"\n },\n {\n \"name\": \"Chillán Viejo\",\n \"code\": \"16102\"\n },\n {\n \"name\": \"Quillón\",\n \"code\": \"16103\"\n },\n {\n \"name\": \"Bulnes\",\n \"code\": \"16104\"\n },\n {\n \"name\": \"San Ignacio\",\n \"code\": \"16105\"\n },\n {\n \"name\": \"El Carmen\",\n \"code\": \"16106\"\n },\n {\n \"name\": \"Pinto\",\n \"code\": \"16107\"\n },\n {\n \"name\": \"Pemuco\",\n \"code\": \"16108\"\n },\n {\n \"name\": \"Yungay\",\n \"code\": \"16109\"\n }\n ]\n },\n {\n \"name\": \"Itata\",\n \"comunas\": [\n {\n \"name\": \"Quirihue\",\n \"code\": \"16201\"\n },\n {\n \"name\": \"Cobquecura\",\n \"code\": \"16202\"\n },\n {\n \"name\": \"Ninhue\",\n \"code\": \"16203\"\n },\n {\n \"name\": \"Treguaco\",\n \"code\": \"16204\"\n },\n {\n \"name\": \"Coelemu\",\n \"code\": \"16205\"\n },\n {\n \"name\": \"Portezuelo\",\n \"code\": \"16206\"\n },\n {\n \"name\": \"Ránqui\",\n \"code\": \"16207\"\n }\n ]\n },\n {\n \"name\": \"Punilla\",\n \"comunas\": [\n {\n \"name\": \"San Carlos\",\n \"code\": \"16301\"\n },\n {\n \"name\": \"Ñiquén\",\n \"code\": \"16302\"\n },\n {\n \"name\": \"Coihueco\",\n \"code\": \"16303\"\n },\n {\n \"name\": \"San Fabián\",\n \"code\": \"16304\"\n },\n {\n \"name\": \"San Nico\",\n \"code\": \"16305\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región del Biobío\",\n \"region_number\": \"VIII\",\n \"region_iso_3166_2\": \"CL-BI\",\n \"provincias\": [\n {\n \"name\": \"Concepción\",\n \"comunas\": [\n {\n \"name\": \"Concepción\",\n \"code\": \"08101\"\n },\n {\n \"name\": \"Coronel\",\n \"code\": \"08102\"\n },\n {\n \"name\": \"Chiguayante\",\n \"code\": \"08103\"\n },\n {\n \"name\": \"Florida\",\n \"code\": \"08104\"\n },\n {\n \"name\": \"Hualqui\",\n \"code\": \"08105\"\n },\n {\n \"name\": \"Lota\",\n \"code\": \"08106\"\n },\n {\n \"name\": \"Penco\",\n \"code\": \"08107\"\n },\n {\n \"name\": \"San Pedro de la Paz\",\n \"code\": \"08108\"\n },\n {\n \"name\": \"Santa Juana\",\n \"code\": \"08109\"\n },\n {\n \"name\": \"Talcahuano\",\n \"code\": \"08110\"\n },\n {\n \"name\": \"Tomé\",\n \"code\": \"08111\"\n },\n {\n \"name\": \"Hualpén\",\n \"code\": \"08112\"\n }\n ]\n },\n {\n \"name\": \"Arauco\",\n \"comunas\": [\n {\n \"name\": \"Lebu\",\n \"code\": \"08201\"\n },\n {\n \"name\": \"Arauco\",\n \"code\": \"08202\"\n },\n {\n \"name\": \"Cañete\",\n \"code\": \"08203\"\n },\n {\n \"name\": \"Contulmo\",\n \"code\": \"08204\"\n },\n {\n \"name\": \"Curanilahue\",\n \"code\": \"08205\"\n },\n {\n \"name\": \"Los Álamos\",\n \"code\": \"08206\"\n },\n {\n \"name\": \"Tirúa\",\n \"code\": \"08207\"\n }\n ]\n },\n {\n \"name\": \"Biobío\",\n \"comunas\": [\n {\n \"name\": \"Los Ángeles\",\n \"code\": \"08301\"\n },\n {\n \"name\": \"Antuco\",\n \"code\": \"08302\"\n },\n {\n \"name\": \"Cabrero\",\n \"code\": \"08303\"\n },\n {\n \"name\": \"Laja\",\n \"code\": \"08304\"\n },\n {\n \"name\": \"Mulchén\",\n \"code\": \"08305\"\n },\n {\n \"name\": \"Nacimiento\",\n \"code\": \"08306\"\n },\n {\n \"name\": \"Negrete\",\n \"code\": \"08307\"\n },\n {\n \"name\": \"Quilaco\",\n \"code\": \"08308\"\n },\n {\n \"name\": \"Quilleco\",\n \"code\": \"08309\"\n },\n {\n \"name\": \"San Rosendo\",\n \"code\": \"08310\"\n },\n {\n \"name\": \"Santa Bárbara\",\n \"code\": \"08311\"\n },\n {\n \"name\": \"Tucapel\",\n \"code\": \"08312\"\n },\n {\n \"name\": \"Yumbel\",\n \"code\": \"08313\"\n },\n {\n \"name\": \"Alto Biobío\",\n \"code\": \"08314\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región de la Araucanía\",\n \"region_number\": \"IX\",\n \"region_iso_3166_2\": \"CL-AR\",\n \"provincias\": [\n {\n \"name\": \"Cautín\",\n \"comunas\": [\n {\n \"name\": \"Temuco\",\n \"code\": \"09101\"\n },\n {\n \"name\": \"Carahue\",\n \"code\": \"09102\"\n },\n {\n \"name\": \"Cunco\",\n \"code\": \"09103\"\n },\n {\n \"name\": \"Curarrehue\",\n \"code\": \"09104\"\n },\n {\n \"name\": \"Freire\",\n \"code\": \"09105\"\n },\n {\n \"name\": \"Galvarino\",\n \"code\": \"09106\"\n },\n {\n \"name\": \"Gorbea\",\n \"code\": \"09107\"\n },\n {\n \"name\": \"Lautaro\",\n \"code\": \"09108\"\n },\n {\n \"name\": \"Loncoche\",\n \"code\": \"09109\"\n },\n {\n \"name\": \"Melipeuco\",\n \"code\": \"09110\"\n },\n {\n \"name\": \"Nueva Imperial\",\n \"code\": \"09111\"\n },\n {\n \"name\": \"Padre Las Casas\",\n \"code\": \"09112\"\n },\n {\n \"name\": \"Perquenco\",\n \"code\": \"09113\"\n },\n {\n \"name\": \"Pitrufquén\",\n \"code\": \"09114\"\n },\n {\n \"name\": \"Pucón\",\n \"code\": \"09115\"\n },\n {\n \"name\": \"Saavedra\",\n \"code\": \"09116\"\n },\n {\n \"name\": \"Teodoro Schmidt\",\n \"code\": \"09117\"\n },\n {\n \"name\": \"Toltén\",\n \"code\": \"09118\"\n },\n {\n \"name\": \"Vilcún\",\n \"code\": \"09119\"\n },\n {\n \"name\": \"Villarrica\",\n \"code\": \"09120\"\n },\n {\n \"name\": \"Cholchol\",\n \"code\": \"09121\"\n }\n ]\n },\n {\n \"name\": \"Malleco\",\n \"comunas\": [\n {\n \"name\": \"Angol\",\n \"code\": \"09201\"\n },\n {\n \"name\": \"Collipulli\",\n \"code\": \"09202\"\n },\n {\n \"name\": \"Curacautín\",\n \"code\": \"09203\"\n },\n {\n \"name\": \"Ercilla\",\n \"code\": \"09204\"\n },\n {\n \"name\": \"Lonquimay\",\n \"code\": \"09205\"\n },\n {\n \"name\": \"Los Sauces\",\n \"code\": \"09206\"\n },\n {\n \"name\": \"Lumaco\",\n \"code\": \"09207\"\n },\n {\n \"name\": \"Purén\",\n \"code\": \"09208\"\n },\n {\n \"name\": \"Renaico\",\n \"code\": \"09209\"\n },\n {\n \"name\": \"Traiguén\",\n \"code\": \"09210\"\n },\n {\n \"name\": \"Victoria\",\n \"code\": \"09211\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región de los Ríos\",\n \"region_number\": \"XIV\",\n \"region_iso_3166_2\": \"CL-LR\",\n \"provincias\": [\n {\n \"name\": \"Valdivia\",\n \"comunas\": [\n {\n \"name\": \"Valdivia\",\n \"code\": \"14101\"\n },\n {\n \"name\": \"Corral\",\n \"code\": \"14102\"\n },\n {\n \"name\": \"Lanco\",\n \"code\": \"14103\"\n },\n {\n \"name\": \"Los Lagos\",\n \"code\": \"14104\"\n },\n {\n \"name\": \"Máfil\",\n \"code\": \"14105\"\n },\n {\n \"name\": \"Mariquina\",\n \"code\": \"14106\"\n },\n {\n \"name\": \"Paillaco\",\n \"code\": \"14107\"\n },\n {\n \"name\": \"Panguipulli\",\n \"code\": \"14108\"\n }\n ]\n },\n {\n \"name\": \"Ranco\",\n \"comunas\": [\n {\n \"name\": \"La Unión\",\n \"code\": \"14201\"\n },\n {\n \"name\": \"Futrono\",\n \"code\": \"14202\"\n },\n {\n \"name\": \"Lago Ranco\",\n \"code\": \"14203\"\n },\n {\n \"name\": \"Río Bueno\",\n \"code\": \"14204\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región de los Lagos\",\n \"region_number\": \"X\",\n \"region_iso_3166_2\": \"CL-LL\",\n \"provincias\": [\n {\n \"name\": \"Llanquihue\",\n \"comunas\": [\n {\n \"name\": \"Puerto Montt\",\n \"code\": \"10101\"\n },\n {\n \"name\": \"Calbuco\",\n \"code\": \"10102\"\n },\n {\n \"name\": \"Cochamó\",\n \"code\": \"10103\"\n },\n {\n \"name\": \"Fresia\",\n \"code\": \"10104\"\n },\n {\n \"name\": \"Frutillar\",\n \"code\": \"10105\"\n },\n {\n \"name\": \"Los Muermos\",\n \"code\": \"10106\"\n },\n {\n \"name\": \"Llanquihue\",\n \"code\": \"10107\"\n },\n {\n \"name\": \"Maullín\",\n \"code\": \"10108\"\n },\n {\n \"name\": \"Puerto Varas\",\n \"code\": \"10109\"\n }\n ]\n },\n {\n \"name\": \"Chiloé\",\n \"comunas\": [\n {\n \"name\": \"Castro\",\n \"code\": \"10201\"\n },\n {\n \"name\": \"Ancud\",\n \"code\": \"10202\"\n },\n {\n \"name\": \"Chonchi\",\n \"code\": \"10203\"\n },\n {\n \"name\": \"Curaco de Vélez\",\n \"code\": \"10204\"\n },\n {\n \"name\": \"Dalcahue\",\n \"code\": \"10205\"\n },\n {\n \"name\": \"Puqueldón\",\n \"code\": \"10206\"\n },\n {\n \"name\": \"Queilén\",\n \"code\": \"10207\"\n },\n {\n \"name\": \"Quellón\",\n \"code\": \"10208\"\n },\n {\n \"name\": \"Quemchi\",\n \"code\": \"10209\"\n },\n {\n \"name\": \"Quinchao\",\n \"code\": \"10210\"\n }\n ]\n },\n {\n \"name\": \"Osorno\",\n \"comunas\": [\n {\n \"name\": \"Osorno\",\n \"code\": \"10301\"\n },\n {\n \"name\": \"Puerto Octay\",\n \"code\": \"10302\"\n },\n {\n \"name\": \"Purranque\",\n \"code\": \"10303\"\n },\n {\n \"name\": \"Puyehue\",\n \"code\": \"10304\"\n },\n {\n \"name\": \"Río Negro\",\n \"code\": \"10305\"\n },\n {\n \"name\": \"San Juan de la Costa\",\n \"code\": \"10306\"\n },\n {\n \"name\": \"San Pablo\",\n \"code\": \"10307\"\n }\n ]\n },\n {\n \"name\": \"Palena\",\n \"comunas\": [\n {\n \"name\": \"Chaitén\",\n \"code\": \"10401\"\n },\n {\n \"name\": \"Futaleufú\",\n \"code\": \"10402\"\n },\n {\n \"name\": \"Hualaihué\",\n \"code\": \"10403\"\n },\n {\n \"name\": \"Palena\",\n \"code\": \"10404\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región Aisén del Gral. Carlos Ibañez del Campo\",\n \"region_number\": \"XI\",\n \"region_iso_3166_2\": \"CL-AI\",\n \"provincias\": [\n {\n \"name\": \"Coyhaique\",\n \"comunas\": [\n {\n \"name\": \"Coihaique\",\n \"code\": \"11101\"\n },\n {\n \"name\": \"Lago Verde\",\n \"code\": \"11102\"\n }\n ]\n },\n {\n \"name\": \"Aisén\",\n \"comunas\": [\n {\n \"name\": \"Aisén\",\n \"code\": \"11201\"\n },\n {\n \"name\": \"Cisnes\",\n \"code\": \"11202\"\n },\n {\n \"name\": \"Guaitecas\",\n \"code\": \"11203\"\n }\n ]\n },\n {\n \"name\": \"Capitán Pratt\",\n \"comunas\": [\n {\n \"name\": \"Cochrane\",\n \"code\": \"11301\"\n },\n {\n \"name\": \"O'Higgins\",\n \"code\": \"11302\"\n },\n {\n \"name\": \"Tortel\",\n \"code\": \"11303\"\n }\n ]\n },\n {\n \"name\": \"General Carrera\",\n \"comunas\": [\n {\n \"name\": \"Chile Chico\",\n \"code\": \"11401\"\n },\n {\n \"name\": \"Río Ibáñez\",\n \"code\": \"11402\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región de Magallanes y de la Antártica Chilena\",\n \"region_number\": \"XII\",\n \"region_iso_3166_2\": \"CL-MA\",\n \"provincias\": [\n {\n \"name\": \"Magallanes\",\n \"comunas\": [\n {\n \"name\": \"Punta Arenas\",\n \"code\": \"12101\"\n },\n {\n \"name\": \"Laguna Blanca\",\n \"code\": \"12102\"\n },\n {\n \"name\": \"Río Verde\",\n \"code\": \"12103\"\n },\n {\n \"name\": \"San Gregorio\",\n \"code\": \"12104\"\n }\n ]\n },\n {\n \"name\": \"Antártica Chilena\",\n \"comunas\": [\n {\n \"name\": \"Cabo de Hornos\",\n \"code\": \"12201\"\n },\n {\n \"name\": \"Antártica\",\n \"code\": \"12202\"\n }\n ]\n },\n {\n \"name\": \"Tierra del Fuego\",\n \"comunas\": [\n {\n \"name\": \"Porvenir\",\n \"code\": \"12301\"\n },\n {\n \"name\": \"Primavera\",\n \"code\": \"12302\"\n },\n {\n \"name\": \"Timaukel\",\n \"code\": \"12303\"\n }\n ]\n },\n {\n \"name\": \"Última Esperanza\",\n \"comunas\": [\n {\n \"name\": \"Natales\",\n \"code\": \"12401\"\n },\n {\n \"name\": \"Torres del Paine\",\n \"code\": \"12402\"\n }\n ]\n }\n ]\n },\n {\n \"region\": \"Región Metropolitana de Santiago\",\n \"region_number\": \"XIII\",\n \"region_iso_3166_2\": \"CL-RM\",\n \"provincias\": [\n {\n \"name\": \"Santiago\",\n \"comunas\": [\n {\n \"name\": \"Santiago\",\n \"code\": \"13101\"\n },\n {\n \"name\": \"Cerrillos\",\n \"code\": \"13102\"\n },\n {\n \"name\": \"Cerro Navia\",\n \"code\": \"13103\"\n },\n {\n \"name\": \"Conchalí\",\n \"code\": \"13104\"\n },\n {\n \"name\": \"El Bosque\",\n \"code\": \"13105\"\n },\n {\n \"name\": \"Estación Central\",\n \"code\": \"13106\"\n },\n {\n \"name\": \"Huechuraba\",\n \"code\": \"13107\"\n },\n {\n \"name\": \"Independencia\",\n \"code\": \"13108\"\n },\n {\n \"name\": \"La Cisterna\",\n \"code\": \"13109\"\n },\n {\n \"name\": \"La Florida\",\n \"code\": \"13110\"\n },\n {\n \"name\": \"La Granja\",\n \"code\": \"13111\"\n },\n {\n \"name\": \"La Pintana\",\n \"code\": \"13112\"\n },\n {\n \"name\": \"La Reina\",\n \"code\": \"13113\"\n },\n {\n \"name\": \"Las Condes\",\n \"code\": \"13114\"\n },\n {\n \"name\": \"Lo Barnechea\",\n \"code\": \"13115\"\n },\n {\n \"name\": \"Lo Espejo\",\n \"code\": \"13116\"\n },\n {\n \"name\": \"Lo Prado\",\n \"code\": \"13117\"\n },\n {\n \"name\": \"Macul\",\n \"code\": \"13118\"\n },\n {\n \"name\": \"Maipú\",\n \"code\": \"13119\"\n },\n {\n \"name\": \"Ñuñoa\",\n \"code\": \"13120\"\n },\n {\n \"name\": \"Pedro Aguirre Cerda\",\n \"code\": \"13121\"\n },\n {\n \"name\": \"Peñalolén\",\n \"code\": \"13122\"\n },\n {\n \"name\": \"Providencia\",\n \"code\": \"13123\"\n },\n {\n \"name\": \"Pudahuel\",\n \"code\": \"13124\"\n },\n {\n \"name\": \"Quilicura\",\n \"code\": \"13125\"\n },\n {\n \"name\": \"Quinta Normal\",\n \"code\": \"13126\"\n },\n {\n \"name\": \"Recoleta\",\n \"code\": \"13127\"\n },\n {\n \"name\": \"Renca\",\n \"code\": \"13128\"\n },\n {\n \"name\": \"San Joaquín\",\n \"code\": \"13129\"\n },\n {\n \"name\": \"San Miguel\",\n \"code\": \"13130\"\n },\n {\n \"name\": \"San Ramón\",\n \"code\": \"13131\"\n },\n {\n \"name\": \"Vitacura\",\n \"code\": \"13132\"\n }\n ]\n },\n {\n \"name\": \"Cordillera\",\n \"comunas\": [\n {\n \"name\": \"Puente Alto\",\n \"code\": \"13201\"\n },\n {\n \"name\": \"Pirque\",\n \"code\": \"13202\"\n },\n {\n \"name\": \"San José de Maipo\",\n \"code\": \"13203\"\n }\n ]\n },\n {\n \"name\": \"Chacabuco\",\n \"comunas\": [\n {\n \"name\": \"Colina\",\n \"code\": \"13301\"\n },\n {\n \"name\": \"Lampa\",\n \"code\": \"13302\"\n },\n {\n \"name\": \"Tiltil\",\n \"code\": \"13303\"\n }\n ]\n },\n {\n \"name\": \"Maipo\",\n \"comunas\": [\n {\n \"name\": \"San Bernardo\",\n \"code\": \"13401\"\n },\n {\n \"name\": \"Buin\",\n \"code\": \"13402\"\n },\n {\n \"name\": \"Calera de Tango\",\n \"code\": \"13403\"\n },\n {\n \"name\": \"Paine\",\n \"code\": \"13404\"\n }\n ]\n },\n {\n \"name\": \"Mellipilla\",\n \"comunas\": [\n {\n \"name\": \"Melipilla\",\n \"code\": \"13501\"\n },\n {\n \"name\": \"Alhué\",\n \"code\": \"13502\"\n },\n {\n \"name\": \"Curacaví\",\n \"code\": \"13503\"\n },\n {\n \"name\": \"María Pinto\",\n \"code\": \"13504\"\n },\n {\n \"name\": \"San Pedro\",\n \"code\": \"13505\"\n }\n ]\n },\n {\n \"name\": \"Talagante\",\n \"comunas\": [\n {\n \"name\": \"Talagante\",\n \"code\": \"13601\"\n },\n {\n \"name\": \"El Monte\",\n \"code\": \"13602\"\n },\n {\n \"name\": \"Isla de Maipo\",\n \"code\": \"13603\"\n },\n {\n \"name\": \"Padre Hurtado\",\n \"code\": \"13604\"\n },\n {\n \"name\": \"Peñaflor\",\n \"code\": \"13605\"\n }\n ]\n }\n ]\n }\n]","import type { Region } from './types';\nimport rawData from '../regiones-provincias-comunas.json';\n\n/**\n * Datos de regiones, provincias y comunas de Chile\n */\nexport const data: Region[] = rawData as Region[];\n"],"mappings":"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","names":[]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a commune of Chile
|
|
3
|
+
*/
|
|
4
|
+
interface Comuna {
|
|
5
|
+
/** Name of the commune */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Unique Territorial Code (CUT) of the commune */
|
|
8
|
+
code: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Represents a province of Chile
|
|
12
|
+
*/
|
|
13
|
+
interface Provincia {
|
|
14
|
+
/** Name of the province */
|
|
15
|
+
name: string;
|
|
16
|
+
/** List of communes belonging to the province */
|
|
17
|
+
comunas: Comuna[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Represents a region of Chile
|
|
21
|
+
*/
|
|
22
|
+
interface Region {
|
|
23
|
+
/** Full name of the region */
|
|
24
|
+
region: string;
|
|
25
|
+
/** Region number in Roman numerals (I, II, III, ... XV, XVI) */
|
|
26
|
+
region_number: string;
|
|
27
|
+
/** ISO 3166-2 code of the region (e.g., CL-AP, CL-RM) */
|
|
28
|
+
region_iso_3166_2: string;
|
|
29
|
+
/** List of provinces belonging to the region */
|
|
30
|
+
provincias: Provincia[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Commune search result with context information
|
|
34
|
+
*/
|
|
35
|
+
interface ComunaSearchResult {
|
|
36
|
+
/** The found commune */
|
|
37
|
+
comuna: Comuna;
|
|
38
|
+
/** Name of the province it belongs to */
|
|
39
|
+
provincia: string;
|
|
40
|
+
/** Name of the region it belongs to */
|
|
41
|
+
region: string;
|
|
42
|
+
/** Region number */
|
|
43
|
+
region_number: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Generic option for select/dropdown elements
|
|
47
|
+
*/
|
|
48
|
+
interface SelectOption {
|
|
49
|
+
/** Visible text in the select */
|
|
50
|
+
label: string;
|
|
51
|
+
/** Option value (used as key/id) */
|
|
52
|
+
value: string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Datos de regiones, provincias y comunas de Chile
|
|
57
|
+
*/
|
|
58
|
+
declare const data: Region[];
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Gets all regions of Chile
|
|
62
|
+
* @returns Array with all 16 regions of Chile
|
|
63
|
+
*/
|
|
64
|
+
declare function getRegiones(): Region[];
|
|
65
|
+
/**
|
|
66
|
+
* Finds a region by its number (in Roman numerals)
|
|
67
|
+
* @param number Region number (e.g., "I", "XV", "XIII")
|
|
68
|
+
* @returns The found region or undefined
|
|
69
|
+
*/
|
|
70
|
+
declare function getRegionByNumber(number: string): Region | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Finds a region by its ISO 3166-2 code
|
|
73
|
+
* @param iso ISO code (e.g., "CL-RM", "CL-AP")
|
|
74
|
+
* @returns The found region or undefined
|
|
75
|
+
*/
|
|
76
|
+
declare function getRegionByISO(iso: string): Region | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Finds a region by its name (partial search, case-insensitive)
|
|
79
|
+
* @param name Name or part of the region name
|
|
80
|
+
* @returns The found region or undefined
|
|
81
|
+
*/
|
|
82
|
+
declare function getRegionByName(name: string): Region | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Gets all provinces of a region
|
|
85
|
+
* @param regionNumber Region number (e.g., "XIII", "V")
|
|
86
|
+
* @returns Array of provinces or empty array if region not found
|
|
87
|
+
*/
|
|
88
|
+
declare function getProvincias(regionNumber: string): Provincia[];
|
|
89
|
+
/**
|
|
90
|
+
* Gets all communes of a region, optionally filtered by province
|
|
91
|
+
* @param regionNumber Region number
|
|
92
|
+
* @param provinciaName Province name (optional)
|
|
93
|
+
* @returns Array of communes
|
|
94
|
+
*/
|
|
95
|
+
declare function getComunas(regionNumber: string, provinciaName?: string): Comuna[];
|
|
96
|
+
/**
|
|
97
|
+
* Finds a commune by its CUT code (Unique Territorial Code)
|
|
98
|
+
* @param code CUT code of the commune (e.g., "13101" for Santiago)
|
|
99
|
+
* @returns Result with the commune and its context, or undefined
|
|
100
|
+
*/
|
|
101
|
+
declare function getComunaByCode(code: string): ComunaSearchResult | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* Searches communes by name (partial search, case-insensitive)
|
|
104
|
+
* @param query Text to search in commune names
|
|
105
|
+
* @returns Array of results with communes and their context
|
|
106
|
+
*/
|
|
107
|
+
declare function searchComunas(query: string): ComunaSearchResult[];
|
|
108
|
+
/**
|
|
109
|
+
* Gets all communes of Chile
|
|
110
|
+
* @returns Array with all communes
|
|
111
|
+
*/
|
|
112
|
+
declare function getAllComunas(): ComunaSearchResult[];
|
|
113
|
+
/**
|
|
114
|
+
* Gets all provinces of Chile
|
|
115
|
+
* @returns Array with objects containing the province and its region
|
|
116
|
+
*/
|
|
117
|
+
declare function getAllProvincias(): Array<{
|
|
118
|
+
provincia: Provincia;
|
|
119
|
+
region: string;
|
|
120
|
+
region_number: string;
|
|
121
|
+
}>;
|
|
122
|
+
/**
|
|
123
|
+
* Gets regions formatted for a select/dropdown element
|
|
124
|
+
* @returns Array of options with label (name) and value (region number)
|
|
125
|
+
* @example
|
|
126
|
+
* <select>
|
|
127
|
+
* {getRegionOptions().map(opt => <option key={opt.value} value={opt.value}>{opt.label}</option>)}
|
|
128
|
+
* </select>
|
|
129
|
+
*/
|
|
130
|
+
declare function getRegionOptions(): SelectOption[];
|
|
131
|
+
/**
|
|
132
|
+
* Gets provinces of a region formatted for a select/dropdown element
|
|
133
|
+
* @param regionNumber Number of the selected region
|
|
134
|
+
* @returns Array of options with label and value (province name)
|
|
135
|
+
*/
|
|
136
|
+
declare function getProvinciaOptions(regionNumber: string): SelectOption[];
|
|
137
|
+
/**
|
|
138
|
+
* Gets communes formatted for a select/dropdown element
|
|
139
|
+
* @param regionNumber Number of the selected region
|
|
140
|
+
* @param provinciaName Province name (optional, if not passed returns all communes of the region)
|
|
141
|
+
* @returns Array of options with label (name) and value (CUT code)
|
|
142
|
+
*/
|
|
143
|
+
declare function getComunaOptions(regionNumber: string, provinciaName?: string): SelectOption[];
|
|
144
|
+
/**
|
|
145
|
+
* Gets all communes of Chile formatted for a select/dropdown element
|
|
146
|
+
* Useful for autocomplete or global search
|
|
147
|
+
* @returns Array of options with label (commune - region) and value (CUT code)
|
|
148
|
+
*/
|
|
149
|
+
declare function getAllComunaOptions(): SelectOption[];
|
|
150
|
+
|
|
151
|
+
export { type Comuna, type ComunaSearchResult, type Provincia, type Region, type SelectOption, data, getAllComunaOptions, getAllComunas, getAllProvincias, getComunaByCode, getComunaOptions, getComunas, getProvinciaOptions, getProvincias, getRegionByISO, getRegionByName, getRegionByNumber, getRegionOptions, getRegiones, searchComunas };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents a commune of Chile
|
|
3
|
+
*/
|
|
4
|
+
interface Comuna {
|
|
5
|
+
/** Name of the commune */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Unique Territorial Code (CUT) of the commune */
|
|
8
|
+
code: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Represents a province of Chile
|
|
12
|
+
*/
|
|
13
|
+
interface Provincia {
|
|
14
|
+
/** Name of the province */
|
|
15
|
+
name: string;
|
|
16
|
+
/** List of communes belonging to the province */
|
|
17
|
+
comunas: Comuna[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Represents a region of Chile
|
|
21
|
+
*/
|
|
22
|
+
interface Region {
|
|
23
|
+
/** Full name of the region */
|
|
24
|
+
region: string;
|
|
25
|
+
/** Region number in Roman numerals (I, II, III, ... XV, XVI) */
|
|
26
|
+
region_number: string;
|
|
27
|
+
/** ISO 3166-2 code of the region (e.g., CL-AP, CL-RM) */
|
|
28
|
+
region_iso_3166_2: string;
|
|
29
|
+
/** List of provinces belonging to the region */
|
|
30
|
+
provincias: Provincia[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Commune search result with context information
|
|
34
|
+
*/
|
|
35
|
+
interface ComunaSearchResult {
|
|
36
|
+
/** The found commune */
|
|
37
|
+
comuna: Comuna;
|
|
38
|
+
/** Name of the province it belongs to */
|
|
39
|
+
provincia: string;
|
|
40
|
+
/** Name of the region it belongs to */
|
|
41
|
+
region: string;
|
|
42
|
+
/** Region number */
|
|
43
|
+
region_number: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Generic option for select/dropdown elements
|
|
47
|
+
*/
|
|
48
|
+
interface SelectOption {
|
|
49
|
+
/** Visible text in the select */
|
|
50
|
+
label: string;
|
|
51
|
+
/** Option value (used as key/id) */
|
|
52
|
+
value: string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Datos de regiones, provincias y comunas de Chile
|
|
57
|
+
*/
|
|
58
|
+
declare const data: Region[];
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Gets all regions of Chile
|
|
62
|
+
* @returns Array with all 16 regions of Chile
|
|
63
|
+
*/
|
|
64
|
+
declare function getRegiones(): Region[];
|
|
65
|
+
/**
|
|
66
|
+
* Finds a region by its number (in Roman numerals)
|
|
67
|
+
* @param number Region number (e.g., "I", "XV", "XIII")
|
|
68
|
+
* @returns The found region or undefined
|
|
69
|
+
*/
|
|
70
|
+
declare function getRegionByNumber(number: string): Region | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Finds a region by its ISO 3166-2 code
|
|
73
|
+
* @param iso ISO code (e.g., "CL-RM", "CL-AP")
|
|
74
|
+
* @returns The found region or undefined
|
|
75
|
+
*/
|
|
76
|
+
declare function getRegionByISO(iso: string): Region | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Finds a region by its name (partial search, case-insensitive)
|
|
79
|
+
* @param name Name or part of the region name
|
|
80
|
+
* @returns The found region or undefined
|
|
81
|
+
*/
|
|
82
|
+
declare function getRegionByName(name: string): Region | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Gets all provinces of a region
|
|
85
|
+
* @param regionNumber Region number (e.g., "XIII", "V")
|
|
86
|
+
* @returns Array of provinces or empty array if region not found
|
|
87
|
+
*/
|
|
88
|
+
declare function getProvincias(regionNumber: string): Provincia[];
|
|
89
|
+
/**
|
|
90
|
+
* Gets all communes of a region, optionally filtered by province
|
|
91
|
+
* @param regionNumber Region number
|
|
92
|
+
* @param provinciaName Province name (optional)
|
|
93
|
+
* @returns Array of communes
|
|
94
|
+
*/
|
|
95
|
+
declare function getComunas(regionNumber: string, provinciaName?: string): Comuna[];
|
|
96
|
+
/**
|
|
97
|
+
* Finds a commune by its CUT code (Unique Territorial Code)
|
|
98
|
+
* @param code CUT code of the commune (e.g., "13101" for Santiago)
|
|
99
|
+
* @returns Result with the commune and its context, or undefined
|
|
100
|
+
*/
|
|
101
|
+
declare function getComunaByCode(code: string): ComunaSearchResult | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* Searches communes by name (partial search, case-insensitive)
|
|
104
|
+
* @param query Text to search in commune names
|
|
105
|
+
* @returns Array of results with communes and their context
|
|
106
|
+
*/
|
|
107
|
+
declare function searchComunas(query: string): ComunaSearchResult[];
|
|
108
|
+
/**
|
|
109
|
+
* Gets all communes of Chile
|
|
110
|
+
* @returns Array with all communes
|
|
111
|
+
*/
|
|
112
|
+
declare function getAllComunas(): ComunaSearchResult[];
|
|
113
|
+
/**
|
|
114
|
+
* Gets all provinces of Chile
|
|
115
|
+
* @returns Array with objects containing the province and its region
|
|
116
|
+
*/
|
|
117
|
+
declare function getAllProvincias(): Array<{
|
|
118
|
+
provincia: Provincia;
|
|
119
|
+
region: string;
|
|
120
|
+
region_number: string;
|
|
121
|
+
}>;
|
|
122
|
+
/**
|
|
123
|
+
* Gets regions formatted for a select/dropdown element
|
|
124
|
+
* @returns Array of options with label (name) and value (region number)
|
|
125
|
+
* @example
|
|
126
|
+
* <select>
|
|
127
|
+
* {getRegionOptions().map(opt => <option key={opt.value} value={opt.value}>{opt.label}</option>)}
|
|
128
|
+
* </select>
|
|
129
|
+
*/
|
|
130
|
+
declare function getRegionOptions(): SelectOption[];
|
|
131
|
+
/**
|
|
132
|
+
* Gets provinces of a region formatted for a select/dropdown element
|
|
133
|
+
* @param regionNumber Number of the selected region
|
|
134
|
+
* @returns Array of options with label and value (province name)
|
|
135
|
+
*/
|
|
136
|
+
declare function getProvinciaOptions(regionNumber: string): SelectOption[];
|
|
137
|
+
/**
|
|
138
|
+
* Gets communes formatted for a select/dropdown element
|
|
139
|
+
* @param regionNumber Number of the selected region
|
|
140
|
+
* @param provinciaName Province name (optional, if not passed returns all communes of the region)
|
|
141
|
+
* @returns Array of options with label (name) and value (CUT code)
|
|
142
|
+
*/
|
|
143
|
+
declare function getComunaOptions(regionNumber: string, provinciaName?: string): SelectOption[];
|
|
144
|
+
/**
|
|
145
|
+
* Gets all communes of Chile formatted for a select/dropdown element
|
|
146
|
+
* Useful for autocomplete or global search
|
|
147
|
+
* @returns Array of options with label (commune - region) and value (CUT code)
|
|
148
|
+
*/
|
|
149
|
+
declare function getAllComunaOptions(): SelectOption[];
|
|
150
|
+
|
|
151
|
+
export { type Comuna, type ComunaSearchResult, type Provincia, type Region, type SelectOption, data, getAllComunaOptions, getAllComunas, getAllProvincias, getComunaByCode, getComunaOptions, getComunas, getProvinciaOptions, getProvincias, getRegionByISO, getRegionByName, getRegionByNumber, getRegionOptions, getRegiones, searchComunas };
|