Skip to content

Flow ​

Helpers de contrôle de flux basés sur des générateurs pour composer des workflows synchrones et asynchrones avec effets typés, étapes, sorties, breaks et injection de dépendances.

Comment faire les imports ? ​

La bibliothèque expose les namespaces DFlow et F depuis l'entrée principale ou en import direct (tree-shaking friendly), ce qui permet de ne charger que ce dont vous avez besoin.

typescript
import { DFlow, F } from "@duplojs/utils";
import * as DFlow from "@duplojs/utils/flow";
import * as F from "@duplojs/utils/flow";

Création et exécution de flow ​

create ​

Créer un flow réutilisable à partir d'une fonction de flow.

run ​

Exécute un flow et retourne sa valeur finale.

exec ​

Exécute un flow imbriqué dans le flow courant.

Coordination d'exécution ​

Ces helpers gardent un état interne dans des WeakMap basées sur la référence du flow exécuté. Pour les utiliser correctement sur plusieurs appels, réutilisez un flow créé avec F.create(...) ou une fonction obtenue via F.toFunction(...).

calledByNext ​

Appelle un callback quand une exécution suivante du même flow remplace une exécution encore active.

queue ​

Sérialise ou limite les exécutions concurrentes d'un même flow.

throttling ​

Ignore ou reporte les appels trop rapprochés pour un même flow.

debounce ​

Attend avant de continuer l'exécution et annule l'appel précédent si un nouveau arrive.

Contrôle de flux ​

breakIf ​

Arrête la branche courante du flow quand un prédicat correspond.

exitIf ​

Quitte le flow en cours quand un prédicat correspond, même depuis un flow imbriqué.

step ​

Enregistre une étape nommée et peut optionnellement calculer une valeur.

Cycle de vie et nettoyage ​

defer ​

Enregistre un callback de nettoyage exécuté quand le flow se termine.

finalizer ​

Enregistre un callback final géré par le runner de flow.

createInitializer ​

Crée un initializer qui retourne une valeur et enregistre automatiquement des effets de nettoyage.

Dépendances ​

createDependence ​

Crée un descripteur de dépendance typé pour le système de flow.

inject ​

Demande une dépendance au runner de flow.

Diffusé sous licence MIT.