Giter Club home page Giter Club logo

jeanlescure / costa-rica-iban Goto Github PK

View Code? Open in Web Editor NEW
16.0 3.0 2.0 1.12 MB

Funciones utiles para extraer y validar información general de números de cuenta IBAN de Costa Rica

Home Page: https://www.npmjs.com/package/costa-rica-iban

JavaScript 0.02% HTML 92.29% Handlebars 0.06% Jupyter Notebook 6.55% Shell 0.12% TypeScript 0.96%
javascript javascript-library costa-rica costarica finance fintech fintech-utility open-source opensource beginner-friendly

costa-rica-iban's Introduction

imagen de la bandera de costa rica

Costa Rica IBAN

Tests

All Contributors

Funciones de Typescript/Javascript útiles para extraer y validar información general de números de cuenta IBAN de Costa Rica.

Esta herramienta fue creada en base al documento Codificaciones Generales Del Sistema De Pagos del Banco Central de Costa Rica (BCCR). El Jupyter Notebook usado para la extracción de datos puede ser visualizado en este enlace.

Herramienta en línea

Para validar números de cuenta IBAN y extraer información sobre las entidad bancaria emisora, puede hacerse uso de la siguiente página oficialmente mantenida por los colaboradores de este repositorio:

https://costaricaiban.org

Uso con Node.js

Instalación pnpm:

$ pnpm add costa-rica-iban

Instalación yarn:

$ yarn add costa-rica-iban

Instalación npm:

$ npm install costa-rica-iban

Uso de funciones:

import {
  getBankNameFromIBAN,
  getBankObjectFromIBAN,
} from 'costa-rica-iban';


// Cuenta IBAN en entidad bancaria sin representante:
let bankAcct = 'CR06010200009123456789';

console.log(getBankNameFromIBAN(bankAcct));
// > BAC San José S.A.


// Cuenta IBAN en entidad bancaria con representante:
bankAcct = 'CR06083700009123456789';

console.log(getBankNameFromIBAN(bankAcct));
// > Credomatic

console.log(getBankNameFromIBAN(bankAcct), true);
// > BAC San José S.A.


console.log(getBankObjectFromIBAN(bankAcct));
// >
// {
//   "code": "837",
//   "entity": "Credomatic",
//   "category": "ENTIDAD LIQUIDADORA DE SERVICIOS Y EMISORA DE TARJETAS",
//   "participation": "representada",
//   "representative": "BAC San José S.A."
// }

Funciones disponibles:

  • getCountryPrefixFromIBAN(iban)
  • verifyIBANCountryPrefix(iban)
  • verifyIBANLength(iban)
  • verifyIBANFormat(iban)
  • getBankCodeFromIBAN(iban)
  • getBankObjectFromIBAN(iban)
  • getBankCategoryFromIBAN(iban)
  • getBankNameFromIBAN(iban, returnRepresentative = false)

Uso de clase:

import CostaRicaIBAN from 'costa-rica-iban';

const cri = new CostaRicaIBAN('CR06010200009123456789');

console.log(cri.getBankObject());
// >
// {
//   "code": "102",
//   "entity": "BAC San José S.A.",
//   "participation": "asociada",
//   "representative": ""
// }

Funciones de clase disponibles:

  • .getCountryPrefix()
  • .getBankCode()
  • .getBankObject()
  • .getBankCategory()
  • .getBankName()

Para más detalles ver las pruebas en ./src/index.test.ts.

Uso en el navegador

<script src="/dist/costa-rica-iban.min.js"></script>
<script>
  var cri = new CostaRicaIBAN('CR06010200009123456789');

  document.write(cri.getBankObject());
</script>

Desarrollo

Clonar repositorio e instalar dependencias:

$ pnpm

Usamos TDD, por lo tanto se espera que se agreguen las pruebas pertinentes en ./src/index.test.ts.

Nuestro motor de pruebas es Jest. Para ejecutar las pruebas simplemente hace falta correr el comando:

$ pnpm test

Colaboración

Este repositorio tiene activados los issues y pull requests.

Para que un pull request sea tomado en cuenta deberá tener:

  • un issue que describa la funcionalidad existente que esté rota o la funcionalidad nueva propuesta
  • una descripción en el pull request que incluya mención del issue, un detalles de las soluciones/mejoras propuestas, y fuentes usadas para llegar a las soluciones/mejoras propuestas

Colaboradores ✨

Gracias a los colaboradores de este proyecto (emoji key):


Jean Lescure

💻 🖋 📖 🎨 💡 🚧 ⚠️ 📓

Diana Lescure

📓 ️️️️♿️

Rolando Gonzalez H.

👀

Kevin Wolf

🤔

Este proyecto sigue la especificación de all-contributors. ¡Colaboraciones de cualquier tipo son bienvenidas!

LICENCIA

Copyright 2020 Jean M. Lescure

Por la presente se concede permiso, libre de cargos, a cualquier persona que obtenga una copia de este software y de los archivos de documentación asociados (el "Software"), a utilizar el Software sin restricción, incluyendo sin limitación los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar, y/o vender copias del Software, y a permitir a las personas a las que se les proporcione el Software a hacer lo mismo, sujeto a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "COMO ESTÁ", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIALIZACIÓN, IDONEIDAD PARA UN PROPÓSITO PARTICULAR E INCUMPLIMIENTO. EN NINGÚN CASO LOS AUTORES O PROPIETARIOS DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O CUALQUIER OTRO MOTIVO, DERIVADAS DE, FUERA DE O EN CONEXIÓN CON EL SOFTWARE O SU USO U OTRO TIPO DE ACCIONES EN EL SOFTWARE.

costa-rica-iban's People

Contributors

allcontributors[bot] avatar dependabot[bot] avatar jeanlescure avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

costa-rica-iban's Issues

Colaboradores

Este issue permanecerá abierto para llevar cuenta de los colaboradores de este repositorio en conjunto con el bot de All Contributors 🤖

Agregar categoría de entidad financiera

En el documento de Codificaciones Generales Del Sistema De Pagos, las entidades están separadas de acuerdo a las siguientes 9 categorías:

  1. Banco
  2. Empresa financiera no bancaria
  3. Casa de cambio
  4. Entidad liquidadora de servicios y emisora de tarjeta
  5. Puesto de bolsa
  6. Fondo de pensión
  7. Institución pública
  8. Mutual de ahorro y préstamo
  9. Cooperativa de ahorro y préstamo

Tareas:

  • Actualizar cada objeto en array de bank-collection.json para que incluya la propiedad category con la categoría pertinente de la lista antes descrita, ej.:
  // ...
  {
    "code": "100",
    "entity": "Banco Central de Costa Rica",
    "category": "Banco",  // <= AGREGAR CATEGORY
    "participation": "asociada",
    "representative": ""
  },
  {
    "code": "102",
    "entity": "BAC San José S.A.",
  // ...
  • Crear pruebas y función getBankCategoryFromIBAN(iban)
  • Crear pruebas y función de clase .getBankCategory()
  • Actualizar index.html para que resultado de validación incluya la categoría en los datos devueltos

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.