@@ -40,102 +40,159 @@ func stringToSlice(input string) []string {
4040	return  []string {input }
4141}
4242
43- func  toBool (input  string ) (bool , error ) {
43+ func  toBool (input  string ) (bool , bool ) {
4444	if  len (input ) ==  0  {
45- 		return  false , nil 
45+ 		return  false , false 
4646	}
47- 	return  strconv .ParseBool (input )
47+ 	v , err  :=  strconv .ParseBool (input )
48+ 	return  v , err  ==  nil 
4849}
4950
50- func  toBools (input  []string ) ([]bool , error ) {
51- 	inputLen  :=  len (input )
52- 
53- 	output  :=  make ([]bool , inputLen )
54- 	for  i , l  :=  0 , inputLen ; i  <  l ; i ++  {
55- 		v , err  :=  toBool (input [i ])
56- 		if  err  !=  nil  {
57- 			return  nil , err 
51+ func  toBools (input  []string ) ([]bool , bool ) {
52+ 	l  :=  len (input )
53+ 	output  :=  make ([]bool , l )
54+ 	for  i  :=  0 ; i  <  l ; i ++  {
55+ 		v , ok  :=  toBool (input [i ])
56+ 		if  ! ok  {
57+ 			return  nil , false 
5858		}
5959		output [i ] =  v 
6060	}
6161
62- 	return  output , nil 
62+ 	return  output , true 
6363}
6464
65- func  toInt (input  string ) (int , error ) {
66- 	return  strconv .Atoi (input )
65+ func  toInt (input  string ) (int , bool ) {
66+ 	v , err  :=  strconv .Atoi (input )
67+ 	return  v , err  ==  nil 
6768}
6869
69- func  toInts (input  []string ) ([]int , error ) {
70- 	inputLen  :=  len (input )
71- 
72- 	output  :=  make ([]int , inputLen )
73- 	for  i , l  :=  0 , inputLen ; i  <  l ; i ++  {
74- 		v , err  :=  toInt (input [i ])
75- 		if  err  !=  nil  {
76- 			return  nil , err 
70+ func  toInts (input  []string ) ([]int , bool ) {
71+ 	l  :=  len (input )
72+ 	output  :=  make ([]int , l )
73+ 	for  i  :=  0 ; i  <  l ; i ++  {
74+ 		v , ok  :=  toInt (input [i ])
75+ 		if  ! ok  {
76+ 			return  nil , false 
7777		}
7878		output [i ] =  v 
7979	}
8080
81- 	return  output , nil 
81+ 	return  output , true 
82+ }
83+ 
84+ func  toUint (input  string ) (uint , bool ) {
85+ 	v , err  :=  strconv .ParseUint (input , 10 , 0 )
86+ 	return  uint (v ), err  ==  nil 
8287}
8388
84- func  toInt64 (input  string ) (int64 , error ) {
85- 	return  strconv .ParseInt (input , 10 , 64 )
89+ func  toUints (input  []string ) ([]uint , bool ) {
90+ 	l  :=  len (input )
91+ 	output  :=  make ([]uint , l )
92+ 	for  i  :=  0 ; i  <  l ; i ++  {
93+ 		v , ok  :=  toUint (input [i ])
94+ 		if  ! ok  {
95+ 			return  nil , false 
96+ 		}
97+ 		output [i ] =  v 
98+ 	}
99+ 
100+ 	return  output , true 
86101}
87102
88- func  toInt64s (input  []string ) ([]int64 , error ) {
89- 	inputLen  :=  len (input )
103+ func  toInt32 (input  string ) (int32 , bool ) {
104+ 	v , err  :=  strconv .ParseInt (input , 10 , 32 )
105+ 	return  int32 (v ), err  ==  nil 
106+ }
90107
91- 	output  :=  make ([]int64 , inputLen )
92- 	for  i , l  :=  0 , inputLen ; i  <  l ; i ++  {
93- 		v , err  :=  toInt64 (input [i ])
94- 		if  err  !=  nil  {
95- 			return  nil , err 
108+ func  toInt32s (input  []string ) ([]int32 , bool ) {
109+ 	l  :=  len (input )
110+ 	output  :=  make ([]int32 , l )
111+ 	for  i  :=  0 ; i  <  l ; i ++  {
112+ 		v , ok  :=  toInt32 (input [i ])
113+ 		if  ! ok  {
114+ 			return  nil , false 
96115		}
97116		output [i ] =  v 
98117	}
99118
100- 	return  output , nil 
119+ 	return  output , true 
101120}
102121
103- func  toUint64 (input  string ) (uint64 , error ) {
104- 	return  strconv .ParseUint (input , 10 , 64 )
122+ func  toUint32 (input  string ) (uint32 , bool ) {
123+ 	v , err  :=  strconv .ParseUint (input , 10 , 32 )
124+ 	return  uint32 (v ), err  ==  nil 
105125}
106126
107- func  toUint64s (input  []string ) ([]uint64 , error ) {
108- 	inputLen  :=  len (input )
127+ func  toUint32s (input  []string ) ([]uint32 , bool ) {
128+ 	l  :=  len (input )
129+ 	output  :=  make ([]uint32 , l )
130+ 	for  i  :=  0 ; i  <  l ; i ++  {
131+ 		v , ok  :=  toUint32 (input [i ])
132+ 		if  ! ok  {
133+ 			return  nil , false 
134+ 		}
135+ 		output [i ] =  v 
136+ 	}
109137
110- 	output  :=  make ([]uint64 , inputLen )
111- 	for  i , l  :=  0 , inputLen ; i  <  l ; i ++  {
112- 		v , err  :=  toUint64 (input [i ])
113- 		if  err  !=  nil  {
114- 			return  nil , err 
138+ 	return  output , true 
139+ }
140+ 
141+ func  toInt64 (input  string ) (int64 , bool ) {
142+ 	v , err  :=  strconv .ParseInt (input , 10 , 64 )
143+ 	return  v , err  ==  nil 
144+ }
145+ 
146+ func  toInt64s (input  []string ) ([]int64 , bool ) {
147+ 	l  :=  len (input )
148+ 	output  :=  make ([]int64 , l )
149+ 	for  i  :=  0 ; i  <  l ; i ++  {
150+ 		v , ok  :=  toInt64 (input [i ])
151+ 		if  ! ok  {
152+ 			return  nil , false 
115153		}
116154		output [i ] =  v 
117155	}
118156
119- 	return  output , nil 
157+ 	return  output , true 
120158}
121159
122- func  toFloat64 (input  string ) (float64 , error ) {
123- 	return  strconv .ParseFloat (input , 64 )
160+ func  toUint64 (input  string ) (uint64 , bool ) {
161+ 	v , err  :=  strconv .ParseUint (input , 10 , 64 )
162+ 	return  v , err  ==  nil 
124163}
125164
126- func  toFloat64s (input  []string ) ([]float64 , error ) {
127- 	inputLen  :=  len (input )
165+ func  toUint64s (input  []string ) ([]uint64 , bool ) {
166+ 	l  :=  len (input )
167+ 	output  :=  make ([]uint64 , l )
168+ 	for  i  :=  0 ; i  <  l ; i ++  {
169+ 		v , ok  :=  toUint64 (input [i ])
170+ 		if  ! ok  {
171+ 			return  nil , false 
172+ 		}
173+ 		output [i ] =  v 
174+ 	}
175+ 
176+ 	return  output , true 
177+ }
178+ 
179+ func  toFloat64 (input  string ) (float64 , bool ) {
180+ 	v , err  :=  strconv .ParseFloat (input , 64 )
181+ 	return  v , err  ==  nil 
182+ }
128183
129- 	output  :=  make ([]float64 , inputLen )
130- 	for  i , l  :=  0 , inputLen ; i  <  l ; i ++  {
131- 		v , err  :=  toFloat64 (input [i ])
132- 		if  err  !=  nil  {
133- 			return  nil , err 
184+ func  toFloat64s (input  []string ) ([]float64 , bool ) {
185+ 	l  :=  len (input )
186+ 	output  :=  make ([]float64 , l )
187+ 	for  i  :=  0 ; i  <  l ; i ++  {
188+ 		v , ok  :=  toFloat64 (input [i ])
189+ 		if  ! ok  {
190+ 			return  nil , false 
134191		}
135192		output [i ] =  v 
136193	}
137194
138- 	return  output , nil 
195+ 	return  output , true 
139196}
140197
141198func  contains (collection  []string , find  string ) bool  {
0 commit comments