package utils

import (
	"agent-wdd/log"
	"encoding/json"
	"fmt"
)

func BeautifulPrint(object interface{}) {

	bytes, err := json.MarshalIndent(object, "", "  ")
	if err != nil {
		log.Error("[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.Error("[BeautifulPrint] - json marshal error ! => %v", object)
	}

	return string(bytes)
}

func BeautifulPrintWithTitle(contend any, title string) {

	fmt.Println()
	fmt.Println(">>>>>>>>  " + title + "  <<<<<<<<")
	bytes, _ := json.MarshalIndent(contend, "", "  ")
	fmt.Println(string(bytes))
	fmt.Println(">>>>>>>>  end  <<<<<<<<")
}

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

	fmt.Println()
	fmt.Println(">>>>>>>>  " + title + "  <<<<<<<<")
	for _, line := range contend {
		fmt.Println(line)
	}
	fmt.Println(">>>>>>>>  end  <<<<<<<<")
}

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