Une bibliothèque simple pour récupérer les prix de cryptomonnaies en fonction de paires (ex. : BTC/USD) à l'aide de l'API de CoinGecko.
-
Clonez le projet depuis GitHub (ou téléchargez les fichiers) :
git clone https://github.com/username/crypto-coins-price-lib.git cd crypto-coins-price-lib
-
Installez les dépendances :
npm install
-
Compilez la bibliothèque en JavaScript :
npm run res:build
-
Votre bibliothèque est prête à être utilisée !
Dans votre projet JavaScript/TypeScript, importez la bibliothèque après l'installation.
Exemple d'importation dans un fichier JS/TS :
const { createClient, getPriceWithPromise, getPrice } = require("./path/to/compiled-lib");
Avant de récupérer des prix, créez un client. Vous pouvez utiliser les paramètres par défaut ou fournir vos propres configurations.
const client = createClient();
// Exemple avec configuration personnalisée
const customClient = createClient({
baseUrl: "https://api.coingecko.com/api/v3",
timeout: 10000, // 10 secondes
retryAttempts: 5, // 5 tentatives en cas d'échec
});
Récupérez les prix d'une paire (ex. : BTC/USD
) en utilisant getPriceWithPromise
.
getPriceWithPromise(client, "bitcoin", "usd")
.then((result) => {
if (result.Ok) {
console.log("Success:", result.Ok); // Affiche les détails de la paire
} else {
console.error("Error:", result.Error); // Affiche l'erreur
}
})
.catch((err) => {
console.error("Unexpected Error:", err);
});
Si vous préférez utiliser des callbacks :
getPrice(client, "bitcoin", "usd",
(data) => {
console.log("Success:", data);
},
(error) => {
console.error("Error:", error);
});
Lors de la création du client, vous pouvez personnaliser les paramètres suivants :
Option | Type | Par défaut | Description |
---|---|---|---|
baseUrl |
string | https://api.coingecko.com/api/v3 |
URL de base pour les appels API. |
timeout |
int | 5000 (5 secondes) |
Temps maximum pour attendre une réponse. |
retryAttempts |
int | 3 |
Nombre de tentatives en cas d'échec. |
Si vous travaillez directement avec ReScript, voici un exemple d'utilisation dans un fichier .res
:
let client = PriceLib.createClient()
PriceLib.getPriceWithPromise(client, "bitcoin", "usd")
->Promise.then(result => {
switch result {
| Ok(data) => Js.log({"message": "Success", "data": data})
| Error(error) => Js.log({"message": "Error", "error": error})
}
Promise.resolve()
})
-
Assurez-vous que les dépendances ReScript sont installées :
npm install rescript @rescript/core rescript-webapi
-
Lancez la commande pour compiler :
npm run res:build
- Support pour plusieurs paires en un seul appel.
- Gestion avancée du cache.
- Prise en charge de nouvelles API.
Ce projet est sous licence MIT.