🆙
Goa v3.12.3 更新情報
概要
Goa の更新情報メモです。
Goa v3.12.3
v3.12.3 の更新情報です。v3.12.1 から v3.12.2 を飛ばして v3.12.3 です。
主な変更内容
バグ修正が2点です。
#3317
Enable custom primitive types to decode by @jerejones inprimitive な型をユーザー定義の型で受け取るための変換に関する修正です。
AccountID = Type("account_id", func() {
Attribute("account_id", UInt32, func() {
Meta("struct:field:type", "hide.Uint32", "github.com/c2h5oh/hide")
})
Required("account_id")
})
Uint32 なんだけど、自分のプログラムで定義されている型(hide.Uint32)にセットしたい。みたいなときに、メタタグ struct:field:type
を利用してパッケージ(上の例では "github.com/c2h5oh/hide")と型(同様に "hide.Uint32")を指定することで直接指定した型を利用したコードが生成される、はずでしたが、バグがあったので修正されたようです。
3312
Fix to handle time.Time slice and other slices as type override by @maxmcd in #こちらも "struct:field:type" がらみのバグ修正。デフォルト値があると、ビルドできないコードが生成されてしまうケースがあったようで、修正されています。
Attribute("exdates", func() {
Default([]time.Time{})
Meta("struct:field:type", "[]time.Time", "time")
Meta("struct:tag:json", "-")
})
こんな感じのことがしたかった模様です。
Happy hacking!
Discussion