UNPKG

simple-task-master

Version:
59 lines 2.15 kB
"use strict"; /** * Show task command */ Object.defineProperty(exports, "__esModule", { value: true }); exports.showCommand = void 0; exports.showTask = showTask; const commander_1 = require("commander"); const task_manager_1 = require("../lib/task-manager"); const output_1 = require("../lib/output"); const errors_1 = require("../lib/errors"); /** * Show a specific task */ async function showTask(idStr, options) { try { const taskManager = await task_manager_1.TaskManager.create(); // Parse task ID const id = parseInt(idStr, 10); if (isNaN(id) || id <= 0) { throw new errors_1.ValidationError(`Invalid task ID: ${idStr}`); } // Get the task const task = await taskManager.get(id); // Determine output format let format = 'yaml'; // default for single task if (options.format) { const validFormats = ['yaml', 'markdown', 'json', 'ndjson', 'table', 'csv']; if (!validFormats.includes(options.format)) { throw new errors_1.ValidationError(`Invalid format: ${options.format}. Valid formats: ${validFormats.join(', ')}`); } format = options.format; } // Format and output const output = (0, output_1.formatTask)(task, format); (0, output_1.printOutput)(output); } catch (error) { if (error instanceof errors_1.ValidationError || error instanceof errors_1.FileSystemError || error instanceof errors_1.ConfigurationError || error instanceof errors_1.NotFoundError) { (0, output_1.printError)(error.message); process.exit(error instanceof errors_1.NotFoundError ? 3 : 1); } throw error; } } /** * Create the show command */ exports.showCommand = new commander_1.Command('show') .description('Show a specific task') .argument('<id>', 'Task ID') .option('-f, --format <format>', 'Output format (yaml, markdown, json, ndjson, table, csv)', 'yaml') .action(async (id, options) => { await showTask(id, options); }); //# sourceMappingURL=show.js.map