package utils

import (
	"encoding/json"
	"fmt"
	"wdd.io/agent-go/logger"
)

var log = logger.Log

func BeautifulPrint(object interface{}) {

	bytes, err := json.MarshalIndent(object, "", "  ")
	if err != nil {
		log.ErrorF("[BeautifulPrint] - json marshal error ! => %v", object)
	}

	fmt.Println()
	fmt.Println(string(bytes))
	fmt.Println()

}

func BeautifulPrintToString(object interface{}) string {

	bytes, err := json.MarshalIndent(object, "", "  ")
	if err != nil {
		log.ErrorF("[BeautifulPrint] - json marshal error ! => %v", object)
	}

	return string(bytes)
}

func BeautifulPrintListWithTitle(contend []string, title string) {

	fmt.Println()
	fmt.Println(fmt.Sprintf("content tile is => %s", title))
	for _, line := range contend {
		bytes, _ := json.MarshalIndent(line, "", "  ")
		fmt.Println(string(bytes))
	}
	fmt.Println("---------- end -----------")
}

func SplitLinePrint() {
	fmt.Println()
	fmt.Println()
	fmt.Println()
}
