package Ġru . buy list . utils Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . reflect . Type Token Ċ import Ġru . buy list . data . entity . Cook ing Step Ċ import Ġru . buy list . data . entity . Item Ċ Ċ object ĠJson Utils Ġ{ ĊĊĠĠĠ Ġfun Ġconvert Items ToJson ( items : ĠList < Item >): ĠString Ġ= ĠGson (). toJson ( items ) ĊĊĠĠĠ Ġfun Ġconvert Items FromJson ( items : ĠString ): ĠList < Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( items . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġempty List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġobject Ġ: ĠType Token < List < Item >>() Ġ{} . type ĊĠĠĠĠĠĠĠ Ġreturn ĠGson (). fromJson ( items , Ġtype ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconvert Cook ing Steps ToJson ( steps : ĠList < Cook ing Step >): ĠString Ġ= ĠGson (). toJson ( steps ) ĊĊĠĠĠ Ġfun Ġconvert Cook ing Steps FromJson ( steps : ĠString ): ĠList < Cook ing Step > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( steps . isEmpty ()) Ġreturn Ġempty List () ĊĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġobject Ġ: ĠType Token < List < Cook ing Step >>() Ġ{} . type ĊĠĠĠĠĠĠĠ Ġreturn ĠGson (). fromJson ( steps , Ġtype ) ĊĠĠĠ Ġ} Ċ }