currency_contry_exchange 1.9.0 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -70
- package/dist/main.cjs +6 -6
- package/dist/main.iife.js +4 -4
- package/dist/main.js +116 -119
- package/dist/main.umd.cjs +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,105 +1,129 @@
|
|
|
1
|
-
#
|
|
1
|
+
# currency_contry_exchange
|
|
2
2
|
|
|
3
|
-
Librería para formateo de monedas,
|
|
3
|
+
Librería TypeScript para formateo de monedas, formatos de documento (RUT/NIT), etiquetas localizadas y cálculo de intereses por país.
|
|
4
|
+
|
|
5
|
+
**Versión:** 1.9.2 • **Licencia:** MIT
|
|
6
|
+
|
|
7
|
+
## Contenido
|
|
8
|
+
- **Descripción rápida**
|
|
9
|
+
- **Instalación**
|
|
10
|
+
- **Uso (TypeScript)**
|
|
11
|
+
- **Referencia de la API**
|
|
12
|
+
- **Archivos principales**
|
|
13
|
+
- **Comandos útiles**
|
|
14
|
+
- **Contribuir**
|
|
15
|
+
|
|
16
|
+
## Descripción rápida
|
|
17
|
+
Provee utilidades para manejar formatos y cálculos locales (por ejemplo: CL, PE). Incluye formateo de monedas, validación y formateo de documentos, generación de propiedades para inputs numéricos y cálculo de intereses (simple/compuesto).
|
|
4
18
|
|
|
5
19
|
## Instalación
|
|
20
|
+
Usa el gestor que prefieras:
|
|
6
21
|
|
|
7
22
|
```bash
|
|
8
23
|
npm install currency_contry_exchange
|
|
24
|
+
pnpm add currency_contry_exchange
|
|
25
|
+
yarn add currency_contry_exchange
|
|
9
26
|
```
|
|
10
27
|
|
|
11
|
-
|
|
28
|
+
> Tipo de paquete: módulo ESM. Incluye definiciones TypeScript en `dist`.
|
|
29
|
+
|
|
30
|
+
## Uso (TypeScript)
|
|
12
31
|
|
|
13
32
|
```typescript
|
|
14
|
-
import { Faastlocation } from '
|
|
33
|
+
import { Faastlocation } from 'currency_contry_exchange';
|
|
15
34
|
|
|
16
|
-
//
|
|
17
|
-
const
|
|
35
|
+
// Instanciar con país por defecto (opcional)
|
|
36
|
+
const locale = new Faastlocation('cl');
|
|
37
|
+
|
|
38
|
+
// Ejemplos
|
|
39
|
+
const label = locale.labels({ contry: 'cl', label: 'cliente' });
|
|
40
|
+
const formatted = locale.formaterCurrency({ contry: 'cl', currency: 12500 });
|
|
41
|
+
const rutValid = locale.validateFormaterRut({ contry: 'pe', rut: '20123456-7', isValidate: true });
|
|
42
|
+
const props = locale.formaterInputProps({ contry: 'cl', typeCurrenzy: 'CLP', decimalScale: 0, fixedDecimalScale: true });
|
|
43
|
+
|
|
44
|
+
// Cálculo de interés simple
|
|
45
|
+
const interes = locale.interestAmountunt({ contry: 'cl', type: 'simple', anticipo: 650000, tasa: 1.8, plazo: 90 });
|
|
18
46
|
```
|
|
19
47
|
|
|
20
|
-
##
|
|
48
|
+
## Referencia de la API
|
|
21
49
|
|
|
22
|
-
|
|
23
|
-
Devuelve una etiqueta específica basada en el país y la etiqueta proporcionada.
|
|
50
|
+
Instancia principal: `Faastlocation` — provee los siguientes métodos:
|
|
24
51
|
|
|
25
|
-
- **
|
|
26
|
-
|
|
27
|
-
|
|
52
|
+
- **labels({ contry?, label }): string**
|
|
53
|
+
- Descripción: Devuelve una etiqueta localizada (por ejemplo, 'cliente' → 'Cliente').
|
|
54
|
+
- Notas: `contry` por defecto se toma de la instancia si se pasó al constructor.
|
|
28
55
|
|
|
29
|
-
- **
|
|
30
|
-
Valida o formatea un
|
|
56
|
+
- **validateFormaterRut({ contry?, rut, isValidate = false }): string | boolean**
|
|
57
|
+
- Descripción: Valida o formatea un RUT/NIT según país. Si `isValidate` es `true`, devuelve `boolean`.
|
|
31
58
|
|
|
32
|
-
- **
|
|
33
|
-
|
|
59
|
+
- **validateFormaterDoc({ contry?, rut, isValidate = false }): string | boolean**
|
|
60
|
+
- Descripción: Similar a `validateFormaterRut` pero orientado a documentos genéricos.
|
|
34
61
|
|
|
35
|
-
- **
|
|
36
|
-
|
|
62
|
+
- **formaterCurrency({ contry?, currency, typeCurrenzy? }): string**
|
|
63
|
+
- Descripción: Formatea un número como moneda (separadores, símbolos según país/tipo).
|
|
37
64
|
|
|
38
|
-
- **
|
|
39
|
-
|
|
65
|
+
- **formaterInputProps({ contry?, typeCurrenzy?, decimalScale?, fixedDecimalScale? }): object**
|
|
66
|
+
- Descripción: Retorna propiedades convenientes para componentes de input numérico (ej. NumberFormat).
|
|
40
67
|
|
|
41
|
-
- **
|
|
42
|
-
|
|
68
|
+
- **formaterAmount({ contry?, amount, typeCurrenzy? }): string**
|
|
69
|
+
- Descripción: Otro helper para formateo de montos con reglas locales.
|
|
43
70
|
|
|
44
|
-
- **
|
|
45
|
-
|
|
71
|
+
- **rutValidatorIsNatural({ contry?, rut }): boolean**
|
|
72
|
+
- Descripción: Indica si el RUT/NIT corresponde a una persona natural.
|
|
46
73
|
|
|
47
|
-
- **
|
|
48
|
-
|
|
74
|
+
- **symbolCurrencyIndicadorCartera({ contry? }): string**
|
|
75
|
+
- Descripción: Símbolo de moneda para el país (ej. `$`, `S/`).
|
|
49
76
|
|
|
50
|
-
- **
|
|
51
|
-
|
|
52
|
-
- Para Chile (`cl`): retorna entero, redondeando hacia arriba solo si hay decimales.
|
|
53
|
-
- Para Perú (`pe`): retorna con 2 decimales.
|
|
54
|
-
- Soporta cálculo individual o por arreglo (`array_interes`).
|
|
77
|
+
- **formaterNumDocument({ contry?, value }): string**
|
|
78
|
+
- Descripción: Formatea números de documento (agrega puntos/guiones según normativa).
|
|
55
79
|
|
|
56
|
-
|
|
80
|
+
- **interestAmountunt({ contry?, type, anticipo, tasa, plazo, array_interes? }): number | string | any[]**
|
|
81
|
+
- Descripción: Calcula interés simple o compuesto. Para Chile la salida suele ser entero; para Perú tiene 2 decimales.
|
|
57
82
|
|
|
58
|
-
|
|
59
|
-
const location = new Faastlocation('cl');
|
|
83
|
+
Los tipos están disponibles en la definición TypeScript incluida.
|
|
60
84
|
|
|
61
|
-
|
|
62
|
-
console.log(label);
|
|
85
|
+
## Archivos principales (resumen del código fuente)
|
|
63
86
|
|
|
64
|
-
|
|
65
|
-
|
|
87
|
+
- `src/main.ts`: Implementación de la clase `Faastlocation` y la API pública.
|
|
88
|
+
- `src/utils/const.ts`: Constantes, labels y símbolos de moneda.
|
|
89
|
+
- `src/utils/Contrycode.ts`: Normalización de códigos de país (entrada flexible: 'CL','cl','chile').
|
|
90
|
+
- `src/utils/FormaterCurrency.ts`: Formateo de moneda por país.
|
|
91
|
+
- `src/utils/FormaterAmount.ts`: Helpers de formateo de montos.
|
|
92
|
+
- `src/utils/formaterNumDocument.ts`: Formateo de números de documento.
|
|
93
|
+
- `src/utils/InterestAmount.ts`: Cálculo de intereses (simple y compuesto).
|
|
94
|
+
- `src/utils/Propsinput.ts`: Generación de props para inputs numéricos.
|
|
95
|
+
- `src/utils/Rutvalidatorisnatural.ts`: Reglas para validar personas naturales.
|
|
96
|
+
- `src/utils/validaterutsformater.ts`: Funciones que formatean/validan RUTs y documentos.
|
|
66
97
|
|
|
67
|
-
|
|
68
|
-
console.log(formattedCurrency);
|
|
98
|
+
Si vas a documentar internamente alguna función adicional, revisa los archivos en `src/utils`.
|
|
69
99
|
|
|
70
|
-
|
|
71
|
-
console.log(inputProps);
|
|
100
|
+
## Comandos útiles
|
|
72
101
|
|
|
73
|
-
|
|
74
|
-
|
|
102
|
+
- **Desarrollo**: `npm run dev` (inicia Vite)
|
|
103
|
+
- **Build**: `npm run build` (compila TypeScript y build de Vite)
|
|
104
|
+
- **Tests**: `npm run test` — usa `jest`.
|
|
105
|
+
- **Tests (watch)**: `npm run test:watch`
|
|
106
|
+
- **Coverage**: `npm run test:coverage`
|
|
75
107
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
{ id: 2, anticipo: 2000, tasa: 1.5, plazo: 30 }
|
|
82
|
-
]
|
|
83
|
-
});
|
|
84
|
-
console.log(interestArray); // [{ id: 1, result: },{ id: 2, result: }]
|
|
85
|
-
```
|
|
108
|
+
## Tipos y distribución
|
|
109
|
+
|
|
110
|
+
El paquete publica `main` y `module` en `dist/` y provee definiciones TypeScript (`types`), por lo que la integración en proyectos TS es directa.
|
|
111
|
+
|
|
112
|
+
## Contribuir
|
|
86
113
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
| validateFormaterDoc | { contry: string, rut: string, isValidate: boolean } | string/boolean | Valida o formatea un documento según país. |
|
|
94
|
-
| formaterCurrency | { contry: string, currency: number, typeCurrenzy: string } | string | Formatea un valor monetario según país y tipo de moneda. |
|
|
95
|
-
| formaterInputProps | { contry: string, typeCurrenzy: string, decimalScale?: number, fixedDecimalScale?: boolean } | object | Devuelve propiedades de input adaptadas al país y moneda. |
|
|
96
|
-
| formaterAmount | { contry: string, amount: number, typeCurrenzy: string } | string | Devuelve el monto formateado según país. |
|
|
97
|
-
| rutValidatorIsNatural | { contry: string, rut: string } | boolean | Valida si el rut es de persona natural. |
|
|
98
|
-
| symbolCurrencyIndicadorCartera | { contry: string } | string | Devuelve el símbolo de la moneda para el país. |
|
|
99
|
-
| formaterNumDocument | { contry: string, value: string } | string | Formatea el número de documento según país. |
|
|
100
|
-
| interestAmountunt | { contry: string, type: 'simple' \| 'compuesto', anticipo: number, tasa: number, plazo: number, array_interes?: any[] } | number/string/any[] | Calcula interés simple o compuesto según país. CL: entero, redondeo arriba si hay decimales. PE: 2 decimales. |
|
|
114
|
+
1. Haz fork y crea una rama con tu cambio.
|
|
115
|
+
2. Añade pruebas unitarias para nuevas funcionalidades en `src/__tests__`.
|
|
116
|
+
3. Abre un PR describiendo el cambio.
|
|
117
|
+
|
|
118
|
+
## Licencia
|
|
119
|
+
MIT — ver `package.json` (campo `license`).
|
|
101
120
|
|
|
102
121
|
---
|
|
103
122
|
|
|
104
|
-
|
|
105
|
-
|
|
123
|
+
Si quieres, puedo:
|
|
124
|
+
|
|
125
|
+
- Generar un `docs/API.md` con la lista completa de funciones y ejemplos detallados.
|
|
126
|
+
- Añadir un `USAGE.md` con casos de uso y snippets.
|
|
127
|
+
- Ejecutar los tests y adjuntar resultados.
|
|
128
|
+
|
|
129
|
+
Indica cuál prefieres y lo hago a continuación.
|