Skip to content

Commit f3f31ee

Browse files
committed
fix: make sure to report the exact string that was provided
1 parent 517b678 commit f3f31ee

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

conversion.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,10 @@ func convertFromNumber[NumOut Number, NumIn Number](orig NumIn) (NumOut, error)
146146
return converted, nil
147147
}
148148

149-
func convertFromString[NumOut Number](s string) (converted NumOut, err error) {
149+
func convertFromString[NumOut Number](input string) (converted NumOut, err error) {
150150
numberBase := 0
151151

152-
s = strings.TrimSpace(s)
152+
s := strings.TrimSpace(input)
153153

154154
if b, err := strconv.ParseBool(s); err == nil {
155155
if b {
@@ -162,7 +162,7 @@ func convertFromString[NumOut Number](s string) (converted NumOut, err error) {
162162
o, err := strconv.ParseFloat(s, 64)
163163
if err != nil {
164164
return 0, errorHelper[NumOut]{
165-
value: s,
165+
value: input,
166166
err: ErrStringConversion,
167167
}
168168
}
@@ -174,12 +174,12 @@ func convertFromString[NumOut Number](s string) (converted NumOut, err error) {
174174
if err != nil {
175175
if errors.Is(err, strconv.ErrRange) {
176176
return 0, errorHelper[NumOut]{
177-
value: s,
177+
value: input,
178178
err: ErrExceedMinimumValue,
179179
}
180180
}
181181
return 0, errorHelper[NumOut]{
182-
value: s,
182+
value: input,
183183
err: ErrStringConversion,
184184
}
185185
}
@@ -191,13 +191,13 @@ func convertFromString[NumOut Number](s string) (converted NumOut, err error) {
191191
if err != nil {
192192
if errors.Is(err, strconv.ErrRange) {
193193
return 0, errorHelper[NumOut]{
194-
value: s,
194+
value: input,
195195
err: ErrExceedMaximumValue,
196196
}
197197
}
198198

199199
return 0, errorHelper[NumOut]{
200-
value: s,
200+
value: input,
201201
err: ErrStringConversion,
202202
}
203203
}

conversion_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1698,7 +1698,7 @@ func TestConvert(t *testing.T) {
16981698
"simple space": MapTest[string, uint]{
16991699
Input: " ",
17001700
ExpectedError: safecast.ErrStringConversion,
1701-
ErrorContains: "cannot convert from string to uint",
1701+
ErrorContains: "cannot convert from string to uint",
17021702
},
17031703
"simple dot": MapTest[string, uint]{
17041704
Input: ".",

0 commit comments

Comments
 (0)