@constl/mandataire
Advanced tools
Comparing version 2.0.4 to 2.0.5
@@ -18,6 +18,6 @@ import type TypedEmitter from "typed-emitter"; | ||
type ÉvénementsMandataire = { | ||
message: (m: MessageDIpa) => void; | ||
erreur: (e: ErreurMandataire) => void; | ||
}; | ||
export declare abstract class Mandatairifiable extends Callable { | ||
dernièreErreur?: ErreurMandataire; | ||
événements: TypedEmitter<ÉvénementsMandataire>; | ||
@@ -30,6 +30,2 @@ événementsInternes: TypedEmitter<{ | ||
}; | ||
erreurs: { | ||
erreur: string; | ||
id?: string; | ||
}[]; | ||
constructor(); | ||
@@ -53,7 +49,6 @@ __call__(fonction: string[], args?: { | ||
oublierTâche(id: string): Promise<void>; | ||
souleverErreur(): Promise<void>; | ||
abstract envoyerMessageÀIpa(message: MessagePourIpa): void; | ||
recevoirMessageDIpa(message: MessageDIpa): Promise<void>; | ||
suivreErreurs({ f }: { | ||
f: (x: ErreurMandataire) => void; | ||
f: (x: ErreurMandataire | undefined) => void; | ||
}): () => TypedEmitter<ÉvénementsMandataire>; | ||
@@ -60,0 +55,0 @@ } |
import { v4 as uuidv4 } from "uuid"; | ||
import { EventEmitter } from "events"; | ||
import { ERREUR_EXÉCUTION_IPA, ERREUR_FONCTION_MANQUANTE, ERREUR_FORMAT_ARGUMENTS, ERREUR_MESSAGE_INCONNU, ERREUR_MULTIPLES_FONCTIONS, ERREUR_PAS_UNE_FONCTION, } from "./codes.js"; | ||
import { ERREUR_EXÉCUTION_IPA, ERREUR_FONCTION_MANQUANTE, ERREUR_FORMAT_ARGUMENTS, ERREUR_INIT_IPA, ERREUR_INIT_IPA_DÉJÀ_LANCÉ, ERREUR_MESSAGE_INCONNU, ERREUR_MULTIPLES_FONCTIONS, ERREUR_PAS_UNE_FONCTION, } from "./codes.js"; | ||
import { lorsque } from "./utils.js"; | ||
@@ -16,6 +16,6 @@ class Callable extends Function { | ||
export class Mandatairifiable extends Callable { | ||
dernièreErreur; | ||
événements; | ||
événementsInternes; | ||
tâches; | ||
erreurs; | ||
constructor() { | ||
@@ -26,6 +26,2 @@ super(); | ||
this.tâches = {}; | ||
this.erreurs = []; | ||
this.événements.on("message", (m) => { | ||
this.recevoirMessageDIpa(m); | ||
}); | ||
} | ||
@@ -106,3 +102,7 @@ __call__(fonction, args = {}) { | ||
if (retour.type === "erreur") { | ||
this.erreur({ erreur: retour.erreur, id, code: ERREUR_EXÉCUTION_IPA }); | ||
this.erreur({ | ||
erreur: retour.erreur, | ||
id, | ||
code: retour.erreur || ERREUR_EXÉCUTION_IPA, | ||
}); | ||
} | ||
@@ -144,4 +144,9 @@ if (retour.type === "suivrePrêt") { | ||
erreur({ erreur, code, id, }) { | ||
this.événements.emit("erreur", { erreur, id, code }); | ||
throw new Error(JSON.stringify({ erreur, id, code })); | ||
// Si l'IPA n'a pas bien été initialisée, toutes les autres erreurs sont pas très importantes | ||
if (this.dernièreErreur?.code !== ERREUR_INIT_IPA && | ||
this.dernièreErreur?.code !== ERREUR_INIT_IPA_DÉJÀ_LANCÉ) { | ||
this.dernièreErreur = { erreur, id, code }; | ||
} | ||
this.événements.emit("erreur", this.dernièreErreur); | ||
throw new Error(JSON.stringify(this.dernièreErreur)); | ||
} | ||
@@ -154,3 +159,2 @@ async oublierTâche(id) { | ||
} | ||
async souleverErreur() { } | ||
async recevoirMessageDIpa(message) { | ||
@@ -171,3 +175,6 @@ const { type } = message; | ||
if (message.type === "erreur" && !message.id) { | ||
this.erreur({ erreur: message.erreur, code: ERREUR_EXÉCUTION_IPA }); | ||
this.erreur({ | ||
erreur: message.erreur, | ||
code: message.erreur || ERREUR_EXÉCUTION_IPA, | ||
}); | ||
break; | ||
@@ -190,2 +197,3 @@ } | ||
this.événements.on("erreur", f); | ||
f(this.dernièreErreur); | ||
return () => this.événements.off("erreur", f); | ||
@@ -192,0 +200,0 @@ } |
@@ -1,1 +0,1 @@ | ||
export declare const version = "2.0.4"; | ||
export declare const version = "2.0.5"; |
// Generated by genversion. | ||
export const version = "2.0.4"; | ||
export const version = "2.0.5"; | ||
//# sourceMappingURL=version.js.map |
@@ -55,3 +55,4 @@ import { mandataire } from "@constl/ipa"; | ||
const rimraf = await import("rimraf"); | ||
rimraf.sync(dossierTempo); | ||
if (dossierTempo) | ||
rimraf.sync(dossierTempo); | ||
} | ||
@@ -58,0 +59,0 @@ }; |
{ | ||
"name": "@constl/mandataire", | ||
"version": "2.0.4", | ||
"version": "2.0.5", | ||
"description": "Un mandataire très léger pour le client Constellation.", | ||
@@ -5,0 +5,0 @@ "author": "Julien Jean Malard-Adam", |
@@ -21,2 +21,4 @@ import type TypedEmitter from "typed-emitter"; | ||
ERREUR_FORMAT_ARGUMENTS, | ||
ERREUR_INIT_IPA, | ||
ERREUR_INIT_IPA_DÉJÀ_LANCÉ, | ||
ERREUR_MESSAGE_INCONNU, | ||
@@ -48,3 +50,2 @@ ERREUR_MULTIPLES_FONCTIONS, | ||
type ÉvénementsMandataire = { | ||
message: (m: MessageDIpa) => void; | ||
erreur: (e: ErreurMandataire) => void; | ||
@@ -54,2 +55,3 @@ }; | ||
export abstract class Mandatairifiable extends Callable { | ||
dernièreErreur?: ErreurMandataire; | ||
événements: TypedEmitter<ÉvénementsMandataire>; | ||
@@ -62,3 +64,2 @@ événementsInternes: TypedEmitter<{ | ||
tâches: { [key: string]: Tâche }; | ||
erreurs: { erreur: string; id?: string }[]; | ||
@@ -76,7 +77,2 @@ constructor() { | ||
this.tâches = {}; | ||
this.erreurs = []; | ||
this.événements.on("message", (m) => { | ||
this.recevoirMessageDIpa(m); | ||
}); | ||
} | ||
@@ -184,3 +180,7 @@ | ||
if (retour.type === "erreur") { | ||
this.erreur({ erreur: retour.erreur, id, code: ERREUR_EXÉCUTION_IPA }); | ||
this.erreur({ | ||
erreur: retour.erreur, | ||
id, | ||
code: retour.erreur || ERREUR_EXÉCUTION_IPA, | ||
}); | ||
} | ||
@@ -239,4 +239,11 @@ | ||
}): void { | ||
this.événements.emit("erreur", { erreur, id, code }); | ||
throw new Error(JSON.stringify({ erreur, id, code })); | ||
// Si l'IPA n'a pas bien été initialisée, toutes les autres erreurs sont pas très importantes | ||
if ( | ||
this.dernièreErreur?.code !== ERREUR_INIT_IPA && | ||
this.dernièreErreur?.code !== ERREUR_INIT_IPA_DÉJÀ_LANCÉ | ||
) { | ||
this.dernièreErreur = { erreur, id, code }; | ||
} | ||
this.événements.emit("erreur", this.dernièreErreur); | ||
throw new Error(JSON.stringify(this.dernièreErreur)); | ||
} | ||
@@ -250,4 +257,2 @@ | ||
async souleverErreur(): Promise<void> {} | ||
abstract envoyerMessageÀIpa(message: MessagePourIpa): void; | ||
@@ -269,6 +274,9 @@ | ||
if (message.type === "erreur" && !message.id) { | ||
this.erreur({ erreur: message.erreur, code: ERREUR_EXÉCUTION_IPA }); | ||
this.erreur({ | ||
erreur: message.erreur, | ||
code: message.erreur || ERREUR_EXÉCUTION_IPA, | ||
}); | ||
break; | ||
} | ||
this.événementsInternes.emit(message.id, message); | ||
this.événementsInternes.emit(message.id!, message); | ||
break; | ||
@@ -287,4 +295,5 @@ } | ||
// Fonctions publiques | ||
suivreErreurs({ f }: { f: (x: ErreurMandataire) => void }) { | ||
suivreErreurs({ f }: { f: (x: ErreurMandataire | undefined) => void }) { | ||
this.événements.on("erreur", f); | ||
f(this.dernièreErreur); | ||
return () => this.événements.off("erreur", f); | ||
@@ -291,0 +300,0 @@ } |
// Generated by genversion. | ||
export const version = "2.0.4"; | ||
export const version = "2.0.5"; |
@@ -82,3 +82,3 @@ import type { MessageDIpa, MessagePourIpa } from "@/messages.js"; | ||
const rimraf = await import("rimraf"); | ||
rimraf.sync(dossierTempo); | ||
if (dossierTempo) rimraf.sync(dossierTempo); | ||
} | ||
@@ -85,0 +85,0 @@ }; |
@@ -15,4 +15,4 @@ { | ||
"noImplicitReturns": true, | ||
"noUnusedLocals": false, | ||
"noUnusedParameters": false, | ||
"noUnusedLocals": true, | ||
"noUnusedParameters": true, | ||
"paths": { | ||
@@ -24,4 +24,4 @@ "@/*": ["src/*"] | ||
"strict": true, | ||
"strictPropertyInitialization": false, | ||
"strictNullChecks": false, | ||
"strictPropertyInitialization": true, | ||
"strictNullChecks": true, | ||
"target": "esnext", | ||
@@ -28,0 +28,0 @@ "useUnknownInCatchVariables": false, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
278542
3526