@gamesberry/karmyc-core
Version:
A flexible and powerful layout management system for React applications
29 lines (28 loc) • 1.32 kB
TypeScript
/**
* Exécute une série de mises à jour en batch
* @param updates Array de fonctions de mise à jour à exécuter
*/
export declare const batchUpdate: (updates: Array<() => void>) => void;
/**
* Exécute une mise à jour avec debounce pour éviter les mises à jour trop fréquentes
* @param updateFn Fonction de mise à jour à exécuter
* @param delay Délai en ms (défaut: 16ms pour ~60fps)
*/
export declare const debouncedUpdate: (updateFn: () => void, delay?: number) => void;
/**
* Helper pour créer une fonction de mise à jour qui peut être utilisée dans un batch
* @param updateFn Fonction de mise à jour originale
* @returns Fonction qui peut être utilisée dans un batch ou directement
*/
export declare const createBatchableUpdate: <T extends any[]>(updateFn: (...args: T) => void) => (...args: T) => void;
/**
* Exécute une fonction avec des mises à jour en batch
* @param fn Fonction à exécuter avec le système de batch
*/
export declare const withBatchUpdates: (fn: () => void) => void;
/**
* Optimise une action complexe en la divisant en étapes batchées
* @param steps Array d'étapes à exécuter
* @param stepDelay Délai entre chaque étape (défaut: 0ms)
*/
export declare const executeBatchedSteps: (steps: Array<() => void>, stepDelay?: number) => Promise<void>;