package Ġex po . modules . kotlin . functions Ċ Ċ import Ġcom . facebook . react . bridge . Arguments Ċ import Ġcom . facebook . react . bridge . Readable Array Ċ import Ġex po . modules . kotlin . AppContext Ċ import Ġex po . modules . kotlin . exception . Coded Exception Ċ import Ġex po . modules . kotlin . jni . JavaScript Module Object Ċ import Ġex po . modules . kotlin . types . Any Type Ċ import Ġex po . modules . kotlin . types . JS Type Converter Ċ Ċ class ĠSync Function Component ( ĊĠ Ġname : ĠString , ĊĠ Ġdesired Args Types : ĠArray < Any Type >, ĊĠ Ġprivate Ġval Ġbody : Ġ( args : ĠArray < out ĠAny ?> ) Ġ-> ĠAny ? Ċ ) Ġ: ĠAny Function ( name , Ġdesired Args Types ) Ġ{ ĊĠ Ġ@ Throws ( Coded Exception :: class ) ĊĠ Ġfun Ġcall ( args : ĠRead able Array ): ĠAny ? Ġ{ ĊĠĠĠ Ġreturn Ġbody ( convert Args ( args )) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġattach To JS Object ( app Context : ĠApp Context , Ġjs Object : ĠJavaScript Module Object ) Ġ{ ĊĠĠĠ Ġjs Object . register Sync Function ( name , Ġargs Count ) Ġ{ Ġargs Ġ-> ĊĠĠĠĠĠ Ġval Ġresult Ġ= Ġcall ( args ) ĊĠĠĠĠĠ Ġval Ġconverted Result Ġ= ĠJS Type Converter . convertTo JS Value ( result ) ĊĠĠĠĠĠ Ġreturn @ register Sync Function ĠArguments . from Java Args ( array Of ( converted Result )) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ