...
This commit is contained in:
@@ -54,24 +54,30 @@ fn decode_struct[T](_ T, data string) !T {
|
||||
should_skip = true
|
||||
break
|
||||
}
|
||||
if attr.contains('skipdecode') {
|
||||
should_skip = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !should_skip {
|
||||
$if field.is_struct {
|
||||
$if field.typ !is time.Time {
|
||||
if !field.name[0].is_capital() {
|
||||
// skip embedded ones
|
||||
mut data_fmt := data.replace(action_str, '')
|
||||
data_fmt = data.replace('define.${obj_name}', 'define')
|
||||
typ.$(field.name) = decode_struct(typ.$(field.name), data_fmt)!
|
||||
}
|
||||
}
|
||||
// $if field.typ !is time.Time {
|
||||
// if !field.name[0].is_capital() {
|
||||
// // skip embedded ones
|
||||
// mut data_fmt := data.replace(action_str, '')
|
||||
// data_fmt = data.replace('define.${obj_name}', 'define')
|
||||
// typ.$(field.name) = decode_struct(typ.$(field.name), data_fmt)!
|
||||
// }
|
||||
// }
|
||||
} $else $if field.is_array {
|
||||
if is_struct_array(typ.$(field.name))! {
|
||||
mut data_fmt := data.replace(action_str, '')
|
||||
data_fmt = data.replace('define.${obj_name}', 'define')
|
||||
arr := decode_array(typ.$(field.name), data_fmt)!
|
||||
typ.$(field.name) = arr
|
||||
}
|
||||
// arr := decode_array(typ.$(field.name), data_fmt)!
|
||||
// typ.$(field.name) = arr
|
||||
// if is_struct_array(typ.$(field.name))! {
|
||||
// mut data_fmt := data.replace(action_str, '')
|
||||
// data_fmt = data.replace('define.${obj_name}', 'define')
|
||||
// arr := decode_array(typ.$(field.name), data_fmt)!
|
||||
// typ.$(field.name) = arr
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -93,7 +99,9 @@ pub fn decode_array[T](_ []T, data string) ![]T {
|
||||
// for i in 0 .. val.len {
|
||||
value := T{}
|
||||
$if T is $struct {
|
||||
arr << decode_struct(value, data)!
|
||||
//arr << decode_struct(value, data)!
|
||||
}$else{
|
||||
arr << decode[T](data)!
|
||||
}
|
||||
// }
|
||||
return arr
|
||||
|
||||
Reference in New Issue
Block a user