22 lines
435 B
V
22 lines
435 B
V
import json
|
|
|
|
type Test = []bool | []int | []string | string
|
|
|
|
struct Some {
|
|
t Test
|
|
}
|
|
|
|
fn test_json_decode_with_sumtype() ? {
|
|
v1 := json.decode(Some, '{"t": ["string", "string2"]}') ?
|
|
println(v1)
|
|
assert v1.t == Test(['string', 'string2'])
|
|
|
|
v2 := json.decode(Some, '{"t": [11, 22]}') ?
|
|
println(v2)
|
|
assert v2.t == Test([11, 22])
|
|
|
|
v3 := json.decode(Some, '{"t": [true, false]}') ?
|
|
println(v3)
|
|
assert v3.t == Test([true, false])
|
|
}
|