/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 , ĠSales force . com , Ġinc . Ċ Ġ* Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* Ġ ĠSPDX - License - Identifier : ĠBSD - 3 - Clause Ċ Ġ* ĠFor Ġfull Ġlicense Ġtext , Ġsee Ġthe ĠLICENSE Ġfile Ġin Ġthe Ġrepo Ġroot Ġor Ġhttps :// opensource . org / licenses / BSD - 3 - Clause Ċ Ġ*/ Ċ Ċ package Ġcom . sales force . k 2 v 8 Ċ Ċ import Ġcom . ec lip ses ource . v 8 . V 8 Object Ċ import Ġcom . ec lip ses ource . v 8 . utils . Memory Manager Ċ import Ġkotlinx . serialization . Deserialization Strategy Ċ import Ġkotlinx . serialization . Serial Format Ċ import Ġkotlinx . serialization . Serialization Strategy Ċ import Ġkotlinx . serialization . modules . Serial Module Ċ Ċ /** Ċ Ġ* ĠThe Ġmain Ġentry Ġpoint Ġfor ĠV 8 Object Ġserialization . Ċ Ġ*/ Ċ class ĠK 2 V 8 ( val Ġconfiguration : ĠConfiguration , Ġoverride Ġval Ġcontext : ĠSerial Module Ġ= ĠDefault Module ) Ġ: ĊĠĠĠ ĠSerial Format Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSerial izes Ġa Ġ[ T ] Ġvalue Ġto Ġa Ġ[ V 8 Object ] Ġusing Ġthe Ġ[ serializer ] Ġprovided . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġto V 8 ( serializer : ĠSerialization Strategy < T >, Ġvalue : ĠT ) Ġ= ĊĠĠĠĠĠĠĠ ĠconvertTo V 8 Object ( value , Ġserializer ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDeserial izes Ġa Ġ[ V 8 Object ] Ġvalue Ġto Ġa Ġ[ T ] Ġusing Ġthe Ġ[ de serializer ] Ġprovided . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġfrom V 8 ( de serializer : ĠDeserial ization Strategy < T >, Ġvalue : ĠV 8 Object ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġconvert From V 8 Object ( value , Ġde serializer ) ĊĠĠĠ Ġ} Ċ } Ċ