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 CHANGED
@@ -1,105 +1,129 @@
1
- # TypeScript
1
+ # currency_contry_exchange
2
2
 
3
- Librería para formateo de monedas, documentos, etiquetas y cálculo de intereses según país.
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
- ## Importación y Uso
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 'faastlocation';
33
+ import { Faastlocation } from 'currency_contry_exchange';
15
34
 
16
- // Puedes inicializar con país por defecto (opcional)
17
- const location = new Faastlocation('cl'); // o sin parámetro para usar el default
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
- ## Métodos Disponibles
48
+ ## Referencia de la API
21
49
 
22
- - **labels({ contry, label }): string**
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
- - **validateFormaterRut({ contry, rut, isValidate }): string | boolean**
26
- Valida o formatea un RUT (Rol Único Tributario) según el país especificado.
27
- Si `isValidate` es `true`, valida el rut; si es `false` (por defecto), lo formatea.
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
- - **validateFormaterDoc({ contry, rut, isValidate }): string | boolean**
30
- Valida o formatea un documento según el país.
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
- - **formaterCurrency({ contry, currency, typeCurrenzy }): string**
33
- Formatea una cantidad de moneda específica según el país.
59
+ - **validateFormaterDoc({ contry?, rut, isValidate = false }): string | boolean**
60
+ - Descripción: Similar a `validateFormaterRut` pero orientado a documentos genéricos.
34
61
 
35
- - **formaterInputProps({ contry, typeCurrenzy, decimalScale, fixedDecimalScale }): object**
36
- Devuelve propiedades de objeto específicas según el país, útil para librerías como NumberFormat.
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
- - **formaterAmount({ contry, amount, typeCurrenzy }): string**
39
- Formatea una cantidad según el país especificado.
65
+ - **formaterInputProps({ contry?, typeCurrenzy?, decimalScale?, fixedDecimalScale? }): object**
66
+ - Descripción: Retorna propiedades convenientes para componentes de input numérico (ej. NumberFormat).
40
67
 
41
- - **rutValidatorIsNatural({ contry, rut }): boolean**
42
- Valida si el rut corresponde a una persona natural según el país.
68
+ - **formaterAmount({ contry?, amount, typeCurrenzy? }): string**
69
+ - Descripción: Otro helper para formateo de montos con reglas locales.
43
70
 
44
- - **symbolCurrencyIndicadorCartera({ contry }): string**
45
- Devuelve el símbolo de la moneda para el país.
71
+ - **rutValidatorIsNatural({ contry?, rut }): boolean**
72
+ - Descripción: Indica si el RUT/NIT corresponde a una persona natural.
46
73
 
47
- - **formaterNumDocument({ contry, value }): string**
48
- Formatea el número de documento según el país.
74
+ - **symbolCurrencyIndicadorCartera({ contry? }): string**
75
+ - Descripción: Símbolo de moneda para el país (ej. `$`, `S/`).
49
76
 
50
- - **interestAmountunt({ contry, type, anticipo, tasa, plazo, array_interes }): number | string | any[]**
51
- Calcula el interés simple o compuesto según país y parámetros.
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
- ## Ejemplo de Uso
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
- ```typescript
59
- const location = new Faastlocation('cl');
83
+ Los tipos están disponibles en la definición TypeScript incluida.
60
84
 
61
- const label = location.labels({ contry: 'cl', label: 'cliente' });
62
- console.log(label);
85
+ ## Archivos principales (resumen del código fuente)
63
86
 
64
- const formattedRut = location.validateFormaterRut({ contry: 'pe', rut: '123456789', isValidate: true });
65
- console.log(formattedRut);
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
- const formattedCurrency = location.formaterCurrency({ contry: 'cl', currency: 1000 });
68
- console.log(formattedCurrency);
98
+ Si vas a documentar internamente alguna función adicional, revisa los archivos en `src/utils`.
69
99
 
70
- const inputProps = location.formaterInputProps({ contry: 'cl', typeCurrenzy: 'CLP' });
71
- console.log(inputProps);
100
+ ## Comandos útiles
72
101
 
73
- const interest = location.interestAmountunt({ contry: 'cl', type: 'simple', anticipo: 650000, tasa: 1.8, plazo: 90 });
74
- console.log(interest); // 35100
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
- const interestArray = location.interestAmountunt({
77
- contry: 'pe',
78
- type: 'compuesto',
79
- array_interes: [
80
- { id: 1, anticipo: 1000, tasa: 2, plazo: 60 },
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
- ## Tabla de Métodos
88
-
89
- | Método | Parámetros | Retorno | Descripción |
90
- |------------------------------- |---------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------------------------|
91
- | labels | { contry: string, label: string } | string | Devuelve una etiqueta localizada. |
92
- | validateFormaterRut | { contry: string, rut: string, isValidate: boolean } | string/boolean | Valida o formatea un RUT según país. |
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
- **Nota:**
105
- Puedes inicializar la instancia con el país por defecto, así no necesitas pasar `contry` en cada método.
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.