UNPKG

wave-roll

Version:

JavaScript Library for Comparative MIDI Piano-Roll Visualization

32 lines 1.19 kB
/** * State change handling utilities for playback module */ /** * Creates a state change handler that tracks before/after states */ export declare function createStateChangeHandler<T>(getCurrentState: () => T, onStateChange: (prevState: T, newState: T) => void): (updateFn: () => void) => void; /** * Creates a batch state change handler that accumulates changes */ export declare function createBatchStateHandler<T>(getCurrentState: () => T, onBatchComplete: (changes: T[]) => void): { addChange: (updateFn: () => void) => void; flush: () => void; }; /** * State comparison utilities */ export declare const StateComparison: { /** * Check if two states are equal (shallow comparison) */ areEqual<T extends Record<string, unknown>>(a: T, b: T): boolean; /** * Get changed properties between two states */ getChangedProperties<T extends Record<string, unknown>>(prevState: T, newState: T): Partial<T>; /** * Check if specific properties changed */ hasPropertiesChanged<T extends Record<string, unknown>>(prevState: T, newState: T, properties: (keyof T)[]): boolean; }; //# sourceMappingURL=state-change-handler.d.ts.map