func (file *RowFile) IsEmpty() bool {
	if file == nil || file.filepath == "" {
		return true
	}
	return false
}
IsEmpty reports true if a filepath is not set
package helpers
import (
	"bufio"
	"fmt"
	"os"
	"runtime"
	"strings"
	"sync"
	"github.com/pkg/errors"
)
type (
	RowFile struct {
		filepath string
		readFile *sync.Once
		rows     []string
	}
)
func (file RowFile) TreatAs() string {
	return "string"
}
func NewRowFile(filepath string) (RowFile, error) {
	rf := RowFile{
		filepath: filepath,
		readFile: &sync.Once{},
		rows:     nil,
	}
	if err := rf.readRows(); err != nil {
		return rf, errors.WithStack(err)
	}
	return rf, nil
}
func (file RowFile) MarshalJSON() ([]byte, error) {
	str := file.String()
	return []byte(fmt.Sprintf(`"%s"`, str)), nil
}
func (file *RowFile) UnmarshalJSON(arg []byte) error {
	file.filepath = strings.Trim(string(arg), `"`)
	if file.filepath == "" {
		return nil
	}
	file.readFile = &sync.Once{}
	if err := file.readRows(); err != nil {
		return errors.WithStack(err)
	}
	return nil
}