12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Manager = void 0;
- const listr_1 = require("./listr");
- /**
- * Creates a new Listr2 task manager.
- *
- * Useful for creating a single instace of Listr2 with pre-set settings.
- */
- class Manager {
- constructor(options) {
- this.options = options;
- this.err = [];
- this.tasks = [];
- }
- set ctx(ctx) {
- this.options.ctx = ctx;
- }
- add(tasks, options) {
- options = { ...this.options, ...options };
- this.tasks = [...this.tasks, this.indent(tasks, options)];
- }
- async runAll(options) {
- options = { ...this.options, ...options };
- const ctx = await this.run(this.tasks, options);
- // clear out queues
- this.tasks = [];
- return ctx;
- }
- newListr(tasks, options) {
- return new listr_1.Listr(tasks, options);
- }
- indent(tasks, options, taskOptions) {
- options = { ...this.options, ...options };
- let newTask;
- // type function or directly
- if (typeof tasks === 'function') {
- newTask = {
- ...taskOptions,
- task: (ctx) => this.newListr(tasks(ctx), options)
- };
- }
- else {
- newTask = {
- ...taskOptions,
- task: () => this.newListr(tasks, options)
- };
- }
- return newTask;
- }
- async run(tasks, options) {
- options = { ...this.options, ...options };
- // create task
- const task = this.newListr(tasks, options);
- // run task
- const ctx = await task.run();
- // reset error queue
- this.err = task.err;
- return ctx;
- }
- // general utils
- /* istanbul ignore next */
- getRuntime(pipetime) {
- return `${Math.round(Date.now() - pipetime) / 1000}s`;
- }
- }
- exports.Manager = Manager;
|