Type du record propagé entre les callbacks,
doit étendre Record<string, unknown>.
Aucun callback enregistré — la propagation n'a pas eu lieu.
Propagation normale — value contient le record final fusionné
après le passage de tous les callbacks.
La valeur initiale n'était pas un plain object — elle a été encapsulée
dans { default: originalValue } pour permettre quand même la propagation.
value contient le résultat du fallback, originalValue la valeur d'origine.
const result = pipeline.invoke({ count: 0, label: '' });
switch (result.type) {
case 'empty':
// Aucun callback enregistré — le record n'a pas été traité
break;
case 'record':
console.log(result.value); // TRecord fusionné après tous les callbacks
break;
case 'other':
console.warn('Valeur inattendue :', result.originalValue);
console.log(result.value); // TRecord ou null — résultat du fallback
break;
}
Représente le résultat d'un appel à un CircularEventHandler.
Ce type discriminé permet de distinguer sans ambiguïté les trois cas possibles lors de la propagation circulaire, même si
TRecordcontient des propriétés dont la valeur est un objet imbriqué.