@mostajs/service-kit
v0.4.0
Published
Liant service↔transport (N1) : class DomainError, wrap/ok/send, adaptateur HTTP. Compose @mostajs/transport-kit (N0). Lie un service applicatif pur à un transport avec vocabulaire d'erreur uniforme.
Readme
@mostajs/service-kit
N1 — lie un service applicatif pur à un transport (HTTP…) avec un vocabulaire d'erreur uniforme. Compose
@mostajs/transport-kit(N0).
Généralise le patron « service + wrap » : la logique métier vit dans un service
pur (renvoie du domaine, lève DomainError), le router reste mince, wrap gère
try/catch, enveloppe { success } et mapping d'erreur → statut.
Installation
npm install @mostajs/service-kit expressExemple
import { DomainError, wrap, ok, send } from '@mostajs/service-kit';
// service pur — testable sans HTTP
async function getUser(dialect, id) {
const u = await dialect.findById(USER_SCHEMA, id);
if (!u) throw new DomainError('NOT_FOUND', 'Utilisateur non trouvé');
return u;
}
// router mince
router.get('/:id', wrap(async (req) => ok(await getUser(await initData(), req.params.id))));wrap : succès → { success:true, ... } au statut voulu ; DomainError → statut
mappé + { success:false, error } ; erreur inconnue → 500 journalisé.
Niveau & dépendances
N1 · depend_de: ["@mostajs/transport-kit"] · peer express (type-only, optionnel).
Voir llms.txt.
Auteur : Dr Hamid MADANI [email protected] · Licence : AGPL-3.0-or-later
