Open jstty opened 7 years ago
Example:
'use strict'; // !-- FOR TESTS let wrapper = function (options) { // --! // ===================================================== // <EXAMPLE> let Beelzebub = require('../../'); let bz = Beelzebub(options || { verbose: true }); class MySubTask extends Beelzebub.Tasks { default () { this.logger.log('MySubTask default'); return this.$sequence('.task1', '.task2'); } task1 () { this.logger.log('MySubTask task1'); } task2 () { this.logger.log('MySubTask task2'); } } class MyTasks extends Beelzebub.Tasks { constructor (config) { super(config); this.$setDefault('myDefault'); } myDefault () { this.logger.log('MyTasks myDefault'); } } class MyRootLevel extends Beelzebub.Tasks { constructor (config) { super(config); this.$useAsRoot(); } $init () { this.$addSubTasks(MySubTask); } task1 () { this.logger.log('MyRootLevel task1'); } task2 () { this.logger.log('MyRootLevel task2'); } } bz.add(MyRootLevel); bz.add(MyTasks); let p = bz.run( 'task1', 'MySubTask', 'MySubTask.task1', 'MyTasks', 'MyTasks.myDefault' ); /* Output: MyRootLevel task1 MySubTask default MySubTask task1 MySubTask task2 MySubTask task1 MyTasks myDefault MyTasks myDefault */ // </EXAMPLE> // ===================================================== // !-- FOR TESTS return p.then(() => { return bz; }); }; module.exports = wrapper; // if not running in test, then run wrapper if (typeof global.it !== 'function') wrapper(); // --!
Example: