rutificagor

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2024 License: MIT Imports: 6 Imported by: 0

README

Rutificagor

Rutificagor es una biblioteca en Go (Golang) diseñada para manipular y validar RUTs (Rol Único Tributario) chilenos. La biblioteca permite generar, validar y formatear RUTs con facilidad.

Instalación

Para usar rutificagor en tu proyecto, puedes instalarlo mediante go get:

go get github.com/grayjacketstudios/rutificagor

Uso

Importar el paquete
import (
    "github.com/grayjacketstudios/rutificagor"
)
Funciones Disponibles
  1. ObtenerDV Genera (calcula) el dígito verificador (DV) de un RUT.
dv, err := rutificagor.ObtenerDV("11111111")
if err != nil {
    // Manejo del error
}
fmt.Println(dv) // Output: '1'
  1. ValidarRut Valida un RUT dado en diferentes formatos.
isValid, err := rutificagor.ValidarRut("11.111.111-1")
if err != nil {
    // Manejo del error
}
fmt.Println(isValid) // Output: true
  1. GenerarRut Genera un RUT aleatorio dentro de un rango específico, con el DV correspondiente.
rut := rutificagor.GenerarRut(8000000, 24000000)
fmt.Println(rut) // Output: "12345678-9"
  1. GenerarRutRandom Genera un RUT aleatorio en un rango predefinido (4 millones a 99 millones).
rut := rutificagor.GenerarRutRandom()
fmt.Println(rut) // Output: "87654321-K"
  1. FormatearRut Formatea un RUT en diferentes estilos, según la opción especificada.
  • Opción 1: Formato con puntos y guion (ej. "11.111.111-1")
  • Opción 2: Sin puntos, con guion (ej. "11111111-1")
  • Opción 3: Sin puntos ni guion (ej. "111111111")
rutFormated, err := rutificagor.FormatearRut("11111111-1", 1)
if err != nil {
    // Manejo del error
}
fmt.Println(rutFormated) // Output: "11.111.111-1"

Manejo de Errores

La biblioteca utiliza errores personalizados para manejar casos específicos como entradas vacías, entradas inválidas o opciones no válidas.

Ejemplo:

if err != nil {
    switch err.(type) {
    case *customerrors.EmptyInputError:
        fmt.Println("La entrada está vacía.")
    case *customerrors.InvalidInputError:
        fmt.Println("La entrada es inválida.")
    case *customerrors.InvalidOptionError:
        fmt.Println("La opción de formato es inválida.")
    default:
        fmt.Println("Error desconocido.")
    }
}

Contribuir

Las contribuciones son bienvenidas. Por favor, abre un "issue" o envía un "pull request" en GitHub.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para obtener más detalles.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatearRut

func FormatearRut(rut string, formatOption int) (rutFormated string, err error)

func GenerarRut

func GenerarRut(min, max int) string

Genera un rut al azar en el rango indicado, con el DV correspondiente Se debe pasar el rut minimo y maximo que puede llegar a usar. Ejemplo: rutificagor.GenerarRut(8000000,24000000) -> genera un rut entre 8 millones y 24 millones

func GenerarRutRandom

func GenerarRutRandom() string

func ObtenerDV

func ObtenerDV(rut string) (dv rune, err error)

Genera el digito verificador de un rut, a partir de un string con los numeros requeridos, los cuales pueden estar o no separados por puntos.

func ValidarRut

func ValidarRut(rut string) (bool, error)
Se valida el rut entregado, separando el digito verificador y constrastando con la funcion ObtenerDV, obteniendo un boolean y error como respuesta

Se puede enviar el rut en los siguientes formatos:

  • "11.111.111-1" (separados con punto y guion)
  • "11111111-1" (separacion del dv con guion)
  • "111111111" (sin puntos ni guion, incluyendo el DV)

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL