Cosmos.Types.Paises 1.1.1

dotnet add package Cosmos.Types.Paises --version 1.1.1
                    
NuGet\Install-Package Cosmos.Types.Paises -Version 1.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cosmos.Types.Paises" Version="1.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cosmos.Types.Paises" Version="1.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Cosmos.Types.Paises" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Cosmos.Types.Paises --version 1.1.1
                    
#r "nuget: Cosmos.Types.Paises, 1.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Cosmos.Types.Paises@1.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Cosmos.Types.Paises&version=1.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Cosmos.Types.Paises&version=1.1.1
                    
Install as a Cake Tool

Cosmos.Types.Paises

NuGet

Pais — Value Object de país para el ERP Cosmos, con catálogo embebido de 195 países (código ISO, nombre, indicativo telefónico, moneda). Viaja dentro de eventos event-sourced (JSONB) aguas abajo, por lo que su forma serializada es un contrato estable.

Instalación

dotnet add package Cosmos.Types.Paises

Construcción

Pais es un VO de catálogo: su puerta pública es Obtener(...), que lanza ArgumentException si el código no existe o no está activo. Es la forma correcta para un código confiable (un literal del dev, un valor ya validado aguas arriba):

using Cosmos.Types.Paises;

var colombia = Pais.Obtener("CO");   // lanza ArgumentException si "CO" no existe/activo

La factory Crear(...) : Result<Pais> (que valida sin lanzar) es internal: no está disponible para el consumidor. Un Pais solo se obtiene por Obtener, lo que garantiza que todo Pais tipado en tu código es válido por construcción.

Forma serializada

{ "codigo": "CO" }

Las claves son camelCase ancladas con [JsonPropertyName]: el wire es determinista e independiente del JsonSerializerOptions del consumidor. Los datos descriptivos (Nombre, IndicativoTelefonico, MonedaPrincipal) son accessors derivados del catálogo, marcados [JsonIgnore]: no viajan en el evento.

Rehidratación (deserialización)

No requiere setup: ni JsonConverter ni JsonSerializerContext registrados; basta el STJ por defecto. Al deserializar un evento histórico el VO se rehidrata crudo ([JsonConstructor]), sin validar — un código que ya no figura en el catálogo igual se rehidrata. En ese estado poison los accessors derivados resuelven a null sin lanzar (pais.Nombre == null).

Listado

Para poblar un selector en un frontend usá Pais.Listar() — devuelve los mismos Pais que consume la escritura, así que el valor elegido fluye directo a las factories tipadas. Las etiquetas de display no viajan serializadas, por lo que el backend consumidor proyecta su propio DTO de API:

var paisesDto = Pais.Listar().Select(pais => new { pais.Codigo, pais.Nombre });

Dependencias

  • Cosmos.Types.Abstractions (kernel: Result<T>)

Requiere net10.0.

Documentación

Licencia

Uso interno del ERP Cosmos.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Cosmos.Types.Paises:

Package Downloads
Cosmos.Impuestos.Contratos

Eventos públicos de integración de Cosmos Impuestos (IPublicEvent) para consumidores en otros bounded contexts.

Cosmos.Contabilidad.Contratos

Package Description

ObligacionesPorPagar.Reconocimiento.Contratos

Contratos de reconocimiento expuestos a terceros.

Cosmos.Types.IdentificacionesLegales

Value Object IdentificacionLegal para el ERP Cosmos: tipo de documento, número y dígito de verificación (módulo-11 DIAN), con catálogo embebido de 46 tipos. Diseñado para eventos event-sourced.

Cosmos.Types.Telefonos

Value Object Telefono para el ERP Cosmos: valida indicativo de país (contra el catálogo de Cosmos.Types.Paises) y número. Diseñado para eventos event-sourced.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.1 112 6/30/2026
1.1.0 140 6/24/2026