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
<PackageReference Include="Cosmos.Types.Telefonos" Version="1.1.1" />
<PackageVersion Include="Cosmos.Types.Telefonos" Version="1.1.1" />
<PackageReference Include="Cosmos.Types.Telefonos" />
paket add Cosmos.Types.Telefonos --version 1.1.1
#r "nuget: Cosmos.Types.Telefonos, 1.1.1"
#:package Cosmos.Types.Telefonos@1.1.1
#addin nuget:?package=Cosmos.Types.Telefonos&version=1.1.1
#tool nuget:?package=Cosmos.Types.Telefonos&version=1.1.1
Cosmos.Types.Telefonos
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 | Versions 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. |
-
net10.0
- Cosmos.Types.Abstractions (>= 1.1.1)
- Cosmos.Types.Paises (>= 1.1.1)
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.