package strfun

import (
	"bytes"
	"encoding/csv"
	"log"
)

//EncodeCSV 压缩一个字符串数组成csv数据，没有换行
func EncodeCSV(val []string) string {
	bys := bytes.NewBuffer(nil)
	csvW := csv.NewWriter(bys)
	if err := csvW.Write(val); err != nil {
		log.Panic(err)
	}
	csvW.Flush()
	buf := bys.Bytes()
	//去掉尾部的回车
	return string(buf[0 : len(buf)-1])
}

//DecodeCSV 解开一个csv
func DecodeCSV(val string) []string {
	if len(val) == 0 {
		return nil
	}
	s, err := csv.NewReader(bytes.NewBufferString(val)).Read()
	if err != nil {
		log.Panic(err)
	}
	return s
}
