Как использовать функцию «val ()» в Котлине? / расширить внешние классы JS

Я столкнулся с проблемой при попытке использовать функции Cloud для Firebase с Kotlin .

При доступе к данным из триггера базы данных вы используете snapshot.val(); функции в Javascript . В Котлине это невозможно, потому что val является ключевым словом в Котлине . Мне удалось обойти это, используя

 snapshot.`val()` 

Таким образом, я могу вызывать функции с любым именем в Котлине . Теперь я думаю, что на самом деле очень неприятно набирать этот «серьезный акцент» (`) thingy каждый раз, поэтому я попытался создать функцию расширения.

Моя проблема заключается в том, что я не знаю, как ссылаться на тип. В Javascript это DeltaSnapshot или DataSnapshot при доступе к базе данных.

Как расширить внешние классы или как я могу назвать это другим именем? Typealiases не будут работать, потому что они ограничены классами / вместо поддержки функций.

Вы пробовали следовать?

 external class MyClass { @JsName("val") fun foo() } 

В javascript класс также является объектом

 snapshot['val'](); 

Более общий

 object[functionName](); object[functionName].call(object, ...args); object[functionName].apply(object, args); 

попробуй это:

 js("snapshot.val()").yourKotlinCode 

меня устраивает