@bitcobblers/wod-wiki-library
Version:
A specialized markdown-like workout syntax editor and runtime for defining workouts
20 lines (19 loc) • 896 B
TypeScript
import { IRuntimeBlock } from '../../../IRuntimeBlock';
import { ITimerRuntime } from '../../../ITimerRuntime';
import { AbstractRuntimeAction } from './AbstractRuntimeAction';
/**
* Base class for actions that need to bubble up through the block hierarchy.
* The action is first applied to the current block and then propagates up to all parent blocks.
*/
export declare abstract class BubbleUpAction extends AbstractRuntimeAction {
/**
* Implements the bubble-up strategy by starting with the current block
* and then moving up through all parent blocks in the hierarchy.
*/
protected applyImplementation(runtime: ITimerRuntime): void;
/**
* Subclasses must implement this method to define how the action
* should be applied to each block in the hierarchy.
*/
protected abstract applyBlock(runtime: ITimerRuntime, block: IRuntimeBlock): void;
}