package Ġex po . modules . kotlin . jni Ċ Ċ import Ġcom . facebook . jni . Hybrid Data Ċ import Ġcom . facebook . react . tur bom odule . core . Call Invoker Holder Impl Ċ import Ġex po . modules . core . interfaces . DoNot Strip Ċ import Ġex po . modules . kotlin . AppContext Ċ import Ġex po . modules . kotlin . exception . JavaScript Evaluate Exception Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ @ Suppress (" Kotlin J ni Missing Function ") Ċ @ DoNot Strip Ċ class ĠJ SI Interop Module Registry ( app Context : ĠApp Context ) Ġ{ ĊĠ Ġprivate Ġval Ġapp Context Holder Ġ= ĠWeak Reference ( app Context ) ĊĊĠ Ġ// ĠHas Ġto Ġbe Ġcalled Ġ" m Hybrid Data " Ġ- Ġf bj ni Ġuses Ġit Ġvia Ġreflection ĊĠ Ġ@ DoNot Strip ĊĠ Ġprivate Ġval Ġm Hybrid Data Ġ= Ġinit Hybrid () ĊĊĠ Ġprivate Ġexternal Ġfun Ġinit Hybrid (): ĠHy brid Data ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠInitializes Ġthe Ġ` Ex po Modules Host Object ` Ġand Ġadds Ġit Ġto Ġthe Ġglobal Ġobject . ĊĠĠ Ġ*/ ĊĠ Ġexternal Ġfun Ġinstall J SI ( ĊĠĠĠ Ġjs Runtime Pointer : ĠLong , ĊĠĠĠ Ġjs Invoker Holder : ĠCall Invoker Holder Impl , ĊĠĠĠ Ġnative Invoker Holder : ĠCall Invoker Holder Impl ĊĠ Ġ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠInitializes Ġthe Ġtest Ġruntime . ĠShould n 't Ġbe Ġused Ġin Ġthe Ġproduction . ĊĠĠ Ġ*/ ĊĠ Ġexternal Ġfun Ġinstall J SI For Tests () ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠEvalu ates Ġgiven ĠJavaScript Ġsource Ġcode . ĊĠĠ Ġ* Ġ@ throws ĠJavaScript Evaluate Exception Ġif Ġthe Ġinput Ġformat Ġis Ġunknown Ġor Ġevaluation Ġcauses Ġan Ġerror ĊĠĠ Ġ*/ ĊĠ Ġ@ Throws ( JavaScript Evaluate Exception :: class ) ĊĠ Ġexternal Ġfun Ġevaluate Script ( script : ĠString ): ĠJavaScript Value ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġthe Ġruntime Ġglobal Ġobject ĊĠĠ Ġ*/ ĊĠ Ġexternal Ġfun Ġglobal (): ĠJavaScript Object ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġa Ġnew Ġinstance Ġof Ġ[ JavaScript Object ] ĊĠĠ Ġ*/ ĊĠ Ġexternal Ġfun Ġcreate Object (): ĠJavaScript Object ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġa Ġ` JavaScript Module Object ` Ġthat Ġis Ġa Ġbridge Ġbetween Ġ[ expo . modules . kotlin . modules . Module ] ĊĠĠ Ġ* Ġand ĠHost Object Ġexported Ġvia ĠJ SI . ĊĠĠ Ġ* ĊĠĠ Ġ* ĠThis Ġfunction Ġwill Ġbe Ġcalled Ġfrom Ġthe ĠCPP Ġimplementation . ĊĠĠ Ġ* ĠIt Ġdoesn 't Ġmake Ġsense Ġto Ġcall Ġit Ġfrom ĠKotlin . ĊĠĠ Ġ*/ ĊĠ Ġ@ Suppress (" unused ") ĊĠ Ġ@ DoNot Strip ĊĠ Ġfun Ġget JavaScript Module Object ( name : ĠString ): ĠJavaScript Module Object ? Ġ{ ĊĠĠĠ Ġreturn Ġapp Context Holder . get ()?. registry ?. getModule Holder ( name )?. js Object ĊĠ Ġ} ĊĊĠ Ġ@ Throws ( Throwable :: class ) ĊĠ Ġprotected Ġfun Ġfinalize () Ġ{ ĊĠĠĠ Ġm Hybrid Data . reset Native () ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ ĠSystem . load Library (" expo - modules - core ") ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ