@oclif/multi-stage-output
Version:
Terminal output for oclif commands with multiple stages
93 lines (92 loc) • 2.79 kB
JavaScript
import figures from 'figures';
// eslint-disable-next-line complexity
export function constructDesignParams(design) {
return {
icons: {
aborted: {
color: 'red',
figure: figures.squareSmallFilled,
paddingLeft: 0,
paddingRight: 0,
...design?.icons?.current,
},
async: {
color: 'magenta',
figure: figures.play,
paddingLeft: 0,
paddingRight: 0,
...design?.icons?.current,
},
completed: {
color: 'green',
figure: figures.tick,
paddingLeft: 0,
paddingRight: 0,
...design?.icons?.completed,
},
current: {
color: 'yellow',
figure: figures.play,
paddingLeft: 0,
paddingRight: 0,
...design?.icons?.current,
},
failed: {
color: 'red',
figure: figures.cross,
paddingLeft: 0,
paddingRight: 0,
...design?.icons?.failed,
},
info: {
color: false,
figure: figures.triangleRightSmall,
paddingLeft: 2,
paddingRight: 1,
...design?.icons?.info,
},
paused: {
color: 'magenta',
figure: figures.bullet,
paddingLeft: 0,
paddingRight: 1,
...design?.icons?.current,
},
pending: {
color: 'dim',
figure: figures.squareSmallFilled,
paddingLeft: 0,
paddingRight: 0,
...design?.icons?.pending,
},
skipped: {
color: 'dim',
figure: figures.circle,
paddingLeft: 0,
paddingRight: 1,
...design?.icons?.skipped,
},
warning: {
color: 'yellow',
figure: figures.warning,
paddingLeft: 0,
paddingRight: 0,
...design?.icons?.warning,
},
},
spinners: {
info: process.platform === 'win32' ? 'line' : 'dots11',
stage: process.platform === 'win32' ? 'line' : 'dots2',
...design?.spinners,
},
title: {
dividerChar: '─',
dividerColor: 'dim',
padding: 1,
textColor: 'reset',
textPadding: 1,
width: 50,
...design?.title,
},
};
}