UNPKG

@rom13/genius

Version:

<img src="https://zupimages.net/up/22/22/w3tu.png" width="400" />

504 lines (362 loc) 13.8 kB
# Genius JS <img src="https://zupimages.net/up/22/22/ochc.png" width="400" /> ## GeniusJS (Node Version) Genius est une bibliothèque de soutien pour le développement de vos applications. ## Requis : Installation Dans votre terminal tapez ceci : ```javascript npm install @rom13/genius ``` Dans votre app importez Genius : ```javascript const { Genius } = require("@rom13/genius"); ``` Création d'un Genius : ```javascript const genius = new Genius(); ``` ## Genius.date() return la date formaté en français ```javascript let date = genius.date(); console.log(date); // return = 30/05/2022 ``` ## Genius.heure() return l'heure correctement formaté ```javascript let heure = genius.heure(); console.log(heure); // return = 00:04 let heurecomplete = genius.heure("complet"); console.log(heurecomplete); // return = 00:04:02 ``` ## Genius.nbaleatoire(maximum) return un nombre aleatoire entre 1 et le nombre maximum (inclu !) ```javascript let nombre = genius.nbaleatoire(12); console.log(nombre); // return = 1 ou 2 ou 3........ou 12 ! ``` ## Genius.nbaleatoireminmax(minimum,maximum) return un nombre aleatoire entre le nombre minimum et le nombre maximum (inclu !) ```javascript let nombre = genius.nbaleatoireminmax(0, 24); console.log(nombre); // return = 0 ou 1 ou 2........ou 24 ! ``` ## Genius.recupnb(string,transformer) Récupère uniquement les nombres d'un string et return le résultat Transforme le résultat en type number (optionnel) ```javascript let mot = "Le 34 c'est le sud"; console.log(genius.recupnb(mot)); // log 34 genius.recupnb(mot); // return 34 (type string) genius.recupnb(mot, "transformer"); // return 34 (type number ``` ## Genius.recupsommeObjet(option) return la somme des propriétés d'un objet ```javascript const objet = { nom: "rom", nombre: 13, hobbie: "art", code: 34, }; console.log(genius.recupsommeObjet(objet, "string")); // ici on additionne les propriétés et on renvoi une version string // return => rom 13 art 34 console.log(genius.recupsommeObjet(objet, "number")); // ici on additionne les nombres entres eux et on renvoi la somme (type number) // return 47 (13+34) ``` ## Genius.moyenne(nb1,nb2,nb3,nb4,nb5,nb6,nb7,nb8,nb9,nb10) Return la moyenne arrondi au centième près 2 nombres minimum, jusqu'à 10 nombres (optionnel) ```javascript let moyenne = genius.moyenne(11, 11, 15, 18); console.log(moyenne); // log 13.75 ``` ## Genius.bigmoyenne(tableau) Return la moyenne arrondi au centième près nombres illimités (array) ```javascript let nb = [12, 12, 12, 45]; console.log(genius.bigmoyenne(nb)); // return 20.25 ``` ## Genius.pourcent(valeurmax,indice,option) Return le pourcentage de l'indice par rapport à votre valeur max ```javascript genius.pourcent(500, 250); // return 50 (type number) genius.pourcent(500, 250, "string"); // return 50% (type string) genius.pourcent(500, 250, "log"); // return 50 (type number) et log => 250 représente 50% de 500(100%) ``` ## Genius.ristournePourcent(prix,ristourne,option) Return le montant final après une ristoure en % ```javascript ristournePourcent(150, 75); // return 37.5 (type number) ristournePourcent(150, 75, "log"); // return 37.5 (type number) // et log => La ristourne à réduit le prix initial de 150 à 37.5 ! ``` ## Genius.gmail(mailcompte, motdepassedapplication, destinataire, sujet, contenudumail) envoi un mail à condition que les informations soient correctement renseignées. ATTENTION : necessite un compte gmail, un mot de passe d'application du compte ( => voir gmail, le mot de passe d'application != de votre mot de passe de compte) ```javascript genius.gmail( "exemple@gmail.com", "edddkfioppdl", "john@outlook.fr", "contact", "Ceci est un mail envoyé par Genius Js" ); // (OK) log = email envoyé avec succès à john@outlook.fr, contenu du mail : Ceci est un mail envoyé par Genius Js // (ERROR) log = erreur, votre mail n'a pas été envoyé, vérifiez les informations rentrés.. ``` PS: vérifiez les courriers indésirables si le destinataire n'est pas un compte gmail.. ## Genius.intervallesecondes(secondes, fonction) Créer un interval en secondes, et lance la fonction à chaques intervalles. ```javascript function perso() { console.log("je suis un intervalle ! hihi"); } OU; const perso = () => { console.log("je suis un intervalle ! hihi"); }; genius.intervallesecondes(1, perso); // log toutes les secondes (je suis un intervalle ! hihi) ``` ## Genius.intervalleminutes(minutes, fonction) Créer un interval en minutes, et lance la fonction à chaques intervalles. ```javascript function perso() { console.log("je suis un intervalle ! hihi"); } genius.intervalleminutes(1, perso); // log toutes les minutes (je suis un intervalle ! hihi) ``` ## Genius.timeursecondes(secondes, fonction) Créer un timer en secondes, avant d'executer la fonction. ```javascript function perso() { console.log("je suis un timer ! hoho"); } genius.timeursecondes(5, perso); // log après 5 secondes (je suis un timer ! hoho) ``` ## Genius.timeurminutes(minutes, fonction) Créer un timer en minutes, avant d'executer la fonction. ```javascript function perso() { console.log("je suis un timer ! hoho"); } genius.timeurminutes(2, perso); // log après 2 minutes (je suis un timer ! hoho) ``` ## Genius.chronolog(debut) Créer un chrono qui s'affiche en console, qui débute par le nombre choisi. Si aucun nombre est choisi il commencera par 1. ```javascript genius.chronolog(); // log = 1 PUIS log = 2 PUIS log = 3 ....etc chaques secondes genius.chronolog(6); // log = 6 PUIS og = 7 PUIS log = 8 ....etc chaques secondes genius.chronologstop(); // stop le chrono genius.timeursecondes(5, genius.chronologstop); // exemple avec genius.timeursecondes, au bout de 5 secondes le chrono est stopppé. ``` ## Genius.purifierstring(string) Nettoie un string qui contient des charactères spéciaux. ```javascript let string = "Hey $je su'is un s*tring$$ avec ple)ins de symbo@les biza%rres^^ hihi."; console.log(genius.purifierstring(string)); // return : Hey je suis un string avec pleins de symboles bizarres hihi. console.log(genius.purifierstring(3)); // return : erreur if (genius.purifierstring(EXEMPLE) === "erreur") { // exemple de condition // On sait que la valeur donné n'est pas un type string } ``` ## Genius.fetchlog(url,fonction) Log la response de l'url, et lance la fonction après (optionnel) ```javascript genius.fetchlog("https://API.com"); // log response.data genius.fetchlog("https://API.com", mafonction); // log response.data puis execute la fonction ``` ## Genius.get(url) Récupère la réponse d'un requête GET ```javascript genius.get("https://MONURL") .then((response) => { console.log(response); // Affiche les données renvoyées par le serveur }) .catch((error) => { console.error(error); // Affiche l'erreur s'il y en a une }); ``` ## Genius.post(url,objet) Post l'objet et récupère la réponse ```javascript let objet = {pseudo:"Genius",pass:"00000"} genius.post('https://MONURL', objet) .then((response) => { console.log(response); // Affiche les données renvoyées par le serveur }) .catch((error) => { console.error(error); // Affiche l'erreur s'il y en a une }); ``` ## Genius.logtxt(fichier,copie,nomdelacopie) Log le contenu du texte et effectue une copie sur un autre fichier. le fichier doit être à la racine du script. la copie est facultatif, le nom de la copie n'est pas obligatoire si copie = true (nom par défaut : copie.txt ) ```javascript genius.logtxt("demo", true, "nouvellecopie"); // log contenu du fichier => demo.txt = Hello Genius ! // copie le fichier // log copie du fichier demo.txt => nouvellecopie.txt genius.logtxt("demo"); // log contenu du fichier => demo.txt = Hello Genius ! ``` ## Genius.creertxt(nom,contenu) Créer un fichier.txt avec le contenu de votre string ou variable. PS : inutile de préciser l'extension (.txt), le nom uniquement est requis. ```javascript let poeme = `Un sage a dit, vie dans le bruit, mais code en silence..`; genius.creertxt("Mon texte", poeme); // créer le fichier .txt // log Le fichier Mon texte.txt à été créé avec le contenu suivant => Un sage a dit, vie dans le bruit, mais code en silence.. // si le fichier n'existe pas il va le créer, sinon il va juste modifier le contenu du fichier existant. ``` ## Genius.csscolor() Créer un code css aléatoire de couleur ```javascript let color = genius.csscolor(); // return rgb(7,89,171) EXEMPLE ``` ## Genius.matos(parametre) Log ou return les caractéristiques de l'ordinateur source. ```javascript genius.matos("log"); // log => EXEMPLE // Platforme : win32 // Architecture : x64 // Processeur : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz // Système : Windows // Ram : 7.883 GB genius.matos("plateforme"); // return win32 genius.matos("architecture"); // return x64 genius.matos("processeur"); // return Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz genius.matos("systeme"); // return Windows genius.matos("ram"); // return 7.883 GB ``` ## Genius.salaireSMIC(heures,option,log) return ou log (optionnel) le salaire au SMIC arrondi ```javascript genius.salaireSMIC(35, "brut"); // return 1646 genius.salaireSMIC(35, "net"); // return 1304 genius.salaireSMIC(35, "brut", "log"); // log => Pour 35 heures, le salaire sera de 1646 euros (Brut) genius.salaireSMIC(35, "net", "log"); // log => Pour 35 heures, le salaire sera de 1304 euros (Net) ``` ## Genius.compareTAB(tab1,tab2,option) return ou log (optionnel) si deux tableaux sont identiques > Javascript renvoi false si on compare deux tableaux au contenu identique. > Gebius.compareTAB renvoi true ```javascript let tab = [ "1", { prenom: "tom", age: 18, tab: ["r", 5, { age: 11 }] }, "5", ["1", 2], ]; let tab2 = [ "1", { prenom: "tom", age: 18, tab: ["r", 5, { age: 11 }] }, "5", ["1", 2], ]; genius.compareTAB(tab, tab2); // return true genius.compareTAB(tab, tab2, "log"); // log => Vrai, les tableaux sont identiques ``` ## Genius.trierNum(tab,option,log) return ou log (optionnel) les valeurs d'un tableau, trié (nombres uniquement) > fonctionne avec le type string et number ```javascript let tab = ["6", 2, "3", "1", 4, "5"]; genius.trierNum(tab, "croissant"); // return [ '1', 2, '3', 4, '5', '6' ] genius.trierNum(tab, "décroissant"); // return [ '6', '5', 4, '3', 2, '1' ] genius.trierNum(tab, "croissant", "log"); // return et log => [ '1', 2, '3', 4, '5', '6' ] ``` ## Genius.sansDoublon(tab,log) return ou log (optionnel) les valeurs d'un tableau sans doublon ```javascript let tab2 = ["rom", "sana", "jean", "sana", 4, 4, "rom"]; genius.sansDoublon(tab); // return [ 'rom', 'sana', 'jean', 4 ] genius.sansDoublon(tab, "log"); // return et log => [ 'rom', 'sana', 'jean', 4 ] ``` ## Genius.fusionObjet(objet1,objet2,objet3,objet4,objet5,objet6,objet7,objet8,objet9,objet10) return un objet issu de la fusion de plusieurs objets (2 objets minium), jusqu'à 10 objets (otpionnel) ```javascript let fiche = { nom: "Romain", ville: "Montpellier" }; let fiche2 = { nom: "Allane", taille: "1m80" }; console.log(fusionObjet(fiche, fiche2)); // return => { nom: 'Allane', ville: 'Montpellier', taille:'1m80 } ``` > ATTENTION si les objets possèdent une Keyproperty identique (dans l'exemple => 'nom' ) > la valeur de la propriété sera celle du denier objet passé en paramètre. ## Genius.Hash(pass,clef) return le hashage d'un string signé par la clef ```javascript let passHash = genius.hash("monpass", "key"); // return => bde53b543ff2b839d642feba2eb75a41607f4a465906bc2d49f746f991b59a02 let passHash2 = genius.hash("monpass", "key"); // return => bde53b543ff2b839d642feba2eb75a41607f4a465906bc2d49f746f991b59a02 console.log(passHash === passHash2); // return => true , On compare ici les deux mots de passe ``` # Serveur Kit ## Genius.serveur(port,fonction) Créer un serveur et lance la fonction (optionnel) ```javascript genius.serveur(13000); // Lance un serveur sur le port 13000 genius.serveur(13000, () => { console.log("Hey !"); }); // Lance un serveur sur le port 13000 et log => 'Hey !' genius.serveurSTOP(); // Stop le serveur genius.serveurSTOP(() => { console.log("Bye !"); }); // Stop le serveur et log => 'Bye !' // Par défaut '/' renvoi à "public/index.html s'il éxiste // par défaut un dossier "public" est déclaré automatiquement genius.serveurStatique("/public2"); // pour déclarer des fichiers statiques genius.serveurRequeteGET("/test4", (req, res) => { console.log("Requête test 4 !"); res.sendFile("public2/index.html", { root: __dirname, }); }); // Exemple de requête qui renvoi un fichier dans le dossier '/public2' déclaré plus haut genius.serveurRequeteGET("/test", (req, res) => { console.log("Requête !"); res.send("<h1>Votre serveur fonctionne parfaitement :)<h1/>"); }); // Exemple de requête GET simple genius.serveurRequeteGET("/download", (req, res) => { console.log("Requête de téléchargement"); res.download("public/Genius.png"); }); // Exemple de requête de téléchargement genius.serveurRequetePOST("/test3", (req, res) => { console.log(req.body.name); // Exemple }); // Exemple de requête POST ``` Enjoy :sunglasses: