creditu-common-library
v2.3.8
Published
Common library for Creditu applications
Downloads
1,617
Readme
Creditú CommonLibrary
Descripción
Esta librería, contiene los módulos y funciones matemáticas y financerias para el manejo de cálculos en el producto digital.
Instalar en tu repositorio
npm i creditu-common-library
Uso en tu repositorio
La librería tiene dos módulos:
Math
: expone el serviceMathService
, que tiene funciones para realizar operaciones matemáticas básicas:- add: (Suma)
add = (...numbers: number[]): number
- substract: (Resta)
subtract = (...numbers: number[]): number
- multiply: (Multiplicación)
multiply = (...numbers: number[]): number
- divide: (División)
divide = (...numbers: number[]): number
- round: (Redondeo)
round = (num: number, resolution: number): number
- add: (Suma)
Finance
: expone varios servicios orientados a un dominio específico, y cuyas funciones resuelven diversas fórmulas financieras en su ámbito. Los services expuestos son:ConstantsService
: es un servicio auxiliar, que contiene funciones que calculan constantes que, a su vez, agrupan parametros conocidos para diversos propósitos en cálculos financieros.CreditInsuranceService
: este servicio tiene funciones de cálculo para el dominioSeguros
.FinanceService
: este servicio auxiliar tiene funciones genéricas de funciones financieras, como interés anual, mensual, etc.PaymentService
: este servicio tiene funciones de cálculo para el dominioDividendo
.LoanToValueService
: este servicio tiene funciones de cálculo para el dominioLTV
.MaximumLocalService
: este servicio tiene funciones de cálculo para el dominioMáximos Locales
.OfferService
: este servicio tiene funciones de cálculo para el dominioOferta
.OperationalExpensesService
: este servicio tiene funciones de cálculo para el dominioGastos Operacionales
.
Además, existen models que sirven de apoyo para estandarizar los parámetros de algunas funciones.
Para más información sobre las funciones, sus usos, parámetros de entrada y salida, puedes revisar cada servicio y su comentario expecífico. La mayoría de estas funciones, tienen una definición matemática asociada. Encontrarás un link con esa definición junto con cada función.
Uso de módulos y servicios en tu repositorio
Módulo Math:
import { MathService } from 'creditu-common-library/math';
...
const mathService = new MathService(true, 10);
...
const result = mathService.add(1,2);
...
Módulo Finance:
Services:
import { OfferService } from 'creditu-common-library/finance/services';
Models:
import { OfferInputs } from 'creditu-common-library/finance/models';
Functions:
...
import { OfferService } from 'creditu-common-library/finance/services';
import { OfferInputs } from 'creditu-common-library/finance/models';
import { OfferParams } from 'creditu-common-library/finance/models';
...
private offerService: OfferService;
...
const offerInputs: OfferInputs = ...
const offerParams: OfferParams = ...
const result = this.offerService.calculateCreditAmountToOffer(offerInputs, offerParams);
...
Desarrollo local
- Crea un symlink global para una dependencia con
npm link
. - Hazle saber al proyecto donde probarás tu paquete que use el enlace simbólico global con
npm link creditu-common-library
.
Uso
Entonces en el directorio del paquete en desarrollo creditu-common-library ejecutaremos.
$ npm link # paso 1
Luego en el directorio del proyecto donde probarás el paquete:
npm link creditu-common-library # paso 2
Trouble shouting
En caso de problemas,
- Verificar que la version de node debe ser la misma que el enlace creado en el proyecto utilizado.
- Para crear el enlace simbólico copiar el archivo
package.json
en el directoriolib
, y en este ejecutarnpm link
.
Ahora puedes editar, transpilar o ejecutar pruebas en creditu-common-library. Todo mientras lo pruebas en un proyecto real. Los enlaces simbólicos son locales y no serás commiteados en git. Y cuando estés listo para compartir tu código, puedes publicar los cambios de creditu-common-library en un registry npm.
De vuelta a la normalidad
Cuando ya no desees utilizar la versión local de creditu-common-library, elimina el enlace simbólico. Pero cuidado, npm unlink es un alias para la desinstalación de npm (npm uninstall), no refleja el comportamiento de npm link.
Por eso en el directorio del proyecto donde estabas probando el paquete:
npm unlink --no-save creditu-common-library && npm install
Luego puedes limpiar el enlace global, aunque su presencia no interferirá con nada. En el directorio del paquete en desarollo:
npm unlink # elimina el symlink