Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
import EventReceiver from './EventReceiver';
import { setStyles } from './utils';
interface AnimatorTransition {
node: HTMLElement;
targetStyles: object;
eventReceiver: EventReceiver;
}
class Animator {
public static async animate(
node: HTMLElement,
targetStyles: object
): Promise {
await Animator.process({
node,
targetStyles,
eventReceiver: new EventReceiver(node),
});
}
private static async process(transition: AnimatorTransition): Promise {
return new Promise((resolve): void => {
transition.eventReceiver.on('transitionend', (): void => {
transition.eventReceiver.destroy();
resolve();
});
setTimeout((): void => {
setStyles(transition.node, transition.targetStyles);
}, 10);
});
}
}
export default Animator.animate;