// Copyright © 2021 Ettore Di Giacinto <mudler@mocaccino.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, see <http://www.gnu.org/licenses/>.

package util

import "github.com/pterm/pterm"

type TableWriter struct {
	td pterm.TableData
}

func (l *TableWriter) AppendRow(item []string) {
	l.td = append(l.td, item)
}

func (l *TableWriter) Render() {
	pterm.DefaultTable.WithHasHeader().WithData(l.td).Render()
}

type ListWriter struct {
	bb []pterm.BulletListItem
}

func (l *ListWriter) AppendItem(item pterm.BulletListItem) {
	l.bb = append(l.bb, item)
}

func (l *ListWriter) Render() {
	pterm.DefaultBulletList.WithItems(l.bb).Render()
}
