Renamed Parser

This commit is contained in:
Laurent ULRICH 2022-03-28 07:04:45 +00:00
parent 3cf4e76bfa
commit 8e7dae3638
2 changed files with 6 additions and 6 deletions

View File

@ -29,19 +29,19 @@ var EnclosersRunes = map[EncloserId]Encloser{
CurlyBrackets: Encloser{'{', '}'},
}
type CsvParser struct {
type Parser struct {
Enclosers []EncloserId
Delimiter string
Fields []string
Line string
}
func (parser *CsvParser) Init() {
func (parser *Parser) Init() {
parser.Enclosers = []EncloserId{DoubleQuotes, SquareBrackets}
parser.Delimiter = " \t"
}
func (parser *CsvParser) ExtractEnclosedFieldValue(endChar byte) error {
func (parser *Parser) ExtractEnclosedFieldValue(endChar byte) error {
lineLen := len(parser.Line)
for i := 1; i < lineLen; i++ {
if parser.Line[i] == endChar && parser.Line[i-1] != '\\' {
@ -53,7 +53,7 @@ func (parser *CsvParser) ExtractEnclosedFieldValue(endChar byte) error {
return errors.New("Encloser close not found")
}
func (parser *CsvParser) Parse(CsvLine string) error {
func (parser *Parser) Parse(CsvLine string) error {
var err error = nil
parser.Fields = make([]string,0)

View File

@ -6,7 +6,7 @@ import(
func TestParse(t *testing.T) {
var parser CsvParser
var parser Parser
var CsvTestValues = [...]string {
"field1 field2 field3", // standard CSV
@ -38,7 +38,7 @@ func TestParse(t *testing.T) {
}
}
func TestParseWithEscape(t *testing.T) {
var parser CsvParser
var parser Parser
var CsvTestValues = [...]string {
"\"\\\"field1 and more\" field2 [\\[field3] ", // Enclosed fields