@@ -20,25 +20,25 @@ pub fn new_decoder() Decoder {
2020 return Decoder{}
2121}
2222
23- pub fn decode [T](src []u8 ) ? T {
23+ pub fn decode [T](src []u8 ) ! T {
2424 return T{}
2525}
2626
27- pub fn (mut d Decoder) decode_from_string (data string ) ? {
28- d.decode (hex.decode (data) or { panic ('error decoding hex string' ) })?
27+ pub fn (mut d Decoder) decode_from_string (data string ) ! {
28+ d.decode (hex.decode (data) or { return error ('error decoding hex string' ) })!
2929}
3030
3131// TODO: proper decoding into data structures
3232// for now just get decoding of all types working.
33- pub fn (mut d Decoder) decode (data []u8 ) ? {
33+ pub fn (mut d Decoder) decode (data []u8 ) ! {
3434 d.buffer = data
3535 for d.pos < d.buffer.len {
3636 d.next ()
37- d.decode_ ()?
37+ d.decode_ ()!
3838 }
3939}
4040
41- fn (mut d Decoder) decode_ () ? {
41+ fn (mut d Decoder) decode_ () ! {
4242 match d.bd {
4343 mp_nil {
4444 // n.v = .nil_
@@ -114,16 +114,16 @@ fn (mut d Decoder) decode_() ? {
114114 } else if d.bd in [mp_str_8 , mp_str_16 , mp_str_32 ]
115115 || (d.bd > = mp_fix_str_min && d.bd < = mp_fix_str_max) {
116116 // println('string')
117- d.decode_string ()?
117+ d.decode_string ()!
118118 } else if d.bd in [mp_array_16 , mp_array_32 ]
119119 || (d.bd > = mp_fix_array_min && d.bd < = mp_fix_array_max) {
120120 println ('array' )
121121 } else if d.bd in [mp_map_16 , mp_map_32 ]
122122 || (d.bd > = mp_fix_map_min && d.bd < = mp_fix_map_max) {
123- d.decode_map ()?
123+ d.decode_map ()!
124124 } else if (d.bd > = mp_fix_ext_1 && d.bd < = mp_fix_ext_16 )
125125 || (d.bd > = mp_ext_8 && d.bd < = mp_ext_32 ) {
126- d.decode_ext ()?
126+ d.decode_ext ()!
127127 }
128128 }
129129 }
@@ -171,9 +171,9 @@ fn (mut d Decoder) decode_() ? {
171171 // }
172172}
173173
174- fn (mut d Decoder) decode_ext () ? {
174+ fn (mut d Decoder) decode_ext () ! {
175175 // n.v = valueTypeExt
176- clen := d.read_ext_len ()?
176+ clen := d.read_ext_len ()!
177177 println ('decode_ext - container len: ${clen} ' )
178178 if d.bd == mp_time_ext_type {
179179 // n.v = valueTypeTime
@@ -189,7 +189,7 @@ fn (mut d Decoder) decode_ext() ? {
189189 }
190190}
191191
192- fn (mut d Decoder) decode_string () ? {
192+ fn (mut d Decoder) decode_string () ! {
193193 ct := match d.config.write_ext {
194194 true {
195195 match d.config.string_raw {
@@ -201,22 +201,22 @@ fn (mut d Decoder) decode_string() ? {
201201 container_raw_legacy
202202 }
203203 }
204- len := d.read_container_len (ct)?
204+ len := d.read_container_len (ct)!
205205 x := d.read_n (len)
206206 println ('string: ${x.bytestr()} - len: ${len} ' )
207- d.decode_ ()?
207+ d.decode_ ()!
208208}
209209
210- fn (mut d Decoder) decode_map () ? {
210+ fn (mut d Decoder) decode_map () ! {
211211 // containerLen := d.arrayStart(d.d.ReadArrayStart())
212212 // if containerLen == 0 {
213213 // d.arrayEnd()
214214 // return
215215 // }
216216 d.next ()
217- container_len := d.read_map_start ()?
217+ container_len := d.read_map_start ()!
218218 println ('map container_len: ${container_len} ' )
219- d.decode_ ()?
219+ d.decode_ ()!
220220}
221221
222222fn (mut d Decoder) container_type () ValueType {
@@ -245,7 +245,7 @@ fn (mut d Decoder) container_type() ValueType {
245245 return .unset
246246}
247247
248- fn (mut d Decoder) read_container_len (ct ContainerType) ? int {
248+ fn (mut d Decoder) read_container_len (ct ContainerType) ! int {
249249 bd := d.bd
250250 if bd == ct.b8 {
251251 return int (d.read_1 ())
@@ -263,23 +263,23 @@ fn (mut d Decoder) read_container_len(ct ContainerType) ?int {
263263 // return
264264}
265265
266- fn (mut d Decoder) read_map_start () ? int {
266+ fn (mut d Decoder) read_map_start () ! int {
267267 // if d.advanceNil() {
268268 if d.bd == mp_nil {
269269 return container_len_nil
270270 }
271271 return d.read_container_len (container_map)
272272}
273273
274- fn (mut d Decoder) read_array_start () ? int {
274+ fn (mut d Decoder) read_array_start () ! int {
275275 // if d.advanceNil() {
276276 if d.bd == mp_nil {
277277 return container_len_nil
278278 }
279279 return d.read_container_len (container_array)
280280}
281281
282- fn (mut d Decoder) read_ext_len () ? int {
282+ fn (mut d Decoder) read_ext_len () ! int {
283283 match d.bd {
284284 mp_fix_ext_1 {
285285 d.next ()
0 commit comments