2021-10-18 13:24:38 +00:00
|
|
|
console.log("util.js loaded");
|
|
|
|
|
2021-10-19 08:31:51 +00:00
|
|
|
export const API_URL = "https://swapi.dev/api";
|
2021-10-18 13:24:38 +00:00
|
|
|
|
|
|
|
/**
|
2021-10-18 19:27:45 +00:00
|
|
|
* Envoie une requête GET à l'api swappi
|
2021-10-18 13:24:38 +00:00
|
|
|
* @param {string} endpoint l'endpoint à interroger (ex: planets)
|
|
|
|
* @param {function} callback La fonction qui traitera la réponse JSON en retour
|
|
|
|
*/
|
2021-10-19 08:31:51 +00:00
|
|
|
export const api_call = (url, callback) => {
|
|
|
|
fetch(url)
|
2021-10-18 13:24:38 +00:00
|
|
|
.then(response => {
|
|
|
|
return response.json();
|
|
|
|
})
|
|
|
|
.then(jsonResp => {
|
|
|
|
callback(jsonResp);
|
2021-10-18 19:27:45 +00:00
|
|
|
})
|
|
|
|
.catch(error => {
|
|
|
|
console.log(`Erreur lors de l'appel API :
|
|
|
|
${error.message}`);
|
2021-10-18 13:24:38 +00:00
|
|
|
});
|
2021-10-18 15:32:20 +00:00
|
|
|
}
|
|
|
|
|
2021-10-19 10:37:14 +00:00
|
|
|
/**
|
|
|
|
* Récupère le numéro de la page courante
|
|
|
|
* @param {string} url l'url d'un résultat multipage (qui se termine par ?page=2 par exemple)
|
|
|
|
* @returns Le numéro de la page de l'url
|
|
|
|
*/
|
|
|
|
export const getPage = (url) => {
|
|
|
|
tabUrl = url.split('/');
|
|
|
|
pageEgal = tabUrl[tabUrl.length - 1];
|
|
|
|
tabPageEgal = pageEgal.split('=');
|
|
|
|
numeroPage = tabPageEgal[tabPageEgal.length - 1];
|
|
|
|
|
|
|
|
return numeroPage;
|
|
|
|
}
|