Cosmos.Types.Telefonos 1.1.1

dotnet add package Cosmos.Types.Telefonos --version 1.1.1
                    
NuGet\Install-Package Cosmos.Types.Telefonos -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.Telefonos" 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.Telefonos" Version="1.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Cosmos.Types.Telefonos" />
                    
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.Telefonos --version 1.1.1
                    
#r "nuget: Cosmos.Types.Telefonos, 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.Telefonos@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.Telefonos&version=1.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Cosmos.Types.Telefonos&version=1.1.1
                    
Install as a Cake Tool

Cosmos.Types.Telefonos

NuGet

Telefono — Value Object de teléfono para el ERP Cosmos: valida indicativo de país (contra el catálogo de Cosmos.Types.Paises) y número. 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.Telefonos

Construcción

Telefono se construye con la factory pública Crear(...) : Result<Telefono>, que valida sin lanzar y devuelve el patrón EsExitoso / .Valor / .Errores. No es un VO de catálogo (no hay Obtener): el indicativo se valida contra el catálogo de Pais, pero el teléfono en sí lo aporta el usuario, así que la puerta correcta para ese input no confiable es Crear:

using Cosmos.Types.Telefonos;

var resultado = Telefono.Crear("+57", "3001234567");

if (resultado.EsExitoso)
    UsarTelefono(resultado.Valor);
else
    foreach (var error in resultado.Errores)
        Console.WriteLine(error.Codigo);   // V01 (indicativo), V02 (longitud), V03 (no numérico)

El número se valida, no se sanea: un carácter no numérico (letras, separadores) se rechaza con la regla V03 en vez de eliminarse en silencio; una longitud total fuera del rango 8–15 dígitos falla con V02 y un mensaje que reporta los dígitos reales. Solo se canonicaliza lo cosmético (trim de los bordes).

Forma serializada

{ "indicativoPais": "+57", "numero": "3001234567" }

Las claves son camelCase ancladas con [JsonPropertyName]: el wire es determinista e independiente del JsonSerializerOptions del consumidor.

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 valor que ya no cumple las reglas actuales (p. ej. un indicativo retirado del catálogo) igual se rehidrata.

Dependencias

  • Cosmos.Types.Abstractions (kernel: Result<T>)
  • Cosmos.Types.Paises (indicativos telefónicos)

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 (1)

Showing the top 1 NuGet packages that depend on Cosmos.Types.Telefonos:

Package Downloads
Cosmos.Types.Contactos

Value Object Contacto para el ERP Cosmos: nombre, rol (catálogo embebido de 7 roles) y medios de contacto (correos y/o teléfonos). 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 135 6/30/2026
1.1.0 108 6/24/2026