easy-cli-framework
Version:
A framework for building CLI applications that are robust and easy to maintain. Supports theming, configuration files, interactive prompts, and more.
37 lines (31 loc) • 880 B
text/typescript
import { EasyCLITheme } from 'easy-cli-framework/themes';
import { ThemedTable } from 'easy-cli-framework/themes/themed-table';
const main = async () => {
const theme = new EasyCLITheme(3);
type User = {
name: string;
age: number;
status: 'active' | 'inactive';
};
const table = new ThemedTable<User>({
theme,
columns: [
{ name: 'name', data: item => item.name },
{ name: 'age', data: item => `${item.age}` },
{
name: 'status',
width: 10,
data: item => item.status,
style: item => (item.status === 'active' ? 'success' : 'error'),
},
],
});
table.render([
{ name: 'Alice', age: 30, status: 'active' },
{ name: 'Bob', age: 25, status: 'inactive' },
{ name: 'Charlie', age: 35, status: 'active' },
]);
};
main()
.catch(console.error)
.finally(() => process.exit(0));