Skip to content

Instantly share code, notes, and snippets.

@AlbanMinassian
AlbanMinassian / index.mjs
Created June 28, 2021 15:28
Comprendre l'architecture hexagonale en 5 minutes - adaptateur - index.mjs
// index.mjs
import fs from "fs";
import pg from "pg";
import axios from "axios";
import logger from "logger";
import mon_premier_service from "services/mon_premier_service.mjs"
const datas = { "name": "world" };
const adapters = {
@AlbanMinassian
AlbanMinassian / mon_premier_service.mjs
Created June 28, 2021 15:26
Comprendre l'architecture hexagonale en 5 minutes - adaptateur - mon_premier_service.mjs - bonne pratique
// services/mon_premier_service.mjs
export default function mon_premier_service(argDatas, argAdaptaters) {
argAdaptaters.lire_un_fichier();
argAdaptaters.mettre_a_jour_la_base_de_données();
argAdaptaters.appeller_un_service_post();
argAdaptaters.logger.warn();
return { "out": "hello " + argDatas.name }
}
@AlbanMinassian
AlbanMinassian / mon_premier_service.mjs
Created June 28, 2021 15:24
Comprendre l'architecture hexagonale en 5 minutes - Adaptateur - Mauvaise pratique
// services/mon_premier_service.mjs
import fs from "fs";
import pg from "pg";
import axios from "axios";
import logger from "logger";
export default function mon_premier_service(argDatas, argAdaptaters) {
fs.readFile(); // lire un fichier
pg.update(); // mettre à jour la base de données
axios.post(); // appeller un service post
@AlbanMinassian
AlbanMinassian / index.mjs
Created June 28, 2021 15:20
Comprendre l'architecture hexagonale en 5 minutes - Services - index.mjs
// index.mjs
import mon_premier_service from "services/mon_premier_service.mjs"
const datas = { "name": "world" };
const adapters = {};
const result = mon_premier_service(datas, adapters);
@AlbanMinassian
AlbanMinassian / mon_premier_service.mjs
Last active June 28, 2021 15:21
Comprendre l'architecture hexagonale en 5 minutes - Services - mon_premier_service.mjs
// services/mon_premier_service.mjs
export default function mon_premier_service(argDatas, argAdaptaters) {
return { "out": "hello " + argDatas.name }
}
extern crate iso639_2;
use iso639_2::Iso639_2;
pub fn main() {
println!("{:?}", Iso639_2::Eng);
assert!(Iso639_2::Fra != Iso639_2::Eng);
}
extern crate iso639_1;
use iso639_1::{Iso639_1, get_enum, get_code_iso639_3};
pub fn main() {
assert!(Iso639_1::Fr != Iso639_1::En);
assert!(get_enum("fr").unwrap() == Iso639_1::Fr);
assert!(get_code_iso639_3("fr").unwrap() == "fra");
}
extern crate iso639_1;
use iso639_1::{Iso639_1, get_enum, get_code_iso639_3};
pub fn main() {
println!("{:?}", Iso639_1::En);
println!("{:?}", get_enum("it"));
println!("{:?}", get_code_iso639_3("fr"));
}