/** * A runner class. Responsible for starting * biggy products scritps. * * @export * @abstract * @class Runner */ export abstract class Runner { /** * This method should be implemented if something is done before * the `run` method is called, otherwise, simply implementing the * `run`method would suffice. * * Call `super.start` at the end if you reimplement this method. * * @return {Promise} * @memberof Runner */ public async start(): Promise { return this.run(); } /** * Main runner method. * * @abstract * @returns {Promise} * @memberof Runner */ protected abstract async run(): Promise; }