[K/JS] Add ability to use is checks on external objects

This commit is contained in:
Artem Kobzar
2023-03-10 11:33:30 +00:00
committed by Space Team
parent e5523c196e
commit ab7b429298
9 changed files with 64 additions and 0 deletions
@@ -239,3 +239,8 @@ internal fun isComparable(value: dynamic): Boolean {
@OptIn(JsIntrinsic::class)
internal fun isCharSequence(value: dynamic): Boolean =
jsTypeOf(value) == "string" || isInterface(value, jsClassIntrinsic<CharSequence>())
@OptIn(JsIntrinsic::class)
internal fun isExternalObject(value: dynamic, ktExternalObject: dynamic) =
jsEqeqeq(value, ktExternalObject) || (jsTypeOf(ktExternalObject) == "function" && jsInstanceOf(value, ktExternalObject))