package Ġex po . modules . kotlin . jni Ċ Ċ import Ġcom . facebook . jni . Hybrid Data Ċ import Ġex po . modules . core . interfaces . DoNot Strip Ċ Ċ /** Ċ Ġ* ĠA ĠKotlin Ġrepresentation Ġof Ġj si :: Object . Ċ Ġ* ĠShould Ġbe Ġused Ġonly Ġon Ġthe Ġruntime Ġthread . Ċ Ġ*/ Ċ @ Suppress (" Kotlin J ni Missing Function ") Ċ @ DoNot Strip Ċ class ĠJavaScript Object Ġ@ DoNot Strip Ġprivate Ġconstructor (@ DoNot Strip Ġprivate Ġval Ġm Hybrid Data : ĠHy brid Data ) Ġ{ ĊĠ Ġ/** ĊĠĠ Ġ* ĠThe Ġproperty Ġdescriptor Ġoptions Ġfor Ġthe Ġproperty Ġbeing Ġdefined Ġor Ġmodified . ĊĠĠ Ġ*/ ĊĠ Ġenum Ġclass ĠProperty Descriptor ( val Ġvalue : ĠInt ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġset , Ġthe Ġtype Ġof Ġthis Ġproperty Ġdescriptor Ġmay Ġbe Ġchanged Ġand Ġif Ġthe Ġproperty Ġmay Ġbe Ġdeleted Ġfrom Ġthe Ġcorresponding Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠConfigur able ( 1 Ġshl Ġ 0 ), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġset , Ġthe Ġproperty Ġshows Ġup Ġduring Ġenumeration Ġof Ġthe Ġproperties Ġon Ġthe Ġcorresponding Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠEnumerable ( 1 Ġshl Ġ 1 ), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġset , Ġthe Ġvalue Ġassociated Ġwith Ġthe Ġproperty Ġmay Ġbe Ġchanged Ġwith Ġan Ġassignment Ġoperator . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠWrit able ( 1 Ġshl Ġ 2 ), ĊĠ Ġ} ĊĊĠ Ġexternal Ġfun Ġhas Property ( name : ĠString ): ĠBoolean ĊĠ Ġexternal Ġfun ĠgetProperty ( name : ĠString ): ĠJavaScript Value ĊĠ Ġexternal Ġfun ĠgetProperty Names (): ĠArray < String > ĊĊĠ Ġprivate Ġexternal Ġfun Ġset Bool Property ( name : ĠString , Ġvalue : ĠBoolean ) ĊĠ Ġprivate Ġexternal Ġfun Ġset Double Property ( name : ĠString , Ġvalue : ĠDouble ) ĊĠ Ġprivate Ġexternal Ġfun Ġset String Property ( name : ĠString , Ġvalue : ĠString ?) ĊĠ Ġprivate Ġexternal Ġfun Ġset JS Value Property ( name : ĠString , Ġvalue : ĠJavaScript Value ?) ĊĠ Ġprivate Ġexternal Ġfun Ġset JS ObjectProperty ( name : ĠString , Ġvalue : ĠJavaScript Object ?) ĊĠ Ġprivate Ġexternal Ġfun Ġunset Property ( name : ĠString ) ĊĊĠ Ġprivate Ġexternal Ġfun Ġdefine Bool Property ( name : ĠString , Ġvalue : ĠBoolean , Ġoptions : ĠInt ) ĊĠ Ġprivate Ġexternal Ġfun Ġdefine Double Property ( name : ĠString , Ġvalue : ĠDouble , Ġoptions : ĠInt ) ĊĠ Ġprivate Ġexternal Ġfun Ġdefine String Property ( name : ĠString , Ġvalue : ĠString ?, Ġoptions : ĠInt ) ĊĠ Ġprivate Ġexternal Ġfun Ġdefine JS Value Property ( name : ĠString , Ġvalue : ĠJavaScript Value ?, Ġoptions : ĠInt ) ĊĠ Ġprivate Ġexternal Ġfun Ġdefine JS ObjectProperty ( name : ĠString , Ġvalue : ĠJavaScript Object ?, Ġoptions : ĠInt ) ĊĊĠ Ġfun Ġset Property ( name : ĠString , Ġvalue : ĠBoolean ) Ġ= Ġset Bool Property ( name , Ġvalue ) ĊĠ Ġfun Ġset Property ( name : ĠString , Ġvalue : ĠInt ) Ġ= Ġset Double Property ( name , Ġvalue . toDouble ()) ĊĠ Ġfun Ġset Property ( name : ĠString , Ġvalue : ĠDouble ) Ġ= Ġset Double Property ( name , Ġvalue ) ĊĠ Ġfun Ġset Property ( name : ĠString , Ġvalue : ĠString ?) Ġ= Ġset String Property ( name , Ġvalue ) ĊĠ Ġfun Ġset Property ( name : ĠString , Ġvalue : ĠJavaScript Value ?) Ġ= Ġset JS Value Property ( name , Ġvalue ) ĊĠ Ġfun Ġset Property ( name : ĠString , Ġvalue : ĠJavaScript Object ?) Ġ= Ġset JS ObjectProperty ( name , Ġvalue ) ĊĊĠ Ġ// ĠN eeded Ġto Ġhandle Ġunt yped Ġnull Ġvalue ĊĠ Ġ// ĠWithout Ġit Ġset Property ( name , Ġnull ) Ġwon 't Ġwork ĊĠ Ġfun Ġset Property ( name : ĠString , Ġ` null `: ĠNothing ?) Ġ= Ġunset Property ( name ) ĊĊĠ Ġfun Ġdefine Property ( ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġvalue : ĠBoolean , ĊĠĠĠ Ġoptions : ĠList < Property Descriptor > Ġ= Ġempty List () ĊĠ Ġ) Ġ= Ġdefine Bool Property ( name , Ġvalue , Ġoptions . to Cpp Options ()) ĊĊĠ Ġfun Ġdefine Property ( ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġvalue : ĠInt , ĊĠĠĠ Ġoptions : ĠList < Property Descriptor > Ġ= Ġempty List () ĊĠ Ġ) Ġ= Ġdefine Double Property ( name , Ġvalue . toDouble (), Ġoptions . to Cpp Options ()) ĊĊĠ Ġfun Ġdefine Property ( ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġvalue : ĠDouble , ĊĠĠĠ Ġoptions : ĠList < Property Descriptor > Ġ= Ġempty List () ĊĠ Ġ) Ġ= Ġdefine Double Property ( name , Ġvalue , Ġoptions . to Cpp Options ()) ĊĊĠ Ġfun Ġdefine Property ( ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġvalue : ĠString ?, ĊĠĠĠ Ġoptions : ĠList < Property Descriptor > Ġ= Ġempty List () ĊĠ Ġ) Ġ= Ġdefine String Property ( name , Ġvalue , Ġoptions . to Cpp Options ()) ĊĊĠ Ġfun Ġdefine Property ( ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġvalue : ĠJavaScript Value ?, ĊĠĠĠ Ġoptions : ĠList < Property Descriptor > Ġ= Ġempty List () ĊĠ Ġ) Ġ= Ġdefine JS Value Property ( name , Ġvalue , Ġoptions . to Cpp Options ()) ĊĊĠ Ġfun Ġdefine Property ( ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġvalue : ĠJavaScript Object ?, ĊĠĠĠ Ġoptions : ĠList < Property Descriptor > Ġ= Ġempty List () ĊĠ Ġ) Ġ= Ġdefine JS ObjectProperty ( name , Ġvalue , Ġoptions . to Cpp Options ()) ĊĊĠ Ġ// ĠN eeded Ġto Ġhandle Ġunt yped Ġnull Ġvalue ĊĠ Ġfun Ġdefine Property ( ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġ` null `: ĠNothing ?, ĊĠĠĠ Ġoptions : ĠList < Property Descriptor > Ġ= Ġempty List () ĊĠ Ġ) Ġ= Ġdefine JS ObjectProperty ( name , Ġnull , Ġoptions . to Cpp Options ()) ĊĊĠ Ġ@ Throws ( Throwable :: class ) ĊĠ Ġprotected Ġfun Ġfinalize () Ġ{ ĊĠĠĠ Ġm Hybrid Data . reset Native () ĊĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠList < JavaScript Object . Property Descriptor >. to Cpp Options (): ĠInt Ġ= ĊĠ Ġfold ( 0 ) Ġ{ Ġacc , Ġcurrent Ġ-> ĊĠĠĠ Ġacc Ġor Ġcurrent . value ĊĠ Ġ} Ċ