crypto-price.js
Advanced tools
Comparing version 0.1.2 to 0.2.0
29
index.js
@@ -55,2 +55,30 @@ // index.js | ||
// Función para calcular el valor de una cantidad de criptomoneda en una moneda de referencia | ||
async function calculateValue(coin, quantity, currency) { | ||
try { | ||
// Obtener los datos de la criptomoneda | ||
const response = await axios.get(`https://api.coingecko.com/api/v3/coins/${coin}`); | ||
const data = response.data; | ||
// Convertir currency a minúsculas y separar las propiedades anidadas por puntos | ||
const currencyLowerCase = currency.toLowerCase(); | ||
const properties = currencyLowerCase.split('.'); | ||
let value = data; | ||
for (const prop of properties) { | ||
if (!value[prop]) { | ||
throw new Error(`La propiedad "${prop}" no existe para la criptomoneda ${coin}`); | ||
} | ||
value = value[prop]; | ||
} | ||
// Calcular el valor total | ||
const totalValue = quantity * value; | ||
return totalValue; | ||
} catch (error) { | ||
throw new Error(`Error al calcular el valor: ${error.message}`); | ||
} | ||
} | ||
// Exportar las funciones para que estén disponibles para otros módulos | ||
@@ -60,2 +88,3 @@ module.exports = { | ||
listTopCryptos, | ||
calculateValue, | ||
}; |
{ | ||
"name": "crypto-price.js", | ||
"version": "0.1.2", | ||
"version": "0.2.0", | ||
"description": "Crypto information", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -34,8 +34,8 @@ # crypto-price.js | ||
### getCryptoPrice(coinId, property) | ||
### `getCryptoPrice(coinId, property)` | ||
La función getCryptoPrice permite obtener un valor específico de una criptomoneda a partir de su identificador (coinId) y la propiedad (property) en el objeto JSON de la respuesta. | ||
Parámetros | ||
- coinId (string): El identificador de la criptomoneda que deseas consultar. Por ejemplo, "bitcoin" para Bitcoin. | ||
- property (string): La propiedad en el objeto JSON de la respuesta que deseas obtener. Por ejemplo, "market_data.current_price.mxn" para obtener el precio en pesos mexicanos. | ||
- `coinId` (string): El identificador de la criptomoneda que deseas consultar. Por ejemplo, "bitcoin" para Bitcoin. | ||
- `property` (string): La propiedad en el objeto JSON de la respuesta que deseas obtener. Por ejemplo, "market_data.current_price.mxn" para obtener el precio en pesos mexicanos. | ||
@@ -58,7 +58,7 @@ ### Ejemplo: | ||
### listTopCryptos(limit) | ||
### `listTopCryptos(limit)` | ||
La función listTopCryptos permite listar las principales criptomonedas por capitalización de mercado. Puedes especificar el número máximo de criptomonedas que deseas listar utilizando el parámetro limit. | ||
Parámetros | ||
- limit (number, opcional): El número máximo de criptomonedas que deseas listar. El valor predeterminado es 10. | ||
- `limit` (number, opcional): El número máximo de criptomonedas que deseas listar. El valor predeterminado es 10. | ||
@@ -80,10 +80,50 @@ ### Ejemplo: | ||
### `calculateValue(coin, quantity, currency)` | ||
La función `calculateValue` permite calcular el valor total de una cantidad específica de una criptomoneda en una moneda de referencia. Esta función toma tres parámetros: | ||
- `coin` (string): El nombre de la criptomoneda que deseas calcular. | ||
- `quantity` (number): La cantidad de la criptomoneda que deseas calcular. | ||
- `currency` (string): La moneda de referencia en la que deseas calcular el valor. Esta moneda debe estar en minúsculas y puede incluir propiedades anidadas, separadas por puntos. Por ejemplo, "market_data.current_price.mxn" para obtener el precio en pesos mexicanos. | ||
#### EJEMPLO | ||
```javascript | ||
const cryptoPrice = require('crypto-price.js'); | ||
(async () => { | ||
try { | ||
const coin = "bitcoin"; | ||
const quantity = 3; | ||
const currency = "market_data.current_price.mxn"; | ||
const value = await cryptoPrice.calculateValue(coin, quantity, currency); | ||
console.log(`El valor de ${quantity} ${coin} en MXN es: ${value.toFixed(2)}`); | ||
} catch (error) { | ||
console.error(error); | ||
} | ||
})(); | ||
# Changelog | ||
### 5 of September (0.1.1 - 0.1.2) | ||
### 6 de Septiembre (0.2.0 - 0.2.1) | ||
- Se añadio documentación (**README.md**) y se corrigio algunas cosas. | ||
#### 0.2.0 | ||
- Se añadio la función `calculateValue`. | ||
- La documentación fue actualizada con los cambios correspondientes. | ||
### 4 of September (0.1.0) | ||
#### 0.2.1 | ||
- Correción de Bugs | ||
### 5 de Septiembre (0.1.1 - 0.1.2) | ||
#### 0.1.1 | ||
- Se añadio documentación (**README.md**) | ||
#### 0.1.2 | ||
- Se corrigio algunas cosas. | ||
### 4 de Septiembre (0.1.0) | ||
- El npm fue creado y publicado. |
14
test.js
@@ -1,7 +0,19 @@ | ||
const { getCryptoInfo } = require('./index'); | ||
const { getCryptoInfo, listTopCryptos, calculateValue } = require('./index'); | ||
(async () => { | ||
try { | ||
// Prueba de getCryptoInfo | ||
const bitcoinMXNPrice = await getCryptoInfo('bitcoin', 'market_data.current_price.mxn'); | ||
console.log('Precio de Bitcoin en MXN:', bitcoinMXNPrice); | ||
// Prueba de listTopCryptos | ||
const topCryptos = await listTopCryptos(10); | ||
console.log('Principales criptomonedas:', topCryptos); | ||
// Prueba de calculateValue | ||
const coin = 'bitcoin'; | ||
const quantity = 3; | ||
const currency = 'market_data.current_price.mxn'; | ||
const calculatedValue = await calculateValue(coin, quantity, currency); | ||
console.log(`El valor de ${quantity} ${coin} en ${currency} es: ${calculatedValue.toFixed(2)}`); | ||
} catch (error) { | ||
@@ -8,0 +20,0 @@ console.error(error); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
7850
93
126