如何像 mysql-client-cli 一样在 oclif-cli 中显示 table 中的数据库检索数据?
How to display db retrieved data in table in oclif-cli like mysql-client-cli?
我正在使用 OCLIF Framework 和 TypeScript 开发 CLI 工具,我命令 returns 数据库中的所有值,在检索之前一切正常,但我希望显示检索到的数据就像终端中的表格。
是否有任何插件或其他东西可以帮助将 CLI 设计成这样显示?
你看过 cli-ux table 函数了吗?
import {Command} from '@oclif/command'
import {cli} from 'cli-ux'
export default class Users extends Command {
static flags = {
...cli.table.flags()
}
async run() {
const {flags} = this.parse(Users)
/* ... */
cli.table(users, {
name: {
minWidth: 7,
},
company: {
get: row => row.company && row.company.name
}
}, {
printLine: this.log,
...flags, // parsed flags
})
}
}
结果:
$ example-cli users
Name Company
Leanne Graham Romaguera-Crona
Ervin Howell Deckow-Crist
Clementine Bauch Romaguera-Jacobson
Patricia Lebsack Robel-Corkery
Chelsey Dietrich Keebler LLC
Mrs. Dennis Schulist Considine-Lockman
Kurtis Weissnat Johns Group
Nicholas Runolfsdottir V Abernathy Group
Glenna Reichert Yost and Sons
Clementina DuBuque Hoeger LLC
我正在使用 OCLIF Framework 和 TypeScript 开发 CLI 工具,我命令 returns 数据库中的所有值,在检索之前一切正常,但我希望显示检索到的数据就像终端中的表格。
是否有任何插件或其他东西可以帮助将 CLI 设计成这样显示?
你看过 cli-ux table 函数了吗?
import {Command} from '@oclif/command'
import {cli} from 'cli-ux'
export default class Users extends Command {
static flags = {
...cli.table.flags()
}
async run() {
const {flags} = this.parse(Users)
/* ... */
cli.table(users, {
name: {
minWidth: 7,
},
company: {
get: row => row.company && row.company.name
}
}, {
printLine: this.log,
...flags, // parsed flags
})
}
}
结果:
$ example-cli users
Name Company
Leanne Graham Romaguera-Crona
Ervin Howell Deckow-Crist
Clementine Bauch Romaguera-Jacobson
Patricia Lebsack Robel-Corkery
Chelsey Dietrich Keebler LLC
Mrs. Dennis Schulist Considine-Lockman
Kurtis Weissnat Johns Group
Nicholas Runolfsdottir V Abernathy Group
Glenna Reichert Yost and Sons
Clementina DuBuque Hoeger LLC