| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 'use strict';
- const box = require('./shared/consola.DwRq1yyg.cjs');
- require('node:tty');
- function formatTree(items, options) {
- options = {
- prefix: " ",
- ellipsis: "...",
- ...options
- };
- const tree = _buildTree(items, options).join("");
- if (options && options.color) {
- return box.colorize(options.color, tree);
- }
- return tree;
- }
- function _buildTree(items, options) {
- const chunks = [];
- const total = items.length - 1;
- for (let i = 0; i <= total; i++) {
- const item = items[i];
- const isItemString = typeof item === "string";
- const isLimit = options?.maxDepth != null && options.maxDepth <= 0;
- if (isLimit) {
- const ellipsis = `${options.prefix}${options.ellipsis}
- `;
- return [
- isItemString ? ellipsis : item.color ? box.colorize(item.color, ellipsis) : ellipsis
- // prettier-ignore
- ];
- }
- const isLast = i === total;
- const prefix = isLast ? `${options?.prefix}\u2514\u2500` : `${options?.prefix}\u251C\u2500`;
- if (isItemString) {
- chunks.push(`${prefix}${item}
- `);
- } else {
- const log = `${prefix}${item.text}
- `;
- chunks.push(item.color ? box.colorize(item.color, log) : log);
- if (item.children) {
- const _tree = _buildTree(item.children, {
- ...options,
- maxDepth: options?.maxDepth == null ? void 0 : options.maxDepth - 1,
- prefix: `${options?.prefix}${isLast ? " " : "\u2502 "}`
- });
- chunks.push(..._tree);
- }
- }
- }
- return chunks;
- }
- exports.align = box.align;
- exports.box = box.box;
- exports.centerAlign = box.centerAlign;
- exports.colorize = box.colorize;
- exports.colors = box.colors;
- exports.getColor = box.getColor;
- exports.leftAlign = box.leftAlign;
- exports.rightAlign = box.rightAlign;
- exports.stripAnsi = box.stripAnsi;
- exports.formatTree = formatTree;
|