/** * Abstract.ts * * @package vrkd/src/iterator * @author Fernando Salazar */ import { BoolEvent } from '../event/Bool'; import { EachEvent } from '../event/Each'; import { List } from '../list/Default'; export type Iterable = Array | { [k: string]: V; } | List; /** * Loop abstract with stop patterns */ declare abstract class Abstract { protected _iterable: Iterable; protected _stopEvent: BoolEvent; private _stop; /** * Class constructor */ constructor($iterable: Iterable); /** * Start loop */ abstract start($e: EachEvent): void; /** * Stop loop */ stop(): void; /** * Handle used to stop the loop */ private _stopHandle; } export default Abstract;