Skip to content

Commit b3af273

Browse files
author
Stefan Tudose
committed
add constructor without config
1 parent 260dfc7 commit b3af273

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func TestIntArray(t *testing.T) {
4444
} {
4545
tc := tc
4646
t.Run(tc.name, func(t *testing.T) {
47-
parser, err := NewParser(strings.NewReader(tc.data), &ParserConfig{IgnoreHeaders: false, Comma: '\t'})
47+
parser, err := NewParserWithConfig(strings.NewReader(tc.data), ParserConfig{IgnoreHeaders: false, Comma: '\t'})
4848
if err != nil {
4949
t.Fatalf("could not create parser: %w", err)
5050
}
@@ -104,7 +104,7 @@ func TestMultiLevelIntArray(t *testing.T) {
104104
} {
105105
tc := tc
106106
t.Run(tc.name, func(t *testing.T) {
107-
parser, err := NewParser(strings.NewReader(tc.data), &ParserConfig{IgnoreHeaders: false, Comma: '\t'})
107+
parser, err := NewParserWithConfig(strings.NewReader(tc.data), ParserConfig{IgnoreHeaders: false, Comma: '\t'})
108108
if err != nil {
109109
t.Fatalf("could not create parser: %w", err)
110110
}
@@ -189,7 +189,7 @@ func TestStructArray(t *testing.T) {
189189
} {
190190
tc := tc
191191
t.Run(tc.name, func(t *testing.T) {
192-
parser, err := NewParser(strings.NewReader(tc.data), &ParserConfig{IgnoreHeaders: false, Comma: '\t'})
192+
parser, err := NewParserWithConfig(strings.NewReader(tc.data), ParserConfig{IgnoreHeaders: false, Comma: '\t'})
193193
if err != nil {
194194
t.Fatalf("could not create parser: %w", err)
195195
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func TestDecoderStruct(t *testing.T) {
3939
} {
4040
tc := tc
4141
t.Run(tc.name, func(t *testing.T) {
42-
parser, err := NewParser(strings.NewReader(tc.data), &ParserConfig{IgnoreHeaders: false, Comma: '\t'})
42+
parser, err := NewParserWithConfig(strings.NewReader(tc.data), ParserConfig{IgnoreHeaders: false, Comma: '\t'})
4343
if err != nil {
4444
t.Fatalf("could not create parser: %w", err)
4545
}
@@ -75,7 +75,7 @@ func TestDecoderPointer(t *testing.T) {
7575
} {
7676
tc := tc
7777
t.Run(tc.name, func(t *testing.T) {
78-
parser, err := NewParser(strings.NewReader(tc.data), &ParserConfig{IgnoreHeaders: false, Comma: '\t'})
78+
parser, err := NewParserWithConfig(strings.NewReader(tc.data), ParserConfig{IgnoreHeaders: false, Comma: '\t'})
7979
if err != nil {
8080
t.Fatalf("could not create parser: %w", err)
8181
}
@@ -112,7 +112,7 @@ func TestDecoderDoublePointer(t *testing.T) {
112112
} {
113113
tc := tc
114114
t.Run(tc.name, func(t *testing.T) {
115-
parser, err := NewParser(strings.NewReader(tc.data), &ParserConfig{IgnoreHeaders: false, Comma: '\t'})
115+
parser, err := NewParserWithConfig(strings.NewReader(tc.data), ParserConfig{IgnoreHeaders: false, Comma: '\t'})
116116
if err != nil {
117117
t.Fatalf("could not create parser: %w", err)
118118
}
@@ -148,7 +148,7 @@ func TestDecoderInterface(t *testing.T) {
148148
} {
149149
tc := tc
150150
t.Run(tc.name, func(t *testing.T) {
151-
parser, err := NewParser(strings.NewReader(tc.data), &ParserConfig{IgnoreHeaders: false})
151+
parser, err := NewParserWithConfig(strings.NewReader(tc.data), ParserConfig{IgnoreHeaders: false})
152152
if err != nil {
153153
t.Fatalf("could not create parser: %w", err)
154154
}

parser.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99

1010
type Parser struct {
1111
Reader *csv.Reader
12-
config *ParserConfig
12+
config ParserConfig
1313
currentRowValues []string
1414
lastErr error
1515
}
@@ -24,7 +24,15 @@ type Decoder interface {
2424
DecodeRecord(s string) error
2525
}
2626

27-
func NewParser(reader io.Reader, config *ParserConfig) (*Parser, error) {
27+
func NewParserWithConfig(reader io.Reader, config ParserConfig) (*Parser, error) {
28+
return newParser(reader, config)
29+
}
30+
31+
func NewParser(reader io.Reader) (*Parser, error) {
32+
return newParser(reader, ParserConfig{})
33+
}
34+
35+
func newParser(reader io.Reader, config ParserConfig) (*Parser, error) {
2836
p := &Parser{
2937
Reader: csv.NewReader(reader),
3038
config: config,

0 commit comments

Comments
 (0)