package com.bitmovin.player.reactnative.extensions import com.facebook.react.bridge.* inline fun ReadableArray.toList(convert: (Dynamic) -> T): List = (0 until size()).map { i -> convert(getDynamic(i)) } fun ReadableArray.toBooleanList() = toList { it.asBoolean() } fun ReadableArray.toStringList() = toList { it.asString() } fun ReadableArray.toDoubleList() = toList { it.asDouble() } fun ReadableArray.toIntList() = toList { it.asInt() } fun ReadableArray.toListOfArrays() = toList { it.asArray() } fun ReadableArray.toMapList() = toList { it.asMap() } inline fun List.mapToReactArray( transform: (T) -> WritableMap, ): WritableArray = Arguments.createArray().also { forEach { element -> it.pushMap(transform(element)) } }