From f7164c21c6159ed561098804b6c501835d658284 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 3 Oct 2022 16:03:38 +0530 Subject: [PATCH 01/48] - Updated package to v0.3.0 - Updated example app to use timer only for DAI ads. Otherwise progressbar will be updated using playhead updated and ad_progress - Updated metro config to watch our local package in example app - Upgraded Flipper version in android native to avoid crash --- .../KalturaPlayerRN.kt | 430 +++++++++--------- .../MainApplication.java | 1 - example/android/gradle.properties | 2 +- example/android/settings.gradle | 4 +- example/metro.config.js | 1 + example/package.json | 2 +- example/src/screens/PlayerScreen.tsx | 58 ++- package.json | 2 +- 8 files changed, 264 insertions(+), 236 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index e53c876..72baed1 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -34,8 +34,8 @@ import org.json.JSONException import org.json.JSONObject class KalturaPlayerRN( - private val context: ReactApplicationContext, - private val kalturaPlayerRNView: KalturaPlayerRNView): LifecycleEventListener { + private val context: ReactApplicationContext, + private val kalturaPlayerRNView: KalturaPlayerRNView): LifecycleEventListener { private val log = PKLog.get(KalturaPlayerRN::class.java.simpleName) @@ -59,7 +59,7 @@ class KalturaPlayerRN( if (getPlayerType() == KalturaPlayer.Type.basic) { createKalturaBasicPlayer(initOptions, promise) } else if (!TextUtils.isEmpty(initOptions) && - (getPlayerType() == KalturaPlayer.Type.ott || getPlayerType() == KalturaPlayer.Type.ovp)) { + (getPlayerType() == KalturaPlayer.Type.ott || getPlayerType() == KalturaPlayer.Type.ovp)) { createKalturaOttOvpPlayer(partnerId, initOptions, promise) } else { val message = "Player can not be created. playerType is ${getPlayerType()} and partnerId is $partnerId" @@ -106,8 +106,8 @@ class KalturaPlayerRN( kalturaPlayer?.let { if (!playerViewAdded) { it.setPlayerView( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.MATCH_PARENT + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.MATCH_PARENT ) kalturaPlayerRNView.addView(it.playerView) playerViewAdded = true @@ -146,8 +146,8 @@ class KalturaPlayerRN( * @return - the list of sources. */ private fun createMediaSources( - url: String?, - basicMediaAsset: BasicMediaAsset + url: String?, + basicMediaAsset: BasicMediaAsset ): List { log.d("createMediaSources URL is: $url") //Create new PKMediaSource instance. @@ -172,8 +172,8 @@ class KalturaPlayerRN( private fun createKalturaOttOvpPlayer(partnerId: Int, playerInitOptionsJson: String?, promise: Promise) { log.d("createKalturaOttOvpPlayer:$partnerId, \n initOptions: \n $playerInitOptionsJson") val initOptionsModel = getParsedJson( - playerInitOptionsJson, - InitOptions::class.java + playerInitOptionsJson, + InitOptions::class.java ) if (initOptionsModel == null || TextUtils.isEmpty(initOptionsModel.serverUrl) || getPlayerType() == KalturaPlayer.Type.basic) { val message = "Failed to create Player initOptionsModel : $initOptionsModel \n" + @@ -391,8 +391,8 @@ class KalturaPlayerRN( log.d("updateSubtitleStyle") if (!TextUtils.isEmpty(subtitleStyleSettings)) { val subtitleStyling = getParsedJson( - subtitleStyleSettings, - SubtitleStyling::class.java + subtitleStyleSettings, + SubtitleStyling::class.java ) subtitleStyling?.let { val style = getParsedSubtitleStyleSettings(it) @@ -411,9 +411,9 @@ class KalturaPlayerRN( try { runOnUiThread { player?.updateSurfaceAspectRatioResizeMode( - PKAspectRatioResizeMode.valueOf( - resizeMode - ) + PKAspectRatioResizeMode.valueOf( + resizeMode + ) ) } } catch (exception: IllegalArgumentException) { @@ -445,8 +445,8 @@ class KalturaPlayerRN( log.d("updateLLConfig") if (!TextUtils.isEmpty(pkLowLatencyConfig)) { val config = getParsedJson( - pkLowLatencyConfig, - PKLowLatencyConfig::class.java + pkLowLatencyConfig, + PKLowLatencyConfig::class.java ) config?.let { runOnUiThread { @@ -514,9 +514,9 @@ class KalturaPlayerRN( val thumbnailInfo: ThumbnailInfo? = player?.getThumbnailInfo(positionMs.toLong()) if (thumbnailInfo != null && positionMs >= 0) { val thumbnailInfoJson = - "{ \"position\": $positionMs, \"thumbnailInfo\": " + gson.toJson( - thumbnailInfo - ) + " }" + "{ \"position\": $positionMs, \"thumbnailInfo\": " + gson.toJson( + thumbnailInfo + ) + " }" sendCallbackToJS(promise, thumbnailInfoJson) } else { val message = "requestThumbnailInfo: thumbnailInfo is null or position = $positionMs is invalid" @@ -581,9 +581,9 @@ class KalturaPlayerRN( */ fun load(assetId: String?, mediaAssetJson: String?, promise: Promise) { log.d( - "load assetId: " + assetId + - "\n player type: " + getPlayerType() + - "\n , mediaAssetJson:" + mediaAssetJson + "load assetId: " + assetId + + "\n player type: " + getPlayerType() + + "\n , mediaAssetJson:" + mediaAssetJson ) if (player == null) { val message = "Player instance is null while loading the media. Hence returning." @@ -601,8 +601,8 @@ class KalturaPlayerRN( if (getPlayerType() == KalturaPlayer.Type.basic || isBasicPlaybackRequired(mediaAssetJson)) { val basicMediaAsset = getParsedJson( - mediaAssetJson, - BasicMediaAsset::class.java + mediaAssetJson, + BasicMediaAsset::class.java ) if (basicMediaAsset == null || basicMediaAsset.mediaFormat == null) { val message = "Invalid Media Asset for player type ${getPlayerType()} \n and media asset is $basicMediaAsset" @@ -673,8 +673,8 @@ class KalturaPlayerRN( * @param initOptionsModel InitOptions model passed by FE apps */ private fun setCommonPlayerInitOptions( - playerInitOptions: PlayerInitOptions, - initOptionsModel: InitOptions + playerInitOptions: PlayerInitOptions, + initOptionsModel: InitOptions ) { playerInitOptions.setAutoPlay(initOptionsModel.autoplay) playerInitOptions.setPreload(initOptionsModel.preload) @@ -702,21 +702,21 @@ class KalturaPlayerRN( playerInitOptions.setMulticastSettings(initOptionsModel.multicastSettings) if (initOptionsModel.networkSettings != null && initOptionsModel.networkSettings.preferredForwardBufferDuration > 0) { playerInitOptions.setLoadControlBuffers( - LoadControlBuffers().setMaxPlayerBufferMs( - initOptionsModel.networkSettings.preferredForwardBufferDuration - ) + LoadControlBuffers().setMaxPlayerBufferMs( + initOptionsModel.networkSettings.preferredForwardBufferDuration + ) ) } if ((initOptionsModel.trackSelection != null) && (initOptionsModel.trackSelection.audioLanguage != null) && (initOptionsModel.trackSelection.audioMode != null)) { playerInitOptions.setAudioLanguage( - initOptionsModel.trackSelection.audioLanguage, - initOptionsModel.trackSelection.audioMode + initOptionsModel.trackSelection.audioLanguage, + initOptionsModel.trackSelection.audioMode ) } if ((initOptionsModel.trackSelection != null) && (initOptionsModel.trackSelection.textLanguage != null) && (initOptionsModel.trackSelection.textMode != null)) { playerInitOptions.setTextLanguage( - initOptionsModel.trackSelection.textLanguage, - initOptionsModel.trackSelection.textMode + initOptionsModel.trackSelection.textLanguage, + initOptionsModel.trackSelection.textMode ) } val subtitleStyleSettings = getParsedSubtitleStyleSettings(initOptionsModel.subtitleStyling) @@ -733,9 +733,9 @@ class KalturaPlayerRN( if (initOptionsModel.subtitlePreference != null && !TextUtils.isEmpty(initOptionsModel.subtitlePreference.toString())) { try { playerInitOptions.setSubtitlePreference( - PKSubtitlePreference.valueOf( - initOptionsModel.subtitlePreference.toString() - ) + PKSubtitlePreference.valueOf( + initOptionsModel.subtitlePreference.toString() + ) ) } catch (exception: IllegalArgumentException) { log.e("Invalid subtitlePreference passed which is ${initOptionsModel.subtitlePreference}") @@ -801,10 +801,10 @@ class KalturaPlayerRN( val youboraJson: JsonObject = it.getAsJsonObject(youboraSpecialKey) if (youboraJson.has(youboraAccountCode) && youboraJson[youboraAccountCode] != null) { createOrUpdatePlugin( - PlayerPluginClass.youbora, - pkPluginConfigs, - it, - isPluginRegistration + PlayerPluginClass.youbora, + pkPluginConfigs, + it, + isPluginRegistration ) } } @@ -814,18 +814,18 @@ class KalturaPlayerRN( } registeredPlugins.ottAnalytics?.let { createOrUpdatePlugin( - PlayerPluginClass.ottAnalytics, - pkPluginConfigs, - it, - isPluginRegistration + PlayerPluginClass.ottAnalytics, + pkPluginConfigs, + it, + isPluginRegistration ) } registeredPlugins.broadpeak?.let { createOrUpdatePlugin( - PlayerPluginClass.broadpeak, - pkPluginConfigs, - it, - isPluginRegistration + PlayerPluginClass.broadpeak, + pkPluginConfigs, + it, + isPluginRegistration ) } } @@ -855,8 +855,8 @@ class KalturaPlayerRN( private fun isBasicPlaybackRequired(basicMediaAsset: String?): Boolean { if ((basicMediaAsset != null) && (playerType != null) && (playerType != KalturaPlayer.Type.basic)) { val mediaAsset = getParsedJson( - basicMediaAsset, - BasicMediaAsset::class.java + basicMediaAsset, + BasicMediaAsset::class.java ) return mediaAsset != null && mediaAsset.mediaFormat != null } @@ -876,8 +876,8 @@ class KalturaPlayerRN( log.d("DRM initialized; supported: ${pkDeviceSupportInfo.supportedDrmSchemes} isHardwareDrmSupported = ${pkDeviceSupportInfo.isHardwareDrmSupported}") val gson = Gson() sendPlayerEvent( - KalturaPlayerEvents.DRM_INITIALIZED, - gson.toJson(pkDeviceSupportInfo) + KalturaPlayerEvents.DRM_INITIALIZED, + gson.toJson(pkDeviceSupportInfo) ) } } @@ -886,61 +886,61 @@ class KalturaPlayerRN( @NonNull private fun getTracksInfo(pkTracksInfo: PKTracks): TracksInfo { val videoTracksInfo: MutableList = - ArrayList() + ArrayList() val audioTracksInfo: MutableList = - ArrayList() + ArrayList() val textTracksInfo: MutableList = - ArrayList() + ArrayList() val imageTracksInfo: MutableList = - ArrayList() + ArrayList() for ((videoTrackIndex, videoTrack: VideoTrack) in pkTracksInfo.videoTracks.withIndex()) { videoTracksInfo.add( - com.reactnativekalturaplayer.model.tracks.VideoTrack( - videoTrack.uniqueId, - videoTrack.width, - videoTrack.height, - videoTrack.bitrate, - pkTracksInfo.defaultVideoTrackIndex == videoTrackIndex, - videoTrack.isAdaptive - ) + com.reactnativekalturaplayer.model.tracks.VideoTrack( + videoTrack.uniqueId, + videoTrack.width, + videoTrack.height, + videoTrack.bitrate, + pkTracksInfo.defaultVideoTrackIndex == videoTrackIndex, + videoTrack.isAdaptive + ) ) } for ((audioTrackIndex, audioTrack: AudioTrack) in pkTracksInfo.audioTracks.withIndex()) { audioTracksInfo.add( - com.reactnativekalturaplayer.model.tracks.AudioTrack( - audioTrack.uniqueId, - audioTrack.bitrate, - audioTrack.language, - audioTrack.label, - audioTrack.channelCount, - pkTracksInfo.defaultAudioTrackIndex == audioTrackIndex - ) + com.reactnativekalturaplayer.model.tracks.AudioTrack( + audioTrack.uniqueId, + audioTrack.bitrate, + audioTrack.language, + audioTrack.label, + audioTrack.channelCount, + pkTracksInfo.defaultAudioTrackIndex == audioTrackIndex + ) ) } for ((textTrackIndex, textTrack: TextTrack) in pkTracksInfo.textTracks.withIndex()) { textTracksInfo.add( - com.reactnativekalturaplayer.model.tracks.TextTrack( - textTrack.uniqueId, - textTrack.language, - textTrack.label, - pkTracksInfo.defaultTextTrackIndex == textTrackIndex - ) + com.reactnativekalturaplayer.model.tracks.TextTrack( + textTrack.uniqueId, + textTrack.language, + textTrack.label, + pkTracksInfo.defaultTextTrackIndex == textTrackIndex + ) ) } for ((imageTrackIndex, imageTrack: ImageTrack) in pkTracksInfo.imageTracks.withIndex()) { imageTracksInfo.add( - com.reactnativekalturaplayer.model.tracks.ImageTrack( - imageTrack.uniqueId, - imageTrack.label, - imageTrack.bitrate, - imageTrack.width, - imageTrack.height, - imageTrack.cols, - imageTrack.rows, - imageTrack.duration, - imageTrack.url, - imageTrackIndex == 0 - ) + com.reactnativekalturaplayer.model.tracks.ImageTrack( + imageTrack.uniqueId, + imageTrack.label, + imageTrack.bitrate, + imageTrack.width, + imageTrack.height, + imageTrack.cols, + imageTrack.rows, + imageTrack.duration, + imageTrack.url, + imageTrackIndex == 0 + ) ) } @@ -964,14 +964,14 @@ class KalturaPlayerRN( when (error.errorType) { is PKPlayerErrorType -> { errorJson.addProperty( - "errorCode", - (error.errorType as PKPlayerErrorType).errorCode.toString() + "errorCode", + (error.errorType as PKPlayerErrorType).errorCode.toString() ) } is PKAdErrorType -> { errorJson.addProperty( - "errorCode", - (error.errorType as PKAdErrorType).errorCode.toString() + "errorCode", + (error.errorType as PKAdErrorType).errorCode.toString() ) } else -> { @@ -1019,10 +1019,10 @@ class KalturaPlayerRN( * @param isPluginRegistration `true` to register the plugin else update plugin config */ private fun createOrUpdatePlugin( - pluginName: PlayerPluginClass, - pluginConfigs: PKPluginConfigs?, - pluginConfigJson: JsonObject?, - isPluginRegistration: Boolean + pluginName: PlayerPluginClass, + pluginConfigs: PKPluginConfigs?, + pluginConfigJson: JsonObject?, + isPluginRegistration: Boolean ) { val pluginFactoryClass = getPluginFactory(pluginName) @@ -1057,10 +1057,10 @@ class KalturaPlayerRN( } } else { log.e( - ("Can not create or update the plugin ${pluginConfigClass.simpleName} \n " + - "pluginConfig is: $pluginConfigs \n " + - "imaConfig json is: $pluginConfigJson \n " + - "isPluginRegistration $isPluginRegistration") + ("Can not create or update the plugin ${pluginConfigClass.simpleName} \n " + + "pluginConfig is: $pluginConfigs \n " + + "imaConfig json is: $pluginConfigJson \n " + + "isPluginRegistration $isPluginRegistration") ) } } @@ -1105,11 +1105,11 @@ class KalturaPlayerRN( } subtitleStyleSettings = SubtitleStyleSettings(sbtStyling.subtitleStyleName) - .setBackgroundColor(backgroundColor ?: Color.BLACK) - .setTextColor(textColor ?: Color.WHITE) - .setTextSizeFraction(sbtStyling.getSubtitleTextSizeFraction()) - .setTypeface(sbtStyling.getSubtitleStyleTypeface()) - .setEdgeType(sbtStyling.getSubtitleEdgeType()) + .setBackgroundColor(backgroundColor ?: Color.BLACK) + .setTextColor(textColor ?: Color.WHITE) + .setTextSizeFraction(sbtStyling.getSubtitleTextSizeFraction()) + .setTypeface(sbtStyling.getSubtitleStyleTypeface()) + .setEdgeType(sbtStyling.getSubtitleEdgeType()) sbtStyling.subtitleWindowColor?.let { sbtStyling.getStringToColor(it)?.let { windowColor -> @@ -1132,9 +1132,9 @@ class KalturaPlayerRN( sbtStyling.verticalPositionPercentage?.let { verticalPercentage -> sbtStyling.horizontalPositionPercentage?.let { horizontalPercentage -> pkSubtitlePosition.setPosition( - horizontalPercentage, - verticalPercentage, - sbtStyling.getHorizontalAlignment() + horizontalPercentage, + verticalPercentage, + sbtStyling.getHorizontalAlignment() ) } } @@ -1162,8 +1162,8 @@ class KalturaPlayerRN( return gson.fromJson(parsableJson, parsingClass) } catch (exception: JsonSyntaxException) { log.e( - ("JsonSyntaxException while parsing " + parsingClass.simpleName + "\n and the exception is \n" + - exception.message) + ("JsonSyntaxException while parsing " + parsingClass.simpleName + "\n and the exception is \n" + + exception.message) ) } return null @@ -1242,16 +1242,16 @@ class KalturaPlayerRN( player?.addListener(context, PlayerEvent.durationChanged) { event: PlayerEvent.DurationChanged -> reportedDuration = event.duration val durationJson: String = createJSONForEventPayload( - "duration", - (event.duration / Consts.MILLISECONDS_MULTIPLIER_FLOAT) + "duration", + (event.duration / Consts.MILLISECONDS_MULTIPLIER_FLOAT) ) sendPlayerEvent(KalturaPlayerEvents.DURATION_CHANGE, durationJson) } player?.addListener(context, PlayerEvent.playheadUpdated) { event: PlayerEvent.PlayheadUpdated -> var timeUpdatePayload: String = - ("\"position\": " + (event.position / Consts.MILLISECONDS_MULTIPLIER_FLOAT) + - ", \"bufferPosition\": " + (event.bufferPosition / Consts.MILLISECONDS_MULTIPLIER_FLOAT)) + ("\"position\": " + (event.position / Consts.MILLISECONDS_MULTIPLIER_FLOAT) + + ", \"bufferPosition\": " + (event.bufferPosition / Consts.MILLISECONDS_MULTIPLIER_FLOAT)) timeUpdatePayload = if ((player != null) && player?.isLive!! && (player?.currentProgramTime!! > 0)) { ("{ " + timeUpdatePayload + @@ -1267,12 +1267,12 @@ class KalturaPlayerRN( if (reportedDuration != event.duration && event.duration > 0) { reportedDuration = event.duration if ((player != null) && (player?.mediaEntry != null) && (player?.mediaEntry!! - .mediaType != PKMediaEntry.MediaEntryType.Vod) /*|| player.isLive()*/) { + .mediaType != PKMediaEntry.MediaEntryType.Vod) /*|| player.isLive()*/) { sendPlayerEvent( - KalturaPlayerEvents.LOAD_TIME_RANGES, - ("{\"timeRanges\": [ { \"start\": " + 0 + - ", \"end\": " + (event.duration / Consts.MILLISECONDS_MULTIPLIER_FLOAT) + - " } ] }") + KalturaPlayerEvents.LOAD_TIME_RANGES, + ("{\"timeRanges\": [ { \"start\": " + 0 + + ", \"end\": " + (event.duration / Consts.MILLISECONDS_MULTIPLIER_FLOAT) + + " } ] }") ) } } @@ -1280,15 +1280,15 @@ class KalturaPlayerRN( player?.addListener(context, PlayerEvent.stateChanged) { event: PlayerEvent.StateChanged -> sendPlayerEvent( - KalturaPlayerEvents.STATE_CHANGED, - createJSONForEventPayload("newState", event.newState.name) + KalturaPlayerEvents.STATE_CHANGED, + createJSONForEventPayload("newState", event.newState.name) ) } player?.addListener(context, PlayerEvent.tracksAvailable) { event: PlayerEvent.TracksAvailable -> sendPlayerEvent( - KalturaPlayerEvents.TRACKS_AVAILABLE, - gson.toJson(getTracksInfo(event.tracksInfo)) + KalturaPlayerEvents.TRACKS_AVAILABLE, + gson.toJson(getTracksInfo(event.tracksInfo)) ) } player?.addListener(context, PlayerEvent.loadedMetadata) { _: PKEvent? -> sendPlayerEvent(KalturaPlayerEvents.LOADED_METADATA) } @@ -1297,27 +1297,27 @@ class KalturaPlayerRN( player?.addListener(context, PlayerEvent.volumeChanged) { event: PlayerEvent.VolumeChanged -> sendPlayerEvent( - KalturaPlayerEvents.VOLUME_CHANGED, - createJSONForEventPayload("volume", event.volume) + KalturaPlayerEvents.VOLUME_CHANGED, + createJSONForEventPayload("volume", event.volume) ) } player?.addListener(context, - PlayerEvent.surfaceAspectRationSizeModeChanged) { event: PlayerEvent.SurfaceAspectRationResizeModeChanged -> + PlayerEvent.surfaceAspectRationSizeModeChanged) { event: PlayerEvent.SurfaceAspectRationResizeModeChanged -> sendPlayerEvent( - KalturaPlayerEvents.ASPECT_RATIO_RESIZE_MODE_CHANGED, - createJSONForEventPayload( - "surfaceAspectRationSizeModeChanged", - event.resizeMode.name - ) + KalturaPlayerEvents.ASPECT_RATIO_RESIZE_MODE_CHANGED, + createJSONForEventPayload( + "surfaceAspectRationSizeModeChanged", + event.resizeMode.name + ) ) } player?.addListener(context, - PlayerEvent.subtitlesStyleChanged) { event: PlayerEvent.SubtitlesStyleChanged -> + PlayerEvent.subtitlesStyleChanged) { event: PlayerEvent.SubtitlesStyleChanged -> sendPlayerEvent( - KalturaPlayerEvents.SUBTITLE_STYLE_CHANGED, - createJSONForEventPayload("subtitlesStyleChanged", event.styleName) + KalturaPlayerEvents.SUBTITLE_STYLE_CHANGED, + createJSONForEventPayload("subtitlesStyleChanged", event.styleName) ) } @@ -1349,35 +1349,34 @@ class KalturaPlayerRN( ) } player?.addListener(context, - PlayerEvent.playbackInfoUpdated) { event: PlayerEvent.PlaybackInfoUpdated -> + PlayerEvent.playbackInfoUpdated) { event: PlayerEvent.PlaybackInfoUpdated -> sendPlayerEvent( - KalturaPlayerEvents.PLAYBACK_INFO_UPDATED, - createJSONForEventPayload(jsonKeyAndroid, gson.toJson(event.playbackInfo)) + KalturaPlayerEvents.PLAYBACK_INFO_UPDATED, + createJSONForEventPayload(jsonKeyAndroid, gson.toJson(event.playbackInfo)) ) } player?.addListener(context, PlayerEvent.seeking) { event: PlayerEvent.Seeking -> sendPlayerEvent( - KalturaPlayerEvents.SEEKING, - createJSONForEventPayload( - "targetPosition", - (event.targetPosition / Consts.MILLISECONDS_MULTIPLIER_FLOAT) - ) + KalturaPlayerEvents.SEEKING, + createJSONForEventPayload( + "targetPosition", + (event.targetPosition / Consts.MILLISECONDS_MULTIPLIER_FLOAT) + ) ) } player?.addListener(context, PlayerEvent.seeked) { _: PKEvent? -> sendPlayerEvent(KalturaPlayerEvents.SEEKED) } player?.addListener(context, PlayerEvent.error) { event: PlayerEvent.Error -> - if (event.error.isFatal) { - sendPlayerEvent(KalturaPlayerEvents.ERROR, getErrorJson(event.error)) - } + log.d("Gourav Native Side PlayerEvent error = ${event.error}") + sendPlayerEvent(KalturaPlayerEvents.ERROR, getErrorJson(event.error)) } player?.addListener(context, PlayerEvent.metadataAvailable) { event: PlayerEvent.MetadataAvailable -> if (event.metadataList.isNotEmpty()) { sendPlayerEvent( - KalturaPlayerEvents.METADATA_AVAILABLE, - gson.toJson(event.metadataList) + KalturaPlayerEvents.METADATA_AVAILABLE, + gson.toJson(event.metadataList) ) } } @@ -1385,8 +1384,8 @@ class KalturaPlayerRN( player?.addListener(context, PlayerEvent.eventStreamChanged) { event: PlayerEvent.EventStreamChanged -> if (event.eventStreamList.isNotEmpty()) { sendPlayerEvent( - KalturaPlayerEvents.EVENT_STREAM_CHANGED, - gson.toJson(event.eventStreamList) + KalturaPlayerEvents.EVENT_STREAM_CHANGED, + gson.toJson(event.eventStreamList) ) } } @@ -1397,11 +1396,11 @@ class KalturaPlayerRN( } player?.addListener(context, - PlayerEvent.playbackRateChanged) { event: PlayerEvent.PlaybackRateChanged -> + PlayerEvent.playbackRateChanged) { event: PlayerEvent.PlaybackRateChanged -> if (event.rate > 0) { sendPlayerEvent( - KalturaPlayerEvents.PLAYBACK_RATE_CHANGED, - createJSONForEventPayload("rate", event.rate) + KalturaPlayerEvents.PLAYBACK_RATE_CHANGED, + createJSONForEventPayload("rate", event.rate) ) } } @@ -1409,57 +1408,57 @@ class KalturaPlayerRN( player?.addListener(context, PlayerEvent.connectionAcquired) { event: PlayerEvent.ConnectionAcquired -> if (event.uriConnectionAcquiredInfo != null) { sendPlayerEvent( - KalturaPlayerEvents.CONNECTION_ACQUIRED, - gson.toJson(event.uriConnectionAcquiredInfo) + KalturaPlayerEvents.CONNECTION_ACQUIRED, + gson.toJson(event.uriConnectionAcquiredInfo) ) } } player?.addListener(context, PlayerEvent.videoFramesDropped) { event: PlayerEvent.VideoFramesDropped -> sendPlayerEvent( - KalturaPlayerEvents.VIDEO_FRAMES_DROPPED, - ("{ \"droppedVideoFrames\": " + event.droppedVideoFrames + - ", \"droppedVideoFramesPeriod\": " + event.droppedVideoFramesPeriod + - ", \"totalDroppedVideoFrames\": " + event.totalDroppedVideoFrames + - " }") + KalturaPlayerEvents.VIDEO_FRAMES_DROPPED, + ("{ \"droppedVideoFrames\": " + event.droppedVideoFrames + + ", \"droppedVideoFramesPeriod\": " + event.droppedVideoFramesPeriod + + ", \"totalDroppedVideoFrames\": " + event.totalDroppedVideoFrames + + " }") ) } player?.addListener(context, - PlayerEvent.outputBufferCountUpdate) { event: PlayerEvent.OutputBufferCountUpdate -> + PlayerEvent.outputBufferCountUpdate) { event: PlayerEvent.OutputBufferCountUpdate -> sendPlayerEvent( - KalturaPlayerEvents.OUTPUT_BUFFER_COUNT_UPDATE, - ("{ \"skippedOutputBufferCount\": " + event.skippedOutputBufferCount + - ", \"renderedOutputBufferCount\": " + event.renderedOutputBufferCount + - " }") + KalturaPlayerEvents.OUTPUT_BUFFER_COUNT_UPDATE, + ("{ \"skippedOutputBufferCount\": " + event.skippedOutputBufferCount + + ", \"renderedOutputBufferCount\": " + event.renderedOutputBufferCount + + " }") ) } player?.addListener(context, PlayerEvent.bytesLoaded) { event: PlayerEvent.BytesLoaded -> sendPlayerEvent( - KalturaPlayerEvents.BYTES_LOADED, ("{ \"bytesLoaded\": " + event.bytesLoaded + - ", \"dataType\": " + event.dataType + - ", \"loadDuration\": " + event.loadDuration + - ", \"totalBytesLoaded\": " + event.totalBytesLoaded + - ", \"trackType\": " + event.trackType + - " }") + KalturaPlayerEvents.BYTES_LOADED, ("{ \"bytesLoaded\": " + event.bytesLoaded + + ", \"dataType\": " + event.dataType + + ", \"loadDuration\": " + event.loadDuration + + ", \"totalBytesLoaded\": " + event.totalBytesLoaded + + ", \"trackType\": " + event.trackType + + " }") ) } player?.addListener(context, AdEvent.adProgress) { event: AdEvent.AdProgress -> sendPlayerEvent( - KalturaPlayerAdEvents.AD_PROGRESS, - createJSONForEventPayload( - "currentAdPosition", - (event.currentAdPosition / Consts.MILLISECONDS_MULTIPLIER_FLOAT) - ) + KalturaPlayerAdEvents.AD_PROGRESS, + createJSONForEventPayload( + "currentAdPosition", + (event.currentAdPosition / Consts.MILLISECONDS_MULTIPLIER_FLOAT) + ) ) } player?.addListener(context, AdEvent.loaded) { event: AdEvent.AdLoadedEvent -> sendPlayerEvent( - KalturaPlayerAdEvents.LOADED, - gson.toJson(event.adInfo) + KalturaPlayerAdEvents.LOADED, + gson.toJson(event.adInfo) ) } @@ -1475,7 +1474,7 @@ class KalturaPlayerRN( player?.addListener(context, AdEvent.started) { _: AdEvent.AdStartedEvent? -> sendPlayerEvent( - KalturaPlayerAdEvents.STARTED + KalturaPlayerAdEvents.STARTED ) } @@ -1483,47 +1482,47 @@ class KalturaPlayerRN( player?.addListener(context, AdEvent.paused) { _: AdEvent.AdPausedEvent? -> sendPlayerEvent( - KalturaPlayerAdEvents.PAUSED + KalturaPlayerAdEvents.PAUSED ) } player?.addListener(context, AdEvent.resumed) { _: AdEvent.AdResumedEvent? -> sendPlayerEvent( - KalturaPlayerAdEvents.RESUMED + KalturaPlayerAdEvents.RESUMED ) } player?.addListener(context, AdEvent.adBufferStart) { event: AdEvent.AdBufferStart -> sendPlayerEvent( - KalturaPlayerAdEvents.AD_BUFFER_START, - createJSONForEventPayload("adPosition", event.adPosition) + KalturaPlayerAdEvents.AD_BUFFER_START, + createJSONForEventPayload("adPosition", event.adPosition) ) } player?.addListener(context, AdEvent.adBufferEnd) { event: AdEvent.AdBufferEnd -> sendPlayerEvent( - KalturaPlayerAdEvents.AD_BUFFER_END, - createJSONForEventPayload("adPosition", event.adPosition) + KalturaPlayerAdEvents.AD_BUFFER_END, + createJSONForEventPayload("adPosition", event.adPosition) ) } player?.addListener(context, AdEvent.adClickedEvent) { event: AdEvent.AdClickedEvent -> sendPlayerEvent( - KalturaPlayerAdEvents.CLICKED, - createJSONForEventPayload("clickThroughUrl", event.clickThruUrl) + KalturaPlayerAdEvents.CLICKED, + createJSONForEventPayload("clickThroughUrl", event.clickThruUrl) ) } player?.addListener(context, AdEvent.skipped) { _: AdEvent.AdSkippedEvent? -> sendPlayerEvent( - KalturaPlayerAdEvents.SKIPPED + KalturaPlayerAdEvents.SKIPPED ) } player?.addListener(context, AdEvent.adRequested) { event: AdEvent.AdRequestedEvent -> sendPlayerEvent( - KalturaPlayerAdEvents.AD_REQUESTED, - createJSONForEventPayload("adTagUrl", event.adTagUrl) + KalturaPlayerAdEvents.AD_REQUESTED, + createJSONForEventPayload("adTagUrl", event.adTagUrl) ) } @@ -1537,6 +1536,7 @@ class KalturaPlayerRN( player?.addListener(context, AdEvent.allAdsCompleted) { _: PKEvent? -> sendPlayerEvent(KalturaPlayerAdEvents.ALL_ADS_COMPLETED) } player?.addListener(context, AdEvent.error) { event: AdEvent.Error -> + log.d("Gourav Native Side AdEvent error = ${event.error}") if (event.error.isFatal) { sendPlayerEvent(KalturaPlayerAdEvents.ERROR, getErrorJson(event.error)) } @@ -1571,52 +1571,52 @@ class KalturaPlayerRN( player?.addListener(context, AdEvent.playHeadChanged ) { event: AdEvent.AdPlayHeadEvent -> sendPlayerEvent( - KalturaPlayerAdEvents.PLAY_HEAD_CHANGED, - createJSONForEventPayload("adPlayHead", event.adPlayHead) + KalturaPlayerAdEvents.PLAY_HEAD_CHANGED, + createJSONForEventPayload("adPlayHead", event.adPlayHead) ) } player?.addListener(context, AdEvent.adPlaybackInfoUpdated ) { event: AdEvent.AdPlaybackInfoUpdated -> sendPlayerEvent( - KalturaPlayerAdEvents.AD_PLAYBACK_INFO_UPDATED, - ("{ \"bitrate\": " + event.bitrate + - ", \"height\": " + event.height + - ", \"width\": " + event.width + - " }") + KalturaPlayerAdEvents.AD_PLAYBACK_INFO_UPDATED, + ("{ \"bitrate\": " + event.bitrate + + ", \"height\": " + event.height + + ", \"width\": " + event.width + + " }") ) } player?.addListener(context, AdEvent.daiSourceSelected ) { event: AdEvent.DAISourceSelected -> sendPlayerEvent( - KalturaPlayerAdEvents.DAI_SOURCE_SELECTED, - createJSONForEventPayload("sourceURL", event.sourceURL) + KalturaPlayerAdEvents.DAI_SOURCE_SELECTED, + createJSONForEventPayload("sourceURL", event.sourceURL) ) } player?.addListener(context, PhoenixAnalyticsEvent.bookmarkError) { event: PhoenixAnalyticsEvent.BookmarkErrorEvent -> sendPlayerEvent( - KalturaPlayerAnalyticsEvents.PHOENIX_BOOKMARK_ERROR, - ("{ \"errorMessage\": \"" + event.errorMessage + "\" " + - ", \"errorCode\": \"" + event.errorCode + "\" " + - ", \"errorType\": \"" + event.type + "\" " + - " }") + KalturaPlayerAnalyticsEvents.PHOENIX_BOOKMARK_ERROR, + ("{ \"errorMessage\": \"" + event.errorMessage + "\" " + + ", \"errorCode\": \"" + event.errorCode + "\" " + + ", \"errorType\": \"" + event.type + "\" " + + " }") ) } player?.addListener(context, PhoenixAnalyticsEvent.concurrencyError) { event: PhoenixAnalyticsEvent.ConcurrencyErrorEvent -> sendPlayerEvent( - KalturaPlayerAnalyticsEvents.PHOENIX_CONCURRENCY_ERROR, - ("{ \"errorMessage\": \"" + event.errorMessage + "\" " + - ", \"errorCode\": \"" + event.errorCode + "\" " + - ", \"errorType\": \"" + event.type + "\" " + - " }") + KalturaPlayerAnalyticsEvents.PHOENIX_CONCURRENCY_ERROR, + ("{ \"errorMessage\": \"" + event.errorMessage + "\" " + + ", \"errorCode\": \"" + event.errorCode + "\" " + + ", \"errorType\": \"" + event.type + "\" " + + " }") ) } player?.addListener(context, PhoenixAnalyticsEvent.error) { event: PhoenixAnalyticsEvent.ErrorEvent -> sendPlayerEvent( - KalturaPlayerAnalyticsEvents.PHOENIX_ERROR, - ("{ \"errorMessage\": \"" + event.errorMessage + "\" " + - ", \"errorCode\": \"" + event.errorCode + "\" " + - ", \"errorType\": \"" + event.type + "\" " + - " }") + KalturaPlayerAnalyticsEvents.PHOENIX_ERROR, + ("{ \"errorMessage\": \"" + event.errorMessage + "\" " + + ", \"errorCode\": \"" + event.errorCode + "\" " + + ", \"errorType\": \"" + event.type + "\" " + + " }") ) } // player?.addListener(context, BroadpeakEvent.error) { event: BroadpeakEvent.ErrorEvent -> diff --git a/example/android/app/src/main/java/com/example/reactnativekalturaplayer/MainApplication.java b/example/android/app/src/main/java/com/example/reactnativekalturaplayer/MainApplication.java index 66f25c7..cad16c2 100644 --- a/example/android/app/src/main/java/com/example/reactnativekalturaplayer/MainApplication.java +++ b/example/android/app/src/main/java/com/example/reactnativekalturaplayer/MainApplication.java @@ -11,7 +11,6 @@ import com.facebook.soloader.SoLoader; import java.lang.reflect.InvocationTargetException; import java.util.List; -import com.reactnativekalturaplayer.KalturaPlayerPackage; public class MainApplication extends NavigationApplication { diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 4b166ee..bd82513 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -20,4 +20,4 @@ org.gradle.jvmargs=-Xmx2048m android.useAndroidX=true android.enableJetifier=true -FLIPPER_VERSION=0.54.0 +FLIPPER_VERSION=0.99.0 diff --git a/example/android/settings.gradle b/example/android/settings.gradle index bd7bd8d..3c9eeb6 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -2,8 +2,8 @@ rootProject.name = 'KalturaPlayerExample' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' -//include ':react-native-kaltura-player' -//project(':react-native-kaltura-player').projectDir = new File(rootProject.projectDir, '../../android') +include ':kaltura-player-rn' +project(':kaltura-player-rn').projectDir = new File(rootProject.projectDir, '../node_modules/kaltura-player-rn/android') //include ':tvplayer' //project(':tvplayer').projectDir = new File('../../../kaltura-player-android/tvplayer') diff --git a/example/metro.config.js b/example/metro.config.js index a6fc35a..1d4588b 100644 --- a/example/metro.config.js +++ b/example/metro.config.js @@ -16,6 +16,7 @@ module.exports = { // We need to make sure that only one version is loaded for peerDependencies // So we blacklist them at the root, and alias them to the versions in example's node_modules resolver: { + nodeModulesPaths: [root], blacklistRE: blacklist( modules.map( (m) => diff --git a/example/package.json b/example/package.json index 2c360c5..b91425c 100644 --- a/example/package.json +++ b/example/package.json @@ -11,7 +11,7 @@ "dependencies": { "@miblanchard/react-native-slider": "^2.1.0", "@react-native-community/netinfo": "^9.0.0", - "kaltura-player-rn": "^0.2.0", + "kaltura-player-rn": "../../kaltura-player-rn", "react": "17.0.2", "react-native": "^0.66.3", "react-native-element-dropdown": "^1.8.10", diff --git a/example/src/screens/PlayerScreen.tsx b/example/src/screens/PlayerScreen.tsx index 92347d7..a1f6518 100644 --- a/example/src/screens/PlayerScreen.tsx +++ b/example/src/screens/PlayerScreen.tsx @@ -99,6 +99,8 @@ export default class App extends React.Component { // Change Media helpers isChangeMediaAvailable: false, currentChangeMediaIndex: 0, + + isDAIPluginAvailable: false, }; // Subscribe networkUnsubscribe = NetInfo.addEventListener((state) => { @@ -126,11 +128,6 @@ export default class App extends React.Component { playerType = PLAYER_TYPE.OTT; } - this.progressInterval = setInterval(() => { - console.log(`Inside progressInterval timer`); - this.getPlayerCurrentPosition(); - }, timerInterval); - var asset = null; var mediaId = null; var partnerId = this.props.incomingJson.partnerId; // Required only for OTT/OVP Player @@ -154,6 +151,15 @@ export default class App extends React.Component { return; } + var isDaiPlugin = options.plugins.imadai; + console.log(`isDaiPlugin = ${JSON.stringify(isDaiPlugin)}`); + if (isDaiPlugin) { + console.log(`isDaiPlugin = true`); + this.setState(() => ({ + isDAIPluginAvailable: true, + })); + } + this.subscribeToAppLifecyle(); this.player.enableDebugLogs(true); @@ -164,12 +170,21 @@ export default class App extends React.Component { JSON.stringify(asset), mediaId, partnerId - ).then((_) => this.subscribeToPlayerListeners()); // Subscribe to Player Events + ).then((_) => { + // Subscribe to Player Events + this.subscribeToPlayerListeners() + + if (this.state.isDAIPluginAvailable) { + this.startDAIPositionTimer(); + } + }); } componentWillUnmount() { this._isMounted = false; - clearInterval(this.progressInterval); + if (this.progressInterval != null) { + clearInterval(this.progressInterval); + } this.removePlayerListeners(); if (networkUnsubscribe != null) { networkUnsubscribe(); @@ -337,12 +352,18 @@ export default class App extends React.Component { })); }; + startDAIPositionTimer() { + this.progressInterval = setInterval(() => { + console.log(`Inside progressInterval timer`); + this.getPlayerCurrentPosition(); + }, timerInterval); + } + /** * Add the Kaltura Player listeners to * add the Player, Ad and other Analytics * events * - * @param player Kaltura Player */ subscribeToPlayerListeners = () => { eventsSubscriptionList.push( @@ -373,8 +394,13 @@ export default class App extends React.Component { !this.isSliderSeeking && !this.state.isAdPlaying ) { + if (!this.state.isDAIPluginAvailable) { + this.setState(() => ({ + currentPosition: payload.position, + })); + } + this.setState(() => ({ - //currentPosition: payload.position, totalDuration: this.contentDuration, })); } @@ -421,7 +447,7 @@ export default class App extends React.Component { eventsSubscriptionList.push( playerEventEmitter.addListener(PlayerEvents.ERROR, (payload) => { - console.error('PlayerEvent ERROR : ' + JSON.stringify(payload)); + console.log('Gourav PlayerEvent ERROR : ' + JSON.stringify(payload)); }) ); @@ -608,11 +634,13 @@ export default class App extends React.Component { eventsSubscriptionList.push( playerEventEmitter.addListener(AdEvents.AD_PROGRESS, (payload) => { console.log('AdEvent AD_PROGRESS : ' + payload.currentAdPosition); - // if (this._isMounted && payload.currentAdPosition != null) { - // this.setState(() => ({ - // currentPosition: payload.currentAdPosition, - // })); - // } + if (this._isMounted && payload.currentAdPosition != null) { + if (!this.state.isDAIPluginAvailable) { + this.setState(() => ({ + currentPosition: payload.currentAdPosition, + })); + } + } }) ); diff --git a/package.json b/package.json index fbf67d2..22dcc98 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kaltura-player-rn", - "version": "0.2.0", + "version": "0.3.0", "description": "React Native Library for KalturaPlayer", "main": "lib/commonjs/index", "module": "lib/module/index", From ee4bdde7e0bbbd39a4fc452dbc5eb02eb4e18d78 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 3 Oct 2022 16:08:49 +0530 Subject: [PATCH 02/48] - cleanup --- .../main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt | 2 -- example/src/screens/PlayerScreen.tsx | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index 72baed1..ea567d5 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -1368,7 +1368,6 @@ class KalturaPlayerRN( player?.addListener(context, PlayerEvent.seeked) { _: PKEvent? -> sendPlayerEvent(KalturaPlayerEvents.SEEKED) } player?.addListener(context, PlayerEvent.error) { event: PlayerEvent.Error -> - log.d("Gourav Native Side PlayerEvent error = ${event.error}") sendPlayerEvent(KalturaPlayerEvents.ERROR, getErrorJson(event.error)) } @@ -1536,7 +1535,6 @@ class KalturaPlayerRN( player?.addListener(context, AdEvent.allAdsCompleted) { _: PKEvent? -> sendPlayerEvent(KalturaPlayerAdEvents.ALL_ADS_COMPLETED) } player?.addListener(context, AdEvent.error) { event: AdEvent.Error -> - log.d("Gourav Native Side AdEvent error = ${event.error}") if (event.error.isFatal) { sendPlayerEvent(KalturaPlayerAdEvents.ERROR, getErrorJson(event.error)) } diff --git a/example/src/screens/PlayerScreen.tsx b/example/src/screens/PlayerScreen.tsx index a1f6518..dcffda3 100644 --- a/example/src/screens/PlayerScreen.tsx +++ b/example/src/screens/PlayerScreen.tsx @@ -447,7 +447,7 @@ export default class App extends React.Component { eventsSubscriptionList.push( playerEventEmitter.addListener(PlayerEvents.ERROR, (payload) => { - console.log('Gourav PlayerEvent ERROR : ' + JSON.stringify(payload)); + console.log('PlayerEvent ERROR : ' + JSON.stringify(payload)); }) ); From 6a5abb47ce12e91bcc502a29a29a9d71272abf46 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 3 Oct 2022 16:17:31 +0530 Subject: [PATCH 03/48] - cleanup --- example/src/test/PlayerTest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/example/src/test/PlayerTest.json b/example/src/test/PlayerTest.json index bb62215..d943692 100644 --- a/example/src/test/PlayerTest.json +++ b/example/src/test/PlayerTest.json @@ -118,8 +118,8 @@ "youbora": { "params": { "accountCode": "kalturatest", - "username": "gourav_rn", - "userEmail": "gourav_rn@mobile.com", + "username": "test_rn", + "userEmail": "test_rn@mobile.com", "userAnonymousId": "user_anonymous_Id", "userType": "user_type", "houseHoldId": "zxzxz", From c1c8a3b954565a545f268fbef75710ea59db9227 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Tue, 4 Oct 2022 12:38:59 +0530 Subject: [PATCH 04/48] - Updated bridge package.json with meaningful details. --- package.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 22dcc98..724a67b 100644 --- a/package.json +++ b/package.json @@ -33,15 +33,19 @@ "keywords": [ "react-native", "ios", - "android" + "android", + "video player", + "video streaming", + "exoplayer", + "avplayer" ], - "repository": "https://www.kaltura.com", + "repository": "https://github.com/kaltura/kaltura-player-rn", "author": "Player Team (https://www.kaltura.com)", "license": "AGPL-3.0", "bugs": { - "url": "https://www.kaltura.com/issues" + "url": "https://github.com/kaltura/kaltura-player-rn/issues" }, - "homepage": "https://www.kaltura.com#readme", + "homepage": "https://github.com/kaltura/kaltura-player-rn#readme", "publishConfig": { "registry": "https://registry.npmjs.org/" }, From 702538992d28396d62ef31066de4b8a95d514456 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Tue, 4 Oct 2022 16:10:08 +0530 Subject: [PATCH 05/48] - Updated missing constants --- package.json | 4 +++- src/consts.tsx | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 724a67b..317785b 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,8 @@ "bootstrap": "yarn example && yarn && yarn pods" }, "keywords": [ + "react native video players", + "react native video player", "react-native", "ios", "android", @@ -40,7 +42,7 @@ "avplayer" ], "repository": "https://github.com/kaltura/kaltura-player-rn", - "author": "Player Team (https://www.kaltura.com)", + "author": "Kaltura Player Team (community@kaltura.com)", "license": "AGPL-3.0", "bugs": { "url": "https://github.com/kaltura/kaltura-player-rn/issues" diff --git a/src/consts.tsx b/src/consts.tsx index 0e5ba1b..4c88c3c 100644 --- a/src/consts.tsx +++ b/src/consts.tsx @@ -160,3 +160,13 @@ export enum MULTICAST_EXTRACTOR_MODE { MODE_SINGLE_PMT = 'MODE_SINGLE_PMT', MODE_HLS = 'MODE_HLS' } + +export enum IMA_AD_TAG_TYPE { + VMAP = "VMAP", + VAST = "VAST" +} + +export enum IMADAI_STREAM_FORMAT { + DASH = "DASH", + HLS = "HLS" +} From c786d8bbe80c9176e7f5c92a40e775151a08380f Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Thu, 6 Oct 2022 13:28:30 +0530 Subject: [PATCH 06/48] - Fixed `error` event for Ad bug - Error was coming twice (for player event error also it was coming because for RN it is string in the listener) --- .../events/KalturaPlayerAdEvents.kt | 2 +- example/src/screens/PlayerScreen.tsx | 12 ++++++------ ios/Events/KalturaPlayerRNAdEvents.swift | 2 +- ios/KalturaPlayerRN.swift | 2 +- src/events/AdEvents.tsx | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAdEvents.kt b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAdEvents.kt index f25f531..625212f 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAdEvents.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAdEvents.kt @@ -33,7 +33,7 @@ class KalturaPlayerAdEvents { const val AD_BUFFER_START = "adBufferStart" const val AD_BUFFER_END = "adBufferEnd" const val AD_PLAYBACK_INFO_UPDATED = "adPlaybackInfoUpdated" - const val ERROR = "error" + const val ERROR = "adError" const val DAI_SOURCE_SELECTED = "daiSourceSelected" const val AD_WATERFALLING = "adWaterFalling" // Not required until we has AdLayout feature in RN const val AD_WATERFALLING_FAILED = "adWaterFallingFailed" // Not required until we has AdLayout feature in RN diff --git a/example/src/screens/PlayerScreen.tsx b/example/src/screens/PlayerScreen.tsx index dcffda3..398549f 100644 --- a/example/src/screens/PlayerScreen.tsx +++ b/example/src/screens/PlayerScreen.tsx @@ -451,6 +451,12 @@ export default class App extends React.Component { }) ); + eventsSubscriptionList.push( + playerEventEmitter.addListener(AdEvents.ERROR, (payload) => { + console.log(`AdEvent ERROR = ${JSON.stringify(payload)}`); + }) + ); + eventsSubscriptionList.push( playerEventEmitter.addListener( PlayerEvents.SOURCE_SELECTED, @@ -691,12 +697,6 @@ export default class App extends React.Component { } }) ); - - eventsSubscriptionList.push( - playerEventEmitter.addListener(AdEvents.ERROR, (payload) => { - console.log(`AdEvent ERROR = ${JSON.stringify(payload)}`); - }) - ); }; render() { diff --git a/ios/Events/KalturaPlayerRNAdEvents.swift b/ios/Events/KalturaPlayerRNAdEvents.swift index cde2e3c..297911f 100644 --- a/ios/Events/KalturaPlayerRNAdEvents.swift +++ b/ios/Events/KalturaPlayerRNAdEvents.swift @@ -49,7 +49,7 @@ enum KalturaPlayerRNAdEvents: String, CaseIterable { case adBufferStart // adStartedBuffering - case error + case adError // MARK: Missing events from the iOS side // case streamLoaded // DAI diff --git a/ios/KalturaPlayerRN.swift b/ios/KalturaPlayerRN.swift index 6587f9e..3a1522b 100644 --- a/ios/KalturaPlayerRN.swift +++ b/ios/KalturaPlayerRN.swift @@ -608,7 +608,7 @@ extension KalturaPlayerRN { errorSeverity = "Recoverable" } - KalturaPlayerEvents.emitter.sendEvent(withName: KalturaPlayerRNAdEvents.error.rawValue, body: [ + KalturaPlayerEvents.emitter.sendEvent(withName: KalturaPlayerRNAdEvents.adError.rawValue, body: [ "errorType": errorType ?? -1, "errorCode": error.code, "errorSeverity": errorSeverity, diff --git a/src/events/AdEvents.tsx b/src/events/AdEvents.tsx index 582c65f..b7f37c1 100644 --- a/src/events/AdEvents.tsx +++ b/src/events/AdEvents.tsx @@ -30,7 +30,7 @@ export const AdEvents = { AD_BUFFER_START: 'adBufferStart', AD_BUFFER_END: 'adBufferEnd', AD_PLAYBACK_INFO_UPDATED: 'adPlaybackInfoUpdated', - ERROR: 'error', + ERROR: 'adError', DAI_SOURCE_SELECTED: 'daiSourceSelected', AD_WATERFALLING: 'adWaterFalling', AD_WATERFALLING_FAILED: 'adWaterFallingFailed' From 1decd441e3d3233ef7522539a4950b7ab2bd71a7 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Thu, 6 Oct 2022 14:18:07 +0530 Subject: [PATCH 07/48] - Added `DRMSettings` which gives ability to play Playready media as well. --- .../KalturaPlayerRN.kt | 3 +++ .../model/InitOptions.java | 2 ++ docs/player-initoptions.md | 22 +++++++++++++++++++ docs/setup-dev-environment.md | 5 +++-- 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index ea567d5..f223ee3 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -773,6 +773,9 @@ class KalturaPlayerRN( initOptionsModel.licenseRequestAdapter?.let { playerInitOptions.setLicenseRequestAdapter(it) } + initOptionsModel.drmSettings?.let { + playerInitOptions.setDrmSettings(it) + } } /** diff --git a/android/src/main/java/com/reactnativekalturaplayer/model/InitOptions.java b/android/src/main/java/com/reactnativekalturaplayer/model/InitOptions.java index b2bb5d9..7310589 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/model/InitOptions.java +++ b/android/src/main/java/com/reactnativekalturaplayer/model/InitOptions.java @@ -7,6 +7,7 @@ import com.kaltura.playkit.PKWakeMode; import com.kaltura.playkit.player.ABRSettings; import com.kaltura.playkit.player.AudioCodecSettings; +import com.kaltura.playkit.player.DRMSettings; import com.kaltura.playkit.player.LoadControlBuffers; import com.kaltura.playkit.player.MulticastSettings; import com.kaltura.playkit.player.PKAspectRatioResizeMode; @@ -57,4 +58,5 @@ public class InitOptions { public VRSettings vrSettings; public PKRequestParams.Adapter contentRequestAdapter; public PKRequestParams.Adapter licenseRequestAdapter; + public DRMSettings drmSettings; } diff --git a/docs/player-initoptions.md b/docs/player-initoptions.md index cebb286..87e5d41 100644 --- a/docs/player-initoptions.md +++ b/docs/player-initoptions.md @@ -321,6 +321,28 @@ Set WakeLock Mode - Sets whether the player should not handle wakeLock or shoul } ``` +### DRM Settings + +❌ iOS ✅ Android + +Creates a DRM playback configuration. It creates configuration for DRM playback Widevine/Playready. Default is Widevine. + + ```js + import { DRM_SCHEME } from "kaltura-player-rn"; + ``` + + ```js + var initOptions = { + drmSettings: { + drmScheme: DRM_SCHEME.WIDEVINE_CENC, + isMultiSession : false, // Default is `false` + isForceDefaultLicenseUri : false, // Default is `false` + isAllowClearlead : true, // Default is `true` + isForceWidevineL3Playback: false // Default is `false` + } + } + ``` + ### More `PlayerInitOptions` diff --git a/docs/setup-dev-environment.md b/docs/setup-dev-environment.md index 73a2f1d..6b02f19 100644 --- a/docs/setup-dev-environment.md +++ b/docs/setup-dev-environment.md @@ -112,9 +112,10 @@ In case if you are want to develop Kaltura Player RN SDK then you can setup loca 2. Uncomment `pod 'RNKalturaPlayer', :path => '../..'` from this file. -### How to test my media in the 'example' app. +### How to test any media in the 'example' app. 1. Open [Test JSON](https://github.com/kaltura/kaltura-player-rn/blob/develop/example/src/test/PlayerTest.json). - 2. You can add your test media [here](https://github.com/kaltura/kaltura-player-rn/blob/50e7f3e88ca9212c7478969f3f900515339e7517/example/src/test/PlayerTest.json#L75). + 2. If you are not Kaltura BE customer then you can add your test media [here](https://github.com/kaltura/kaltura-player-rn/blob/50e7f3e88ca9212c7478969f3f900515339e7517/example/src/test/PlayerTest.json#L75). 3. Use 'dash' instead of 'hls' if you want to test mpd of Dash media [here](https://github.com/kaltura/kaltura-player-rn/blob/50e7f3e88ca9212c7478969f3f900515339e7517/example/src/test/PlayerTest.json#L85). + 4. If you are Kaltura BE customer then please take a look for OVP media [here](https://github.com/kaltura/kaltura-player-rn/blob/50e7f3e88ca9212c7478969f3f900515339e7517/example/src/test/PlayerTest.json#L404) and OTT media [here](https://github.com/kaltura/kaltura-player-rn/blob/50e7f3e88ca9212c7478969f3f900515339e7517/example/src/test/PlayerTest.json#L501). From 3b9e9010eb8287a9a8ff1cf754556a3d6200118a Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Fri, 7 Oct 2022 16:48:45 +0530 Subject: [PATCH 08/48] - Updated Setup and load player doc --- docs/player-functions.md | 69 ++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/docs/player-functions.md b/docs/player-functions.md index 5583900..4f65087 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -16,11 +16,11 @@ This method creates a Player instance internally (Basic, OVP/OTT Player) With this, it take the PlayerInitOptions which are having essential Player settings values. -`playerType`: The Player Type, Basic/OVP/OTT. [Check Constants](#Constants) +`playerType`: Mandatory The Player Type, Basic/OVP/OTT. [Check Constants](#Constants) -`options` : `playerInitOptions` JSON String [Check playerInitOptions](./player-initoptions.md) +`options` : For PlayerType 'Basic', this is _**Optional**_. For OVP/OTT, it is Mandatory. `playerInitOptions` JSON String [Check playerInitOptions](./player-initoptions.md) - `id` : PartnerId (Don't pass this parameter for BasicPlayer. For OVP/OTT player this value should be always greater than 0 and should be valid otherwise, we will not be able to featch the details for the mediaId or the entryId) + `id` : For PlayerType 'Basic', this is _**Not Required**_. For OVP/OTT, it is Mandatory. For OVP/OTT player this value should be always greater than 0 and should be valid; otherwise, we will not be able to featch the details for the mediaId or the entryId) ### Adding and removing the Player Listerners --- @@ -42,11 +42,11 @@ Remove the added Player listeners. Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/OTT Kaltura Player and **playbackURL** for Basic Kaltura Player. -`id` : Playback URL for Kaltura Basic Player OR MediaId for Kaltura OTT Player OR EntryId for Kaltura OVP Player +`id` : Mandatory **playback URL** for Kaltura Basic Player OR **MediaId** for Kaltura OTT Player OR **EntryId** for Kaltura OVP Player -`asset` : Media Asset JSON String +`asset` : Mandatory for Basic Player. Media Asset JSON String. _**Optional for OVP Player.**_ -**For Basic Player**, app can use the following config. Should only be used by non-Kaltura BE users. +**For Basic Player**: Mandatory field. App can use the following config. Should only be used by non-Kaltura BE users. ```json "mediaAsset": { @@ -60,26 +60,26 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ } ``` -* `id` *String* - Random id for this media. -* `name` *String* - Name given to this media. -* `duration`*Number* - Optional. Duration of this media content. -* `mediaEntryType`*String* - [Check Constants](#Constants) for media type. It can be VOD, Live etc. -* `mediaFormat` *String* - [Check Constants](#Constants) for media format. It can be Dash, HLS etc. -* `startPosition` *Number* - Optional. If you want the player to start from a certain position. Default is 0. -* `isVRMediaType` *Boolean* - Only to be passed while using VR media. -* `drmData` *JSON* - 🔴TODO -* `metadata` *JSON* - +* `id` *String* - _**Optional**_ Random id for this media. +* `name` *String* - _**Optional**_ Name given to this media. +* `duration`*Number* - _**Optional**_ Duration of this media content. +* `mediaEntryType`*String* - _**Optional**_ [Check Constants](#Constants) for media type. It can be VOD, Live etc. +* `mediaFormat` *String* - Mandatory [Check Constants](#Constants) for media format. It can be Dash, HLS etc. +* `startPosition` *Number* - _**Optional**_ If you want the player to start from a certain position. Default is 0. +* `isVRMediaType` *Boolean* - _**Optional**_ Only to be passed while using VR media. +* `drmData` *JSON* - _**Optional**_ 🔴TODO +* `metadata` *JSON* - _**Optional**_ ```json - "other":"other", + "startPosition": 120, "metaData": { "key": "value" } ``` -* `externalSubtitleList` *JSONArray* - 🔴TODO -* `externalVttThumbnailUrl` - Pass the VTT thumbnail URL. These images will be shown when the user scrubs on the seekbar. To show the images logic should be handled by the FE app. You will recieve the additional information the `ImageTracks` of `TracksAvailable` event. [Check PlayerEvents](./player-event.md) +* `externalSubtitleList` *JSONArray* - _**Optional**_ 🔴TODO +* `externalVttThumbnailUrl` - _**Optional**_ Pass the VTT thumbnail URL. These images will be shown when the user scrubs on the seekbar. To show the images logic should be handled by the FE app. You will recieve the additional information the `ImageTracks` of `TracksAvailable` event. [Check PlayerEvents](./player-event.md) -**For OVP/OTT Player**, app can use the following config. Should only be used by the Kaltura BE users. +**For OVP/OTT Player**: Optional field. App can use the following config. Should only be used by the Kaltura BE users. ```json "mediaAsset": { @@ -92,16 +92,16 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ }, ``` -* `ks` *String* - Kaltra Secret. It will be provided by our BE. -* `format` *JSONArray String* - Formats provided for the playback. Defined in our BE. -* `fileId` *JSONArray String* - FileIds for the playback. Defined in our BE. -* `assetType` *String* - [Check Constants](#Constants) for AssetTypes. -* `playbackContextType` *String* - [Check Constants](#Constants) for PlaybackContextType. -* `assetReferenceType` *String* - [Check Constants](#Constants) for AssetReferenceType. -* `protocol` *String* - `http` or `https`. -* `urlType` *String* - [Check Constants](#Constants) for URLType. -* `streamerType` *String* - [Check Constants](#Constants) for StreamerType. -* `adapterData` *JSONObject* - Additional Adapter data suppied in config for our BE. +* `ks` *String* - _**Optional for OTT/OVP**_ Kaltra Secret. It will be provided by our BE. +* `format` *JSONArray String* - _**Optional for OTT**_ Formats provided for the playback. Defined in our BE. +* `fileId` *JSONArray String* - _**Optional for OTT**_ FileIds for the playback. Defined in our BE. +* `assetType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for AssetTypes. +* `playbackContextType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for PlaybackContextType. +* `assetReferenceType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for AssetReferenceType. +* `protocol` *String* - _**Optional for OTT**_ `http` or `https`. +* `urlType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for URLType. +* `streamerType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for StreamerType. +* `adapterData` *JSONObject* - _**Optional for OTT**_ Additional Adapter data supplied in config for our BE. ```json "other":"other", "metaData": { @@ -109,11 +109,12 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ } ``` -* `referrer` *String* - Optional. Referer string. -* `redirectFromEntryId` *Boolean* - Default is `true`. **Only for OVP BE users** -* `useApiCaptions` *Boolean* - Default is `false`. **Only for OVP BE users** -* `startPosition` *Number* - Optional. If you want the player to start from a certain position. Default is 0. -* `initialVolume` *Number* - Default is 1.0f. Change the volume of the current audio track. It's a decimal value. Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume. If the volume parameter is higher then 1.0, it will be converted to 1.0. If the volume parameter is lower then 0.0, it be converted to 0.0. +* `referrer` *String* - _**Optional for OTT/OVP**_ Referer string. +* `startPosition` *Number* - _**Optional for OTT/OVP**_ If you want the player to start from a certain position. Default is 0. +* `initialVolume` *Number* - _**Optional for OTT/OVP**_ Default is 1.0f. Change the volume of the current audio track. It's a decimal value. Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume. If the volume parameter is higher then 1.0, it will be converted to 1.0. If the volume parameter is lower then 0.0, it be converted to 0.0. + +* `redirectFromEntryId` *Boolean* - _**Optional for OVP**_ Default is `true`. **Only for OVP BE users** +* `useApiCaptions` *Boolean* - _**Optional for OVP**_ Default is `false`. **Only for OVP BE users** ### Handle background and foreground application behaviour --- From 592186661e3302af2b269f7d49bbedd91f223550 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Fri, 7 Oct 2022 16:52:11 +0530 Subject: [PATCH 09/48] - Updated Setup and load player doc --- docs/player-functions.md | 46 ++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/player-functions.md b/docs/player-functions.md index 4f65087..12ec5b3 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -16,11 +16,11 @@ This method creates a Player instance internally (Basic, OVP/OTT Player) With this, it take the PlayerInitOptions which are having essential Player settings values. -`playerType`: Mandatory The Player Type, Basic/OVP/OTT. [Check Constants](#Constants) +`playerType`: **Mandatory** The Player Type, Basic/OVP/OTT. [Check Constants](#Constants) -`options` : For PlayerType 'Basic', this is _**Optional**_. For OVP/OTT, it is Mandatory. `playerInitOptions` JSON String [Check playerInitOptions](./player-initoptions.md) +`options` : For PlayerType 'Basic', this is _**Optional**_. For OVP/OTT, it is **Mandatory**. `playerInitOptions` JSON String [Check playerInitOptions](./player-initoptions.md) - `id` : For PlayerType 'Basic', this is _**Not Required**_. For OVP/OTT, it is Mandatory. For OVP/OTT player this value should be always greater than 0 and should be valid; otherwise, we will not be able to featch the details for the mediaId or the entryId) + `id` : For PlayerType 'Basic', this is _**Not Required**_. For OVP/OTT, it is **Mandatory**. For OVP/OTT player this value should be always greater than 0 and should be valid; otherwise, we will not be able to featch the details for the mediaId or the entryId) ### Adding and removing the Player Listerners --- @@ -42,11 +42,11 @@ Remove the added Player listeners. Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/OTT Kaltura Player and **playbackURL** for Basic Kaltura Player. -`id` : Mandatory **playback URL** for Kaltura Basic Player OR **MediaId** for Kaltura OTT Player OR **EntryId** for Kaltura OVP Player +`id` : **Mandatory playback URL** for Kaltura Basic Player OR **MediaId** for Kaltura OTT Player OR **EntryId** for Kaltura OVP Player. -`asset` : Mandatory for Basic Player. Media Asset JSON String. _**Optional for OVP Player.**_ +`asset` : **Mandatory for Basic Player**. Media Asset JSON String. _**Optional for OVP Player.**_ -**For Basic Player**: Mandatory field. App can use the following config. Should only be used by non-Kaltura BE users. +**For Basic Player**: _**Mandatory field**_. App can use the following config. Should only be used by non-Kaltura BE users. ```json "mediaAsset": { @@ -64,7 +64,7 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ * `name` *String* - _**Optional**_ Name given to this media. * `duration`*Number* - _**Optional**_ Duration of this media content. * `mediaEntryType`*String* - _**Optional**_ [Check Constants](#Constants) for media type. It can be VOD, Live etc. -* `mediaFormat` *String* - Mandatory [Check Constants](#Constants) for media format. It can be Dash, HLS etc. +* `mediaFormat` *String* - **Mandatory** [Check Constants](#Constants) for media format. It can be Dash, HLS etc. * `startPosition` *Number* - _**Optional**_ If you want the player to start from a certain position. Default is 0. * `isVRMediaType` *Boolean* - _**Optional**_ Only to be passed while using VR media. * `drmData` *JSON* - _**Optional**_ 🔴TODO @@ -79,7 +79,7 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ * `externalSubtitleList` *JSONArray* - _**Optional**_ 🔴TODO * `externalVttThumbnailUrl` - _**Optional**_ Pass the VTT thumbnail URL. These images will be shown when the user scrubs on the seekbar. To show the images logic should be handled by the FE app. You will recieve the additional information the `ImageTracks` of `TracksAvailable` event. [Check PlayerEvents](./player-event.md) -**For OVP/OTT Player**: Optional field. App can use the following config. Should only be used by the Kaltura BE users. +**For OVP/OTT Player**: _**Optional field**_. App can use the following config. Should only be used by the Kaltura BE users. ```json "mediaAsset": { @@ -92,16 +92,16 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ }, ``` -* `ks` *String* - _**Optional for OTT/OVP**_ Kaltra Secret. It will be provided by our BE. -* `format` *JSONArray String* - _**Optional for OTT**_ Formats provided for the playback. Defined in our BE. -* `fileId` *JSONArray String* - _**Optional for OTT**_ FileIds for the playback. Defined in our BE. -* `assetType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for AssetTypes. -* `playbackContextType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for PlaybackContextType. -* `assetReferenceType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for AssetReferenceType. -* `protocol` *String* - _**Optional for OTT**_ `http` or `https`. -* `urlType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for URLType. -* `streamerType` *String* - _**Optional for OTT**_ [Check Constants](#Constants) for StreamerType. -* `adapterData` *JSONObject* - _**Optional for OTT**_ Additional Adapter data supplied in config for our BE. +* `ks` *String* - _**Optional for OTT/OVP.**_ Kaltra Secret. It will be provided by our BE. +* `format` *JSONArray String* - _**Optional for OTT.**_ Formats provided for the playback. Defined in our BE. +* `fileId` *JSONArray String* - _**Optional for OTT.**_ FileIds for the playback. Defined in our BE. +* `assetType` *String* - _**Optional for OTT.**_ [Check Constants](#Constants) for AssetTypes. +* `playbackContextType` *String* - _**Optional for OTT.**_ [Check Constants](#Constants) for PlaybackContextType. +* `assetReferenceType` *String* - _**Optional for OTT.**_ [Check Constants](#Constants) for AssetReferenceType. +* `protocol` *String* - _**Optional for OTT.**_ `http` or `https`. +* `urlType` *String* - _**Optional for OTT.**_ [Check Constants](#Constants) for URLType. +* `streamerType` *String* - _**Optional for OTT.**_ [Check Constants](#Constants) for StreamerType. +* `adapterData` *JSONObject* - _**Optional for OTT.**_ Additional Adapter data supplied in config for our BE. ```json "other":"other", "metaData": { @@ -109,12 +109,12 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ } ``` -* `referrer` *String* - _**Optional for OTT/OVP**_ Referer string. -* `startPosition` *Number* - _**Optional for OTT/OVP**_ If you want the player to start from a certain position. Default is 0. -* `initialVolume` *Number* - _**Optional for OTT/OVP**_ Default is 1.0f. Change the volume of the current audio track. It's a decimal value. Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume. If the volume parameter is higher then 1.0, it will be converted to 1.0. If the volume parameter is lower then 0.0, it be converted to 0.0. +* `referrer` *String* - _**Optional for OTT/OVP.**_ Referer string. +* `startPosition` *Number* - _**Optional for OTT/OVP.**_ If you want the player to start from a certain position. Default is 0. +* `initialVolume` *Number* - _**Optional for OTT/OVP.**_ Default is 1.0f. Change the volume of the current audio track. It's a decimal value. Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume. If the volume parameter is higher then 1.0, it will be converted to 1.0. If the volume parameter is lower then 0.0, it be converted to 0.0. -* `redirectFromEntryId` *Boolean* - _**Optional for OVP**_ Default is `true`. **Only for OVP BE users** -* `useApiCaptions` *Boolean* - _**Optional for OVP**_ Default is `false`. **Only for OVP BE users** +* `redirectFromEntryId` *Boolean* - _**Optional for OVP.**_ Default is `true`. **Only for OVP BE users** +* `useApiCaptions` *Boolean* - _**Optional for OVP.**_ Default is `false`. **Only for OVP BE users** ### Handle background and foreground application behaviour --- From e96a2f95d4001b5a701c375cb1db74d013118107 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Fri, 7 Oct 2022 17:05:10 +0530 Subject: [PATCH 10/48] - Made `mediaAsset` for loadMedia optional. - Made `initOptions` optional on setup player - added start position for OVP/OTT Player. - Removed all this from bridge - Fixed and added tests json for this. --- .../KalturaPlayerModule.kt | 2 +- .../KalturaPlayerRN.kt | 16 +++--- example/src/screens/PlayerScreen.tsx | 26 +++++----- example/src/test/PlayerTest.json | 49 +++++++++++++++++++ src/index.tsx | 6 +-- 5 files changed, 75 insertions(+), 24 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerModule.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerModule.kt index e19dd56..095d988 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerModule.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerModule.kt @@ -35,6 +35,7 @@ class KalturaPlayerModule( @ReactMethod fun setUpPlayer(playerType: String, partnerId: Int = 0, initOptions: String?, promise: Promise) { log.d("setPartnerId: $partnerId") + checkArguments(this::setUpPlayer.name, playerType) kalturaPlayerRN.createPlayerInstance(getKalturaPlayerType(playerType), partnerId, initOptions, promise) } @@ -45,7 +46,6 @@ class KalturaPlayerModule( "\n , mediaAssetJson:" + mediaAsset ) checkArguments(this::load.name, assetId) - checkArguments(this::load.name, mediaAsset) kalturaPlayerRN.load(assetId, mediaAsset, promise) } diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index f223ee3..246b2da 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -592,8 +592,8 @@ class KalturaPlayerRN( return } - if (TextUtils.isEmpty(assetId) || TextUtils.isEmpty(mediaAssetJson)) { - val message = "assetId $assetId or mediaAssetJson $mediaAssetJson is invalid" + if (TextUtils.isEmpty(assetId)) { + val message = "assetId $assetId is invalid" log.e(message) sendCallbackToJS(promise, message, true) return @@ -616,13 +616,11 @@ class KalturaPlayerRN( sendCallbackToJS(promise, gson.toJson(mediaEntry)) } } else if (getPlayerType() == KalturaPlayer.Type.ott || getPlayerType() == KalturaPlayer.Type.ovp) { - val mediaAsset = getParsedJson(mediaAssetJson, MediaAsset::class.java) - if (mediaAsset == null || player == null) { - val message = "Invalid Media Asset for player type ${getPlayerType()} \n and media asset is $mediaAsset" - log.e(message) - sendCallbackToJS(promise, message, true) - return + var mediaAsset = getParsedJson(mediaAssetJson, MediaAsset::class.java) + if (mediaAsset == null) { + mediaAsset = MediaAsset() } + if (getPlayerType() == KalturaPlayer.Type.ott) { runOnUiThread { val ottMediaOptions = mediaAsset.buildOttMediaOptions(assetId, player?.ks) @@ -637,6 +635,7 @@ class KalturaPlayerRN( if (mediaAsset.initialVolume >= 0 && mediaAsset.initialVolume < 1.0) { player?.setVolume(mediaAsset.initialVolume) } + player?.startPosition = mediaAsset.startPosition } } } @@ -654,6 +653,7 @@ class KalturaPlayerRN( if (mediaAsset.initialVolume >= 0 && mediaAsset.initialVolume < 1.0) { player?.setVolume(mediaAsset.initialVolume) } + player?.startPosition = mediaAsset.startPosition } } } diff --git a/example/src/screens/PlayerScreen.tsx b/example/src/screens/PlayerScreen.tsx index 398549f..415d034 100644 --- a/example/src/screens/PlayerScreen.tsx +++ b/example/src/screens/PlayerScreen.tsx @@ -151,22 +151,24 @@ export default class App extends React.Component { return; } - var isDaiPlugin = options.plugins.imadai; - console.log(`isDaiPlugin = ${JSON.stringify(isDaiPlugin)}`); - if (isDaiPlugin) { - console.log(`isDaiPlugin = true`); - this.setState(() => ({ - isDAIPluginAvailable: true, - })); + if (options != null && options.plugins != null) { + var isDaiPlugin = options.plugins.imadai; + console.log(`isDaiPlugin = ${JSON.stringify(isDaiPlugin)}`); + if (isDaiPlugin) { + console.log(`isDaiPlugin = true`); + this.setState(() => ({ + isDAIPluginAvailable: true, + })); + } } - + this.subscribeToAppLifecyle(); - this.player.enableDebugLogs(true); + //this.player.enableDebugLogs(true); setupKalturaPlayer( this.player, playerType, - JSON.stringify(options), + options != null ? JSON.stringify(options) : "", JSON.stringify(asset), mediaId, partnerId @@ -200,7 +202,7 @@ export default class App extends React.Component { getPlayerCurrentPosition(): any { this.player.getCurrentPosition().then((value: any) => { - console.log(`getPlayerCurrentPosition ${value}`); + //console.log(`getPlayerCurrentPosition ${value}`); if (value >= 0) { this.setState(() => ({ currentPosition: value, @@ -354,7 +356,7 @@ export default class App extends React.Component { startDAIPositionTimer() { this.progressInterval = setInterval(() => { - console.log(`Inside progressInterval timer`); + //console.log(`Inside progressInterval timer`); this.getPlayerCurrentPosition(); }, timerInterval); } diff --git a/example/src/test/PlayerTest.json b/example/src/test/PlayerTest.json index d943692..39ea80e 100644 --- a/example/src/test/PlayerTest.json +++ b/example/src/test/PlayerTest.json @@ -71,6 +71,22 @@ }, "vod": { "hls": [ + { + "id": "empty_initoptions_test", + "mediaList": [ + { + "mediaId": "http://cdnapi.kaltura.com/p/243342/sp/24334200/playManifest/entryId/0_uka1msg4/flavorIds/1_vqhfu6uy,1_80sohj7p/format/applehttp/protocol/http/a.m3u8", + "mediaAsset": { + "id": "basicId", + "name": "basicName", + "duration": 120, + "mediaEntryType": "Vod", + "mediaFormat": "hls", + "startPosition": 0 + } + } + ] + }, { "id": "hls_basic_playback", "partnerId": 0, @@ -404,6 +420,19 @@ "ovp": { "vod": { "dash": [ + { + "id": "ovp_without media asset", + "partnerId": 2215841, + "mediaList": [ + { + "mediaId": "1_w9zx2eti" + } + ], + "initOptions": { + "serverUrl": "https://cdnapisec.kaltura.com", + "autoplay": true + } + }, { "id": "abr_maxBit_1M", "partnerId": 2215841, @@ -501,6 +530,26 @@ "ott": { "vod": { "hls": [ + { + "id": "548576_withoutMediaAsset", + "partnerId": 3009, + "mediaList": [ + { + "mediaId": "548576", + "mediaAsset": { + "format": [ + "Mobile_Main" + ], + "assetType": "media", + "networkProtocol": "http" + } + } + ], + "initOptions": { + "serverUrl": "https://rest-us.ott.kaltura.com/v4_5/api_v3/", + "autoplay": true + } + }, { "id": "548576", "partnerId": 3009, diff --git a/src/index.tsx b/src/index.tsx index e98eb1a..c788939 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -97,7 +97,7 @@ export class KalturaPlayerAPI { return; } - if (!options) { + if (!options && playerType != PLAYER_TYPE.BASIC) { printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR); return; } @@ -118,9 +118,9 @@ export class KalturaPlayerAPI { * @param asset Media Asset JSON String */ static loadMedia = async (id: string, asset: string) => { - if (!id || !asset) { + if (!id) { printConsoleLog( - `loadMedia, invalid id = ${id} or asset = ${asset}`, + `loadMedia, invalid id = ${id}`, LogType.ERROR ); return; From a732d579f1a86dceadba39cc7cf968fc0bf54429 Mon Sep 17 00:00:00 2001 From: Sergey Chausov Date: Fri, 7 Oct 2022 17:06:37 +0300 Subject: [PATCH 11/48] setUpPlayer empty initOptions handling. --- ios/KalturaPlayerModule.swift | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/ios/KalturaPlayerModule.swift b/ios/KalturaPlayerModule.swift index 810c196..54f4fc1 100644 --- a/ios/KalturaPlayerModule.swift +++ b/ios/KalturaPlayerModule.swift @@ -66,7 +66,20 @@ class KalturaPlayerModule: NSObject, RCTBridgeModule { @objc func setUpPlayer(_ type: String, partnerId: Int = 0, initOptions: String?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) { - guard let options = initOptions, !options.isEmpty else { + self.playerType = getPlayerType(from: type) + var defaultOptions = initOptions + + if playerType == .basic { + if initOptions == nil { + defaultOptions = "{}" + } else{ + if let initOptions = initOptions, initOptions.isEmpty { + defaultOptions = "{}" + } + } + } + + guard let options = defaultOptions, !options.isEmpty else { let message = "The initOptions can not be empty." let error = KalturaPlayerRNError.setupFailed(message: message).asNSError reject("ERROR_SETUPPLAYER", message, error) @@ -87,8 +100,6 @@ class KalturaPlayerModule: NSObject, RCTBridgeModule { //TODO: Remove print print(initOptions) - self.playerType = getPlayerType(from: type) - DispatchQueue.main.async { switch self.playerType { case .basic: From 9d90cb07fff4e1673ca2a952d223fc6d6e45ff1e Mon Sep 17 00:00:00 2001 From: Sergey Chausov Date: Fri, 7 Oct 2022 17:41:47 +0300 Subject: [PATCH 12/48] KalturaPlayerModule multiple fixes --- ios/KalturaPlayerModule.m | 14 +++++++------- ios/KalturaPlayerModule.swift | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ios/KalturaPlayerModule.m b/ios/KalturaPlayerModule.m index 3bb66b2..4ca5436 100644 --- a/ios/KalturaPlayerModule.m +++ b/ios/KalturaPlayerModule.m @@ -17,12 +17,12 @@ @interface RCT_EXTERN_MODULE(KalturaPlayerModule, NSObject) RCT_EXTERN_METHOD(setUpPlayer:(nonnull NSString *)type partnerId:(nonnull int)partnerId - initOptions:(nonnull NSString *)initOptions + initOptions:(NSString *)initOptions resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) RCT_EXTERN_METHOD(load:(nonnull NSString *)assetId - mediaAsset:(nonnull NSString *)mediaAsset + mediaAsset:(NSString *)mediaAsset resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) @@ -32,7 +32,7 @@ @interface RCT_EXTERN_MODULE(KalturaPlayerModule, NSObject) RCT_EXTERN_METHOD(onApplicationPaused) RCT_EXTERN_METHOD(onApplicationResumed) -RCT_EXTERN_METHOD(updatePluginConfigs:(nonnull NSString *)configs) +RCT_EXTERN_METHOD(updatePluginConfigs:(NSString *)configs) RCT_EXTERN_METHOD(play) RCT_EXTERN_METHOD(pause) @@ -41,14 +41,14 @@ @interface RCT_EXTERN_MODULE(KalturaPlayerModule, NSObject) RCT_EXTERN_METHOD(seekToLiveDefaultPosition) RCT_EXTERN_METHOD(stop) RCT_EXTERN_METHOD(destroy) -RCT_EXTERN_METHOD(changeTrack:(nonnull NSString *)trackId) +RCT_EXTERN_METHOD(changeTrack:(NSString *)trackId) RCT_EXTERN_METHOD(changePlaybackRate:(nonnull float)playbackRate) RCT_EXTERN_METHOD(setVolume:(nonnull float)volume) -RCT_EXTERN_METHOD(updateResizeMode:(nonnull NSString *)mode) -RCT_EXTERN_METHOD(updateAbrSettings:(nonnull NSString *)abrSettings) +RCT_EXTERN_METHOD(updateResizeMode:(NSString *)mode) +RCT_EXTERN_METHOD(updateAbrSettings:(NSString *)abrSettings) RCT_EXTERN_METHOD(resetAbrSettings) -RCT_EXTERN_METHOD(updateLowLatencyConfig:(nonnull NSString *)lowLatencyConfig) +RCT_EXTERN_METHOD(updateLowLatencyConfig:(NSString *)lowLatencyConfig) RCT_EXTERN_METHOD(resetLowLatencyConfig) RCT_EXTERN_METHOD(getCurrentPosition:(RCTPromiseResolveBlock)resolve diff --git a/ios/KalturaPlayerModule.swift b/ios/KalturaPlayerModule.swift index 54f4fc1..5579881 100644 --- a/ios/KalturaPlayerModule.swift +++ b/ios/KalturaPlayerModule.swift @@ -138,15 +138,15 @@ class KalturaPlayerModule: NSObject, RCTBridgeModule { return } - guard let assetId = assetId, !assetId.isEmpty , let mediaAsset = mediaAsset, !mediaAsset.isEmpty else { - let message = "The assetId and/or mediaAsset is empty." + guard let assetId = assetId, !assetId.isEmpty else { + let message = "The assetId is empty." let error = KalturaPlayerRNError.loadMediaFailed(message: message).asNSError reject("ERROR_LOADMEDIA", message, error) return } DispatchQueue.main.async { - kalturaPlayerRN.load(assetId: assetId, mediaAsset: mediaAsset) { error in + kalturaPlayerRN.load(assetId: assetId, mediaAsset: mediaAsset ?? "{}") { error in if let kpRNError = error { let message = kpRNError.userInfo[KalturaPlayerRNError.errorMessageKey] as? String let nsError = kpRNError.asNSError From 7ffd2964d7508c910c1e47fc35e8b423dc556d70 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 10 Oct 2022 11:55:14 +0530 Subject: [PATCH 13/48] - Support completely optional field for mediaAsset for `loadMedia` player - Updated document - Updated example app --- .../KalturaPlayerRN.kt | 27 ++++++------- docs/player-functions.md | 40 ++++++++++++++++--- example/src/screens/PlayerScreen.tsx | 2 +- example/src/test/PlayerTest.json | 37 ++++++++++++++--- 4 files changed, 80 insertions(+), 26 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index 246b2da..e01c6eb 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -5,6 +5,7 @@ import android.os.Handler import android.os.Looper import android.text.TextUtils import android.view.ViewGroup +import android.webkit.URLUtil import android.widget.FrameLayout import androidx.annotation.NonNull import androidx.annotation.Nullable @@ -599,17 +600,16 @@ class KalturaPlayerRN( return } - if (getPlayerType() == KalturaPlayer.Type.basic || isBasicPlaybackRequired(mediaAssetJson)) { - val basicMediaAsset = getParsedJson( + if (getPlayerType() == KalturaPlayer.Type.basic || isBasicPlaybackRequired(assetId)) { + var basicMediaAsset = getParsedJson( mediaAssetJson, BasicMediaAsset::class.java ) - if (basicMediaAsset == null || basicMediaAsset.mediaFormat == null) { - val message = "Invalid Media Asset for player type ${getPlayerType()} \n and media asset is $basicMediaAsset" - log.e(message) - sendCallbackToJS(promise, message, true) - return + + if (basicMediaAsset == null) { + basicMediaAsset = BasicMediaAsset() } + val mediaEntry = createMediaEntry(assetId, basicMediaAsset) runOnUiThread { player?.setMedia(mediaEntry, basicMediaAsset.startPosition) @@ -852,16 +852,15 @@ class KalturaPlayerRN( * This method checks if the Player type is OVP/OTT * but still app wants to play a media using URL or DRM license URL * instead of using our backend. + * @param assetURL Playback URL for basic player * * @return `true` if basic playback required */ - private fun isBasicPlaybackRequired(basicMediaAsset: String?): Boolean { - if ((basicMediaAsset != null) && (playerType != null) && (playerType != KalturaPlayer.Type.basic)) { - val mediaAsset = getParsedJson( - basicMediaAsset, - BasicMediaAsset::class.java - ) - return mediaAsset != null && mediaAsset.mediaFormat != null + private fun isBasicPlaybackRequired(assetURL: String?): Boolean { + if (!TextUtils.isEmpty(assetURL) && playerType != null && playerType != KalturaPlayer.Type.basic) { + val isBasicPlayback = URLUtil.isValidUrl(assetURL) && PKMediaFormat.valueOfUrl(assetURL) != null + log.d("isBasicPlaybackRequired = $isBasicPlayback") + return isBasicPlayback } return false } diff --git a/docs/player-functions.md b/docs/player-functions.md index 12ec5b3..6013dc5 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -44,12 +44,12 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ `id` : **Mandatory playback URL** for Kaltura Basic Player OR **MediaId** for Kaltura OTT Player OR **EntryId** for Kaltura OVP Player. -`asset` : **Mandatory for Basic Player**. Media Asset JSON String. _**Optional for OVP Player.**_ +`asset` : **Optional**. Media Asset JSON String. -**For Basic Player**: _**Mandatory field**_. App can use the following config. Should only be used by non-Kaltura BE users. +[**`asset` for Basic Player**: _**Optional**_](). App can use the following config. Should only be used by non-Kaltura BE users. ```json -"mediaAsset": { + "mediaAsset": { "id": "basicId", "name": "basicName", "duration": 120, @@ -79,10 +79,10 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ * `externalSubtitleList` *JSONArray* - _**Optional**_ 🔴TODO * `externalVttThumbnailUrl` - _**Optional**_ Pass the VTT thumbnail URL. These images will be shown when the user scrubs on the seekbar. To show the images logic should be handled by the FE app. You will recieve the additional information the `ImageTracks` of `TracksAvailable` event. [Check PlayerEvents](./player-event.md) -**For OVP/OTT Player**: _**Optional field**_. App can use the following config. Should only be used by the Kaltura BE users. +[**`asset` for OVP/OTT Player**: _**Optional**_]() App can use the following config. Should only be used by the Kaltura BE users. ```json -"mediaAsset": { + "mediaAsset": { "initialVolume": 1.0, "format": ["Mobile_Main"], "assetType": "media", @@ -116,6 +116,36 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ * `redirectFromEntryId` *Boolean* - _**Optional for OVP.**_ Default is `true`. **Only for OVP BE users** * `useApiCaptions` *Boolean* - _**Optional for OVP.**_ Default is `false`. **Only for OVP BE users** +### Changing the media (Play the next/previous media) +--- + +App can simply call `loadMedia = async (id: string, asset: string)` with the next/previous media using the steps given [here](./player-functions.md#load-the-player). + +> Note: If app is setting up 'OVP' or 'OTT' Player they can still pass the playback URL like it can be does using 'Basic' Player. + +_Example:_ Here OVP Player is created but for the next media (changeMedia) app is simply passing a playback URL. + +```js + { + "id": "ChangeMedia OVP -> Basic Media", + "partnerId": 2215841, + "initOptions": { + "serverUrl": "https://cdnapisec.kaltura.com", + "autoplay": true + }, + "mediaList": [ + { + "mediaId": "1_w9zx2eti" + }, + { + "mediaId": "https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd" + } + ] + } + +``` + + ### Handle background and foreground application behaviour --- diff --git a/example/src/screens/PlayerScreen.tsx b/example/src/screens/PlayerScreen.tsx index 415d034..a0c75d0 100644 --- a/example/src/screens/PlayerScreen.tsx +++ b/example/src/screens/PlayerScreen.tsx @@ -845,7 +845,7 @@ function changeMedia(playbackJson: object, player: KalturaPlayerAPI, mediaIndex: mediaId = mediaList[currentChangeMediaIndex].mediaId; console.log(`Change media asset is ${JSON.stringify(asset)} `); console.log(`Change media mediaId is ${mediaId} `); - if (!mediaId || !asset) { + if (!mediaId) { showToast(`Next item can not be played`); return; } diff --git a/example/src/test/PlayerTest.json b/example/src/test/PlayerTest.json index 39ea80e..1c4a9bb 100644 --- a/example/src/test/PlayerTest.json +++ b/example/src/test/PlayerTest.json @@ -198,7 +198,16 @@ } } ], - "dash": [], + "dash": [ + { + "id": "empty_initoptions_mediaAsset_test", + "mediaList": [ + { + "mediaId": "https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd" + } + ] + } + ], "mp4": [] }, "drm": { @@ -423,15 +432,15 @@ { "id": "ovp_without media asset", "partnerId": 2215841, + "initOptions": { + "serverUrl": "https://cdnapisec.kaltura.com", + "autoplay": true + }, "mediaList": [ { "mediaId": "1_w9zx2eti" } - ], - "initOptions": { - "serverUrl": "https://cdnapisec.kaltura.com", - "autoplay": true - } + ] }, { "id": "abr_maxBit_1M", @@ -493,6 +502,22 @@ }, "handleAudioFocus": true } + }, + { + "id": "ChangeMedia OVP -> Basic Media", + "partnerId": 2215841, + "initOptions": { + "serverUrl": "https://cdnapisec.kaltura.com", + "autoplay": true + }, + "mediaList": [ + { + "mediaId": "1_w9zx2eti" + }, + { + "mediaId": "https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd" + } + ] } ], "hls": [], From 54fa9f3e23959dd1a0d7ce3295b4e3f3b7049f82 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 10 Oct 2022 11:56:26 +0530 Subject: [PATCH 14/48] - Updated docs --- docs/player-functions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/player-functions.md b/docs/player-functions.md index 6013dc5..44fa773 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -3,6 +3,7 @@ * [Setup](#setup) * [Adding and removing the Player Listerners](#adding-and-removing-the-player-listerners) * [Load the Player](#load-the-player) +* [Changing the media (Play the next/previous media)](#changing-the-media-play-the-nextprevious-media) * [Handle background and foreground application behaviour](#handle-background-and-foreground-application-behaviour) * [Add or remove the Player View component (Native Level)](#add-or-remove-the-player-view-component-native-level) * [More Player Functions](#more-player-functions) From 05189bf219d1968b6c3b4b5b9bd6fec8125214d6 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 10 Oct 2022 12:01:37 +0530 Subject: [PATCH 15/48] - Updated docs for constants --- docs/player-functions.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/player-functions.md b/docs/player-functions.md index 44fa773..4e80063 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -482,4 +482,22 @@ export enum MULTICAST_EXTRACTOR_MODE { MODE_SINGLE_PMT = 'MODE_SINGLE_PMT', MODE_HLS = 'MODE_HLS' } +``` + +- **IMA_AD_TAG_TYPE**
+ +```js +export enum IMA_AD_TAG_TYPE { + VMAP = "VMAP", + VAST = "VAST" +} +``` + +- **IMADAI_STREAM_FORMAT**
+ +```js +export enum IMADAI_STREAM_FORMAT { + DASH = "DASH", + HLS = "HLS" +} ``` \ No newline at end of file From 20709258cf8c59944c79b120ff7dd81ae158b7a6 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 10 Oct 2022 15:26:00 +0530 Subject: [PATCH 16/48] - Enable `enableDebugLogs` api on bridge - Updated documentation --- .../KalturaPlayerModule.kt | 6 ++ .../KalturaPlayerRN.kt | 83 +++++++++---------- docs/player-functions.md | 15 +++- src/consts.tsx | 9 ++ src/index.tsx | 24 ++++-- 5 files changed, 86 insertions(+), 51 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerModule.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerModule.kt index 095d988..6bd538f 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerModule.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerModule.kt @@ -248,6 +248,12 @@ class KalturaPlayerModule( kalturaPlayerRN.requestThumbnailInfo(positionMs, promise) } + @ReactMethod + fun setLogLevel(logLevel: String) { + log.d("setLogLevel $logLevel") + kalturaPlayerRN.setLogLevel(logLevel) + } + @Throws(IllegalArgumentException::class) @NonNull private fun checkArguments(methodName: String, arg: String?) { diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index e01c6eb..e30d2a0 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -15,6 +15,7 @@ import com.google.gson.Gson import com.google.gson.JsonObject import com.google.gson.JsonSyntaxException import com.kaltura.netkit.utils.ErrorElement +import com.kaltura.netkit.utils.NKLog import com.kaltura.playkit.* import com.kaltura.playkit.ads.AdController import com.kaltura.playkit.ads.PKAdErrorType @@ -33,6 +34,7 @@ import com.reactnativekalturaplayer.model.tracks.TracksInfo import org.json.JSONArray import org.json.JSONException import org.json.JSONObject +import java.util.* class KalturaPlayerRN( private val context: ReactApplicationContext, @@ -527,52 +529,43 @@ class KalturaPlayerRN( } } - // TODO: NOT ADDED YET AS PROPS - //NOOP fun setLogLevel(logLevel: String) { -// var logLevel = logLevel -// log.d("setLogLevel: $logLevel") -// if (TextUtils.isEmpty(logLevel)) { -// return -// } -// logLevel = logLevel.uppercase(Locale.getDefault()) -// when (logLevel) { -// "VERBOSE" -> { -// PKLog.setGlobalLevel(PKLog.Level.verbose) -// NKLog.setGlobalLevel(NKLog.Level.verbose) -// YouboraLog.setDebugLevel(YouboraLog.Level.VERBOSE) -// } -// "DEBUG" -> { -// PKLog.setGlobalLevel(PKLog.Level.debug) -// NKLog.setGlobalLevel(NKLog.Level.debug) -// YouboraLog.setDebugLevel(YouboraLog.Level.DEBUG) -// } -// "WARN" -> { -// PKLog.setGlobalLevel(PKLog.Level.warn) -// NKLog.setGlobalLevel(NKLog.Level.warn) -// YouboraLog.setDebugLevel(YouboraLog.Level.WARNING) -// } -// "INFO" -> { -// PKLog.setGlobalLevel(PKLog.Level.info) -// NKLog.setGlobalLevel(NKLog.Level.info) -// YouboraLog.setDebugLevel(YouboraLog.Level.NOTICE) -// } -// "ERROR" -> { -// PKLog.setGlobalLevel(PKLog.Level.error) -// NKLog.setGlobalLevel(NKLog.Level.error) -// YouboraLog.setDebugLevel(YouboraLog.Level.ERROR) -// } -// "OFF" -> { -// PKLog.setGlobalLevel(PKLog.Level.off) -// NKLog.setGlobalLevel(NKLog.Level.off) -// YouboraLog.setDebugLevel(YouboraLog.Level.SILENT) -// } -// else -> { -// PKLog.setGlobalLevel(PKLog.Level.off) -// NKLog.setGlobalLevel(NKLog.Level.off) -// YouboraLog.setDebugLevel(YouboraLog.Level.SILENT) -// } -// } + var level = logLevel + log.d("setLogLevel: $level") + if (TextUtils.isEmpty(level)) { + return + } + level = level.uppercase(Locale.getDefault()) + when (level) { + "VERBOSE" -> { + PKLog.setGlobalLevel(PKLog.Level.verbose) + NKLog.setGlobalLevel(NKLog.Level.verbose) + } + "DEBUG" -> { + PKLog.setGlobalLevel(PKLog.Level.debug) + NKLog.setGlobalLevel(NKLog.Level.debug) + } + "WARN" -> { + PKLog.setGlobalLevel(PKLog.Level.warn) + NKLog.setGlobalLevel(NKLog.Level.warn) + } + "INFO" -> { + PKLog.setGlobalLevel(PKLog.Level.info) + NKLog.setGlobalLevel(NKLog.Level.info) + } + "ERROR" -> { + PKLog.setGlobalLevel(PKLog.Level.error) + NKLog.setGlobalLevel(NKLog.Level.error) + } + "OFF" -> { + PKLog.setGlobalLevel(PKLog.Level.off) + NKLog.setGlobalLevel(NKLog.Level.off) + } + else -> { + PKLog.setGlobalLevel(PKLog.Level.off) + NKLog.setGlobalLevel(NKLog.Level.off) + } + } } /** diff --git a/docs/player-functions.md b/docs/player-functions.md index 4e80063..1d6704d 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -197,7 +197,7 @@ By default Player view component is attached to the Player so no need to call `a |`isPlaying()` | ✅ | ✅ | **Async** function. Checks if Player is currently playing or not. Returns `boolean`. | |`isLive()` | ✅ | ✅ | **Async** function. Checks if the stream is Live or Not. Returns `boolean`. | |`requestThumbnailInfo(positionMs: number)` | ❌ | ✅ | **Async** function. Get the Information for a thumbnail image by position. Returns **ThumbnailInfo JSON** object. | -|`enableDebugLogs()` | ✅ | ✅ | Enable the console logs for the JS bridge. By default it is disabled. Set `true` to enable the logs. | +|`enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG)` | ✅ | ✅ | Enable the console logs for the JS bridge and Player. By default the logs are disabled. For logLevel options check [constants](#Constants#LOG_LEVEL). Just set `enabled` to `false` to disable all the logs. Default logLevel `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs. | ### Constants @@ -500,4 +500,17 @@ export enum IMADAI_STREAM_FORMAT { DASH = "DASH", HLS = "HLS" } +``` + +- **LOG_LEVEL** + +```js +export enum LOG_LEVEL { + VERBOSE = "VERBOSE", + DEBUG = "DEBUG", + WARN = "WARN", + INFO = "INFO", + ERROR = "ERROR", + OFF = "OFF" +} ``` \ No newline at end of file diff --git a/src/consts.tsx b/src/consts.tsx index 4c88c3c..cccbd10 100644 --- a/src/consts.tsx +++ b/src/consts.tsx @@ -170,3 +170,12 @@ export enum IMADAI_STREAM_FORMAT { DASH = "DASH", HLS = "HLS" } + +export enum LOG_LEVEL { + VERBOSE = "VERBOSE", + DEBUG = "DEBUG", + WARN = "WARN", + INFO = "INFO", + ERROR = "ERROR", + OFF = "OFF" +} diff --git a/src/index.tsx b/src/index.tsx index c788939..dbf7fea 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -17,6 +17,7 @@ import { VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE, + LOG_LEVEL, } from './consts'; export { @@ -35,6 +36,7 @@ export { VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE, + LOG_LEVEL, }; const RNKalturaPlayer = requireNativeComponent('KalturaPlayerView'); @@ -444,16 +446,28 @@ export class KalturaPlayerAPI { }; /** - * Enable the console logs for the JS bridge - * By default it is disabled. - * @param enabled enable the debug logs + * Enable the console logs for the JS bridge and Player. + * By default it is disabled. + * + * For logLevel options {@link LOG_LEVEL} + * + * @param enabled enable the debug logs. Just set it to `false` to disable all the logs. + * @param logLevel Default is `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs. + * * @returns if `enabled` is `null` then don't do anything */ - static enableDebugLogs = (enabled: boolean) => { - if (enabled == null) { + static enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG) => { + if (enabled == null || logLevel == null) { return; } + debugLogs = enabled; + + if (debugLogs && logLevel != LOG_LEVEL.OFF) { + KalturaPlayerModule.setLogLevel(logLevel); + } else { + KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF); + } }; } From 7ea26825cb2f13ebabb6392cf838c9c2039b1b13 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 10 Oct 2022 16:58:18 +0530 Subject: [PATCH 17/48] - Added rejected promise on bridge - Fixed example app --- example/src/screens/PlayerScreen.tsx | 8 ++++++-- src/index.tsx | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/example/src/screens/PlayerScreen.tsx b/example/src/screens/PlayerScreen.tsx index a0c75d0..0a8143f 100644 --- a/example/src/screens/PlayerScreen.tsx +++ b/example/src/screens/PlayerScreen.tsx @@ -179,6 +179,8 @@ export default class App extends React.Component { if (this.state.isDAIPluginAvailable) { this.startDAIPositionTimer(); } + }).catch((error) => { + console.error(`${error}`); }); } @@ -866,7 +868,9 @@ function changeMedia(playbackJson: object, player: KalturaPlayerAPI, mediaIndex: function loadMediaToKalturaPlayer(player: KalturaPlayerAPI, mediaId: String, mediaAsset: String) { player .loadMedia(mediaId, mediaAsset) - .then((response: any) => console.log(`mediaLoaded => ${response}`)); + .then((response: any) => console.log(`mediaLoaded => ${response}`)).catch((error: any) => { + console.error(`${error}`); + }); } async function setupKalturaPlayer( @@ -887,7 +891,7 @@ async function setupKalturaPlayer( console.error('Player is not created.'); } } catch (err) { - console.log(err); + console.log(`setupKalturaPlayer ${err}`); throw err; } } diff --git a/src/index.tsx b/src/index.tsx index dbf7fea..6c52e43 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -489,7 +489,7 @@ async function setupKalturaPlayer( `setupKalturaPlayer Exception: ${exception}`, LogType.ERROR ); - return exception; + return Promise.reject(exception); } } @@ -503,7 +503,7 @@ async function loadMediaKalturaPlayer(id: string, asset: string) { `loadMediaKalturaPlayer Exception: ${exception}`, LogType.ERROR ); - return exception; + return Promise.reject(exception); } } @@ -547,7 +547,7 @@ async function getThumbnailInfo(position: number) { return thumbnailInfo; } catch (exception) { printConsoleLog(`Exception: ${exception}`, LogType.ERROR); - return exception; + return Promise.reject(exception); } } From 7bc753c3c093bbc209a1dc0798286d4256f8f91d Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 10 Oct 2022 17:13:31 +0530 Subject: [PATCH 18/48] - Refactored Test json --- example/src/test/PlayerTest.json | 292 ++++++++++++++++++++----------- 1 file changed, 190 insertions(+), 102 deletions(-) diff --git a/example/src/test/PlayerTest.json b/example/src/test/PlayerTest.json index 1c4a9bb..4b93733 100644 --- a/example/src/test/PlayerTest.json +++ b/example/src/test/PlayerTest.json @@ -36,7 +36,38 @@ } ] }, - "Ads": { + "IMA Ads": { + "Ad Playback": [ + { + "id": "HLS + Ad", + "partnerId": 0, + "initOptions": { + "autoplay": true, + "preload": true, + "allowCrossProtocolRedirect": true, + "plugins": { + "ima": { + "adTagUrl": "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/ad_rule_samples&ciu_szs=300x250&ad_rule=1&impl=s&gdfp_req=1&env=vp&output=vmap&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ar%3Dpremidpost&cmsid=496&vid=short_onecue&correlator=", + "alwaysStartWithPreroll": true, + "enableDebugMode": false + } + } + }, + "mediaList": [ + { + "mediaId": "http://cdnapi.kaltura.com/p/243342/sp/24334200/playManifest/entryId/0_uka1msg4/flavorIds/1_vqhfu6uy,1_80sohj7p/format/applehttp/protocol/http/a.m3u8", + "mediaAsset": { + "id": "basicId", + "name": "basicName", + "duration": 120, + "mediaEntryType": "Vod", + "mediaFormat": "hls", + "startPosition": 0 + } + } + ] + } + ], "Error-In-Ad": [ { "id": "HLS + Ad", @@ -102,100 +133,7 @@ "startPosition": 0 } } - ], - "initOptions": { - "autoplay": true, - "preload": true, - "requestConfig": { - "crossProtocolRedirectEnabled": true, - "readTimeoutMs": 8000, - "connectTimeoutMs": 8000 - }, - "trackSelection": { - "textMode": "SELECTION", - "textLanguage": "fr", - "audioMode": "AUTO", - "audioLanguage": "fr" - }, - "subtitleStyling": { - "subtitleTextColor": "#ffdb26", - "subtitleBackgroundColor": "#00000000", - "subtitleWindowColor": "#00000000", - "subtitleEdgeColor": "#00000000", - "subtitleTextSizeFraction": "SUBTITLE_FRACTION_100", - "subtitleEdgeType": "EDGE_TYPE_DROP_SHADOW" - }, - "allowCrossProtocolRedirect": true, - "allowFairPlayOnExternalScreens": true, - "shouldPlayImmediately": true, - "aspectRatioResizeMode": "fit", - "handleAudioFocus": true, - "plugins": { - "youbora": { - "params": { - "accountCode": "kalturatest", - "username": "test_rn", - "userEmail": "test_rn@mobile.com", - "userAnonymousId": "user_anonymous_Id", - "userType": "user_type", - "houseHoldId": "zxzxz", - "userObfuscateIp": true, - "httpSecure": true, - "transportFormat": "transportFormat", - "urlToParse": "urlToParse", - "linkedViewId": "linkedViewId", - "isAutoStart": true, - "isAutoDetectBackground": true, - "isEnabled": true, - "isForceInit": true, - "isOffline": false, - "haltOnError": false, - "enableAnalytics": true, - "enableSmartAds": true, - "content": { - "contentBitrate": 640000, - "contentCdn": "a", - "contentCdnNode": "b", - "contentCdnType": "c", - "contentChannel": "d", - "contentContractedResolution": "720p", - "contentCost": "122", - "contentDrm": "e", - "contentDuration": 1200000, - "contentEncodingAudioCodec": "ec-3", - "contentEncodingCodecProfile": "f", - "contentEncodingContainerFormat": "g", - "contentEncodingVideoCodec": "h", - "contentEpisodeTitle": "title2", - "contentFps": 60, - "contentGenre": "drama", - "contentGracenoteId": "i", - "contentId": "1st_media", - "contentImdbId": "j", - "contentIsLive": false, - "contentIsLiveNoSeek": false, - "contentLanguage": "en", - "contentPackage": "aaa", - "contentPlaybackType": "bbb", - "contentPrice": 10000, - "contentProgram": "program", - "contentRendition": "22223", - "contentSaga": "ccc", - "contentSeason": "ddd", - "contentStreamingProtocol": "applehttp", - "contentSubtitles": "en", - "contentThroughput": 1230000, - "contentTitle": "title", - "contentTransactionCode": "dssd", - "contentTotalBytes": 123344, - "contentSendTotalBytes": false, - "contentTvShow": "sadsa", - "contentType": "drama" - } - } - } - } - } + ] } ], "dash": [ @@ -208,10 +146,44 @@ ] } ], - "mp4": [] + "mp4": [ + { + "id": "mp4 media test", + "mediaList": [ + { + "mediaId": "http://qa-apache-php7.dev.kaltura.com/p/1091/sp/1091/playManifest/entryId/0_rccv43zr/flavorIds/0_qm8yk6bg,0_5artpfqc,0_ee3vdk7h,0_jkit9w6a,0_8qt13atw,0_rgajlpf4/deliveryProfileId/261/protocol/http/format/url/name/a.mp4", + "mediaAsset": { + "id": "mp4 media test", + "name": "mp4 media test", + "mediaEntryType": "Vod", + "mediaFormat": "mp4" + } + } + ] + } + ] }, "drm": { - "dash": [], + "dash": [ + { + "id": "Widevine DRM", + "mediaList": [ + { + "mediaId": "https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd", + "mediaAsset": { + "id": "Widevine DRM", + "name": "widevine_drm", + "drmData": [ + { + "scheme": "WidevineCENC", + "licenseUri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test" + } + ] + } + } + ] + } + ], "FairPlay": [ { "id": "FairPlay DRM", @@ -222,11 +194,13 @@ "mediaAsset": { "id": "1_i18rihuv", "name": "1_i18rihuv", - "drmData": { - "scheme": "FairPlay", - "licenseUri": "https://udrmv3.kaltura.com/fps/license?custom_data=eyJjYV9zeXN0ZW0iOiJPVlAiLCJ1c2VyX3Rva2VuIjoiZGpKOE1qSXlNalF3TVh4S0piNmxBa3Y1d0l2NVN2dXJSU3MteGQ0VmtGQ3FlMWNhWGlzUG1YQmFjb2EwcGtsbmhfd3JjOFN5LU5laWhIQUxxRE04am9XWlNudjRqMldnUVdESVhKcGw1MXFIcm5GRVE5cmhWQ2RHc2c9PSIsImFjY291bnRfaWQiOiIyMjIyNDAxIiwiY29udGVudF9pZCI6IjFfaTE4cmlodXYiLCJmaWxlcyI6IjFfbndvb2ZxdnIsMV8zejc1d3d4aSwxX2V4anQ1bGU4LDFfdXZiM2Z5cXMifQ%3D%3D&signature=EBEsK0EWEGxsBWjpcqATQUxbAyE%3D", - "base64EncodedCertificate": "MIIFETCCA/mgAwIBAgIISWLo8KcYfPMwDQYJKoZIhvcNAQEFBQAwfzELMAkGA1UEBhMCVVMxEzARBgNVBAoMCkFwcGxlIEluYy4xJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MTMwMQYDVQQDDCpBcHBsZSBLZXkgU2VydmljZXMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTYwMjAxMTY0NTQ0WhcNMTgwMjAxMTY0NTQ0WjCBijELMAkGA1UEBhMCVVMxKDAmBgNVBAoMH1ZJQUNPTSAxOCBNRURJQSBQUklWQVRFIExJTUlURUQxEzARBgNVBAsMClE5QU5HR0w4TTYxPDA6BgNVBAMMM0ZhaXJQbGF5IFN0cmVhbWluZzogVklBQ09NIDE4IE1FRElBIFBSSVZBVEUgTElNSVRFRDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2YmfdPWM86+te7Bbt4Ic6FexXwMeL+8AmExIj8jAaNxhKbfVFnUnuXzHOajGC7XDbXxsFbPqnErqjw0BqUoZhs+WVMy+0X4AGqHk7uRpZ4RLYganel+fqitL9rz9w3p41x8JfLV+lAej+BEN7zNeqQ2IsC4BxkViu1gA6K22uGsCAwEAAaOCAgcwggIDMB0GA1UdDgQWBBQK+Gmarl2PO3jtLP6A6TZeihOL3DAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFGPkR1TLhXFZRiyDrMxEMWRnAyy+MIHiBgNVHSAEgdowgdcwgdQGCSqGSIb3Y2QFATCBxjCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA1BgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLmFwcGxlLmNvbS9rZXlzZXJ2aWNlcy5jcmwwDgYDVR0PAQH/BAQDAgUgMEgGCyqGSIb3Y2QGDQEDAQH/BDYBZ2diOGN5bXpsb21vdXFqb3p0aHg5aXB6dDJ0bThrcGdqOGNwZGlsbGVhMWI1aG9saWlyaW8wPQYLKoZIhvdjZAYNAQQBAf8EKwF5aHZlYXgzaDB2Nno5dXBqcjRsNWVyNm9hMXBtam9zYXF6ZXdnZXFkaTUwDQYJKoZIhvcNAQEFBQADggEBAIaTVzuOpZhHHUMGd47XeIo08E+Wb5jgE2HPsd8P/aHwVcR+9627QkuAnebftasV/h3FElahzBXRbK52qIZ/UU9nRLCqqKwX33eS2TiaAzOoMAL9cTUmEa2SMSzzAehb7lYPC73Y4VQFttbNidHZHawGp/844ipBS7Iumas8kT8G6ZmIBIevWiggd+D5gLdqXpOFI2XsoAipuxW6NKnnlKnuX6aNReqzKO0DmQPDHO2d7pbd3wAz5zJmxDLpRQfn7iJKupoYGqBs2r45OFyM14HUWaC0+VSh2PaZKwnSS8XXo4zcT/MfEcmP0tL9NaDfsvIWnScMxHUUTNNsZIp3QXA=" - } + "drmData": [ + { + "scheme": "FairPlay", + "licenseUri": "https://udrmv3.kaltura.com/fps/license?custom_data=eyJjYV9zeXN0ZW0iOiJPVlAiLCJ1c2VyX3Rva2VuIjoiZGpKOE1qSXlNalF3TVh4S0piNmxBa3Y1d0l2NVN2dXJSU3MteGQ0VmtGQ3FlMWNhWGlzUG1YQmFjb2EwcGtsbmhfd3JjOFN5LU5laWhIQUxxRE04am9XWlNudjRqMldnUVdESVhKcGw1MXFIcm5GRVE5cmhWQ2RHc2c9PSIsImFjY291bnRfaWQiOiIyMjIyNDAxIiwiY29udGVudF9pZCI6IjFfaTE4cmlodXYiLCJmaWxlcyI6IjFfbndvb2ZxdnIsMV8zejc1d3d4aSwxX2V4anQ1bGU4LDFfdXZiM2Z5cXMifQ%3D%3D&signature=EBEsK0EWEGxsBWjpcqATQUxbAyE%3D", + "base64EncodedCertificate": "MIIFETCCA/mgAwIBAgIISWLo8KcYfPMwDQYJKoZIhvcNAQEFBQAwfzELMAkGA1UEBhMCVVMxEzARBgNVBAoMCkFwcGxlIEluYy4xJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MTMwMQYDVQQDDCpBcHBsZSBLZXkgU2VydmljZXMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTYwMjAxMTY0NTQ0WhcNMTgwMjAxMTY0NTQ0WjCBijELMAkGA1UEBhMCVVMxKDAmBgNVBAoMH1ZJQUNPTSAxOCBNRURJQSBQUklWQVRFIExJTUlURUQxEzARBgNVBAsMClE5QU5HR0w4TTYxPDA6BgNVBAMMM0ZhaXJQbGF5IFN0cmVhbWluZzogVklBQ09NIDE4IE1FRElBIFBSSVZBVEUgTElNSVRFRDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2YmfdPWM86+te7Bbt4Ic6FexXwMeL+8AmExIj8jAaNxhKbfVFnUnuXzHOajGC7XDbXxsFbPqnErqjw0BqUoZhs+WVMy+0X4AGqHk7uRpZ4RLYganel+fqitL9rz9w3p41x8JfLV+lAej+BEN7zNeqQ2IsC4BxkViu1gA6K22uGsCAwEAAaOCAgcwggIDMB0GA1UdDgQWBBQK+Gmarl2PO3jtLP6A6TZeihOL3DAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFGPkR1TLhXFZRiyDrMxEMWRnAyy+MIHiBgNVHSAEgdowgdcwgdQGCSqGSIb3Y2QFATCBxjCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA1BgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLmFwcGxlLmNvbS9rZXlzZXJ2aWNlcy5jcmwwDgYDVR0PAQH/BAQDAgUgMEgGCyqGSIb3Y2QGDQEDAQH/BDYBZ2diOGN5bXpsb21vdXFqb3p0aHg5aXB6dDJ0bThrcGdqOGNwZGlsbGVhMWI1aG9saWlyaW8wPQYLKoZIhvdjZAYNAQQBAf8EKwF5aHZlYXgzaDB2Nno5dXBqcjRsNWVyNm9hMXBtam9zYXF6ZXdnZXFkaTUwDQYJKoZIhvcNAQEFBQADggEBAIaTVzuOpZhHHUMGd47XeIo08E+Wb5jgE2HPsd8P/aHwVcR+9627QkuAnebftasV/h3FElahzBXRbK52qIZ/UU9nRLCqqKwX33eS2TiaAzOoMAL9cTUmEa2SMSzzAehb7lYPC73Y4VQFttbNidHZHawGp/844ipBS7Iumas8kT8G6ZmIBIevWiggd+D5gLdqXpOFI2XsoAipuxW6NKnnlKnuX6aNReqzKO0DmQPDHO2d7pbd3wAz5zJmxDLpRQfn7iJKupoYGqBs2r45OFyM14HUWaC0+VSh2PaZKwnSS8XXo4zcT/MfEcmP0tL9NaDfsvIWnScMxHUUTNNsZIp3QXA=" + } + ] } } ], @@ -424,6 +398,120 @@ ] } ] + }, + "Analytics": { + "Youbora Test": [ + { + "id": "hls_basic_playback + Youbora", + "partnerId": 0, + "mediaList": [ + { + "mediaId": "http://cdnapi.kaltura.com/p/243342/sp/24334200/playManifest/entryId/0_uka1msg4/flavorIds/1_vqhfu6uy,1_80sohj7p/format/applehttp/protocol/http/a.m3u8", + "mediaAsset": { + "id": "basicId", + "name": "basicName", + "duration": 120, + "mediaEntryType": "Vod", + "mediaFormat": "hls", + "startPosition": 0 + } + } + ], + "initOptions": { + "autoplay": true, + "preload": true, + "requestConfig": { + "crossProtocolRedirectEnabled": true, + "readTimeoutMs": 8000, + "connectTimeoutMs": 8000 + }, + "trackSelection": { + "textMode": "SELECTION", + "textLanguage": "fr", + "audioMode": "AUTO", + "audioLanguage": "fr" + }, + "subtitleStyling": { + "subtitleTextColor": "#ffdb26", + "subtitleBackgroundColor": "#00000000", + "subtitleWindowColor": "#00000000", + "subtitleEdgeColor": "#00000000", + "subtitleTextSizeFraction": "SUBTITLE_FRACTION_100", + "subtitleEdgeType": "EDGE_TYPE_DROP_SHADOW" + }, + "allowCrossProtocolRedirect": true, + "allowFairPlayOnExternalScreens": true, + "shouldPlayImmediately": true, + "aspectRatioResizeMode": "fit", + "handleAudioFocus": true, + "plugins": { + "youbora": { + "params": { + "accountCode": "kalturatest", + "username": "test_rn", + "userEmail": "test_rn@mobile.com", + "userAnonymousId": "user_anonymous_Id", + "userType": "user_type", + "houseHoldId": "zxzxz", + "userObfuscateIp": true, + "httpSecure": true, + "transportFormat": "transportFormat", + "urlToParse": "urlToParse", + "linkedViewId": "linkedViewId", + "isAutoStart": true, + "isAutoDetectBackground": true, + "isEnabled": true, + "isForceInit": true, + "isOffline": false, + "haltOnError": false, + "enableAnalytics": true, + "enableSmartAds": true, + "content": { + "contentBitrate": 640000, + "contentCdn": "a", + "contentCdnNode": "b", + "contentCdnType": "c", + "contentChannel": "d", + "contentContractedResolution": "720p", + "contentCost": "122", + "contentDrm": "e", + "contentDuration": 1200000, + "contentEncodingAudioCodec": "ec-3", + "contentEncodingCodecProfile": "f", + "contentEncodingContainerFormat": "g", + "contentEncodingVideoCodec": "h", + "contentEpisodeTitle": "title2", + "contentFps": 60, + "contentGenre": "drama", + "contentGracenoteId": "i", + "contentId": "1st_media", + "contentImdbId": "j", + "contentIsLive": false, + "contentIsLiveNoSeek": false, + "contentLanguage": "en", + "contentPackage": "aaa", + "contentPlaybackType": "bbb", + "contentPrice": 10000, + "contentProgram": "program", + "contentRendition": "22223", + "contentSaga": "ccc", + "contentSeason": "ddd", + "contentStreamingProtocol": "applehttp", + "contentSubtitles": "en", + "contentThroughput": 1230000, + "contentTitle": "title", + "contentTransactionCode": "dssd", + "contentTotalBytes": 123344, + "contentSendTotalBytes": false, + "contentTvShow": "sadsa", + "contentType": "drama" + } + } + } + } + } + } + ] } }, "ovp": { From ea81675a979a5555bc6f88b82cf616ddf32e6a6e Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 10 Oct 2022 18:55:45 +0530 Subject: [PATCH 19/48] - Added 2 analytics events for broadpeak --- .../KalturaPlayerRN.kt | 23 ++++++++++++------- .../events/KalturaPlayerAnalyticsEvents.kt | 2 ++ docs/events.md | 2 ++ src/events/AnalyticsEvents.tsx | 4 +++- 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index e30d2a0..7b20ed3 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -1612,14 +1612,21 @@ class KalturaPlayerRN( " }") ) } -// player?.addListener(context, BroadpeakEvent.error) { event: BroadpeakEvent.ErrorEvent -> -// sendPlayerEvent( -// "broadpeakError", ("{ \"errorMessage\": \"" + event.errorMessage + "\" " + -// ", \"errorCode\": \"" + event.errorCode + "\" " + -// ", \"errorType\": \"" + event.type + "\" " + -// " }") -// ) -// } + player?.addListener(context, InterceptorEvent.sourceUrlSwitched) { event -> + sendPlayerEvent( + KalturaPlayerAnalyticsEvents.SOURCE_URL_SWITCHED, + ("{ \"originalUrl\": \"" + event.originalUrl + "\" " + + ", \"updatedUrl\": \"" + event.updatedUrl + "\" " + + " }") + ) + } + player?.addListener(context, InterceptorEvent.cdnSwitched) { event -> + sendPlayerEvent( + KalturaPlayerAnalyticsEvents.CDN_SWITCHED, + ("{ \"cdnCode\": \"" + event.cdnCode + "\" " + + " }") + ) + } log.d("Player listeners are added.") } diff --git a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt index f2c5a6d..8771fdb 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt @@ -6,6 +6,8 @@ class KalturaPlayerAnalyticsEvents { const val PHOENIX_CONCURRENCY_ERROR = "concurrencyError" const val PHOENIX_BOOKMARK_ERROR = "bookmarkError" const val PHOENIX_ERROR = "error" + const val SOURCE_URL_SWITCHED = "sourceUrlSwitched" + const val CDN_SWITCHED = "cdnSwitched" } } \ No newline at end of file diff --git a/docs/events.md b/docs/events.md index 3d65a6d..2a505d3 100644 --- a/docs/events.md +++ b/docs/events.md @@ -155,3 +155,5 @@ It talks about more about the concurrency level errors on the stream. These even |`PHOENIX_CONCURRENCY_ERROR`|**TODO**|✅ |✅ | |`PHOENIX_BOOKMARK_ERROR`|**TODO**|✅ |✅ | |`PHOENIX_ERROR`|**TODO**|✅ |✅ | +|`SOURCE_URL_SWITCHED`|   {
     "originalUrl": String,
     "updatedUrl": String
     }
|✅ |✅ | +|`CDN_SWITCHED`|   {
     "cdnCode": String
     }
|✅ |✅ | \ No newline at end of file diff --git a/src/events/AnalyticsEvents.tsx b/src/events/AnalyticsEvents.tsx index 1e5e165..dddc926 100644 --- a/src/events/AnalyticsEvents.tsx +++ b/src/events/AnalyticsEvents.tsx @@ -1,5 +1,7 @@ export const AnalyticsEvents = { PHOENIX_CONCURRENCY_ERROR: 'concurrencyError', PHOENIX_BOOKMARK_ERROR: 'bookmarkError', - PHOENIX_ERROR: 'error' + PHOENIX_ERROR: 'error', + SOURCE_URL_SWITCHED: "sourceUrlSwitched", + CDN_SWITCHED: "cdnSwitched" }; From b4432ba4dfe0eaa18f453025af846831ae3e26c7 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Tue, 11 Oct 2022 16:19:38 +0530 Subject: [PATCH 20/48] - Added ability to play basic media even though OTT or OVP player is created. --- example/src/test/PlayerTest.json | 2 +- ios/Basic/BasicKalturaPlayerRN.swift | 15 ------ ios/KalturaPlayerModule.swift | 19 ++++++++ ios/KalturaPlayerRN.swift | 73 +++++++++++++++++++++++++++- 4 files changed, 92 insertions(+), 17 deletions(-) diff --git a/example/src/test/PlayerTest.json b/example/src/test/PlayerTest.json index 4b93733..0ed11fa 100644 --- a/example/src/test/PlayerTest.json +++ b/example/src/test/PlayerTest.json @@ -603,7 +603,7 @@ "mediaId": "1_w9zx2eti" }, { - "mediaId": "https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd" + "mediaId": "http://cdnapi.kaltura.com/p/243342/sp/24334200/playManifest/entryId/0_uka1msg4/flavorIds/1_vqhfu6uy,1_80sohj7p/format/applehttp/protocol/http/a.m3u8" } ] } diff --git a/ios/Basic/BasicKalturaPlayerRN.swift b/ios/Basic/BasicKalturaPlayerRN.swift index 1e64a3a..ff32508 100644 --- a/ios/Basic/BasicKalturaPlayerRN.swift +++ b/ios/Basic/BasicKalturaPlayerRN.swift @@ -78,18 +78,3 @@ class BasicKalturaPlayerRN: KalturaPlayerRN { callback(nil) } } - -extension BasicKalturaPlayerRN { - - private func parseBasicMediaAsset(_ mediaAsset: String) -> BasicMediaAsset? { - let data = Data(mediaAsset.utf8) - let mediaAsset: BasicMediaAsset? - do { - mediaAsset = try JSONDecoder().decode(BasicMediaAsset.self, from: data) - } catch let error as NSError { - PKLog.debug("Couldn't parse Basic MediaAsset, error: \(error)") - return nil - } - return mediaAsset - } -} diff --git a/ios/KalturaPlayerModule.swift b/ios/KalturaPlayerModule.swift index 5579881..216c1e3 100644 --- a/ios/KalturaPlayerModule.swift +++ b/ios/KalturaPlayerModule.swift @@ -145,6 +145,25 @@ class KalturaPlayerModule: NSObject, RCTBridgeModule { return } + let playbackURL = URL(string: assetId) + let isValidURL = UIApplication.shared.canOpenURL(playbackURL!) + + // If FE is passing an assetId which is playback URL actually then try to play it using basic player way + if isValidURL && playerType != .basic { + DispatchQueue.main.async { + kalturaPlayerRN.playerMediaUsingBasicPlayer(assetId: assetId, mediaAsset: mediaAsset ?? "{}") { error in + if let kpRNError = error { + let message = kpRNError.userInfo[KalturaPlayerRNError.errorMessageKey] as? String + let nsError = kpRNError.asNSError + reject("ERROR_LOADMEDIA", message, nsError) + } else { + resolve("Sucess") + } + } + } + return + } + DispatchQueue.main.async { kalturaPlayerRN.load(assetId: assetId, mediaAsset: mediaAsset ?? "{}") { error in if let kpRNError = error { diff --git a/ios/KalturaPlayerRN.swift b/ios/KalturaPlayerRN.swift index 3a1522b..594d0cf 100644 --- a/ios/KalturaPlayerRN.swift +++ b/ios/KalturaPlayerRN.swift @@ -242,7 +242,78 @@ extension KalturaPlayerRN { break } } -} + + /** + If Player is setup either OTT or OVP but still FE wants to play media using playback URL not using mediaId or entryId + then directly use KalturaPlayer and set the media + */ + func playerMediaUsingBasicPlayer(assetId: String, mediaAsset: String, callback: @escaping (_ error: KalturaPlayerRNError?) -> Void) { + guard let contentUrl = URL(string: assetId) else { + let message = "The content URL is not valid." + let error = KalturaPlayerRNError.loadMediaFailed(message: message) + callback(error) + return + } + guard let basicMediaAsset = parseBasicMediaAsset(mediaAsset) else { + let message = "Parsing the Media Asset failed." + let error = KalturaPlayerRNError.loadMediaFailed(message: message) + callback(error) + return + } + + let mediaOptions = basicMediaAsset.getMediaOptions() + + var drmData:[PlayKit.DRMParams]? = nil + if let assetDRMData = basicMediaAsset.drmData { + if let licenseUri = assetDRMData.licenseUri, !licenseUri.isEmpty, + let base64EncodedCertificate = assetDRMData.base64EncodedCertificate, !base64EncodedCertificate.isEmpty { + switch Scheme(string: assetDRMData.scheme ?? "") { + case .fairplay: + drmData = [FairPlayDRMParams(licenseUri: licenseUri, + base64EncodedCertificate: base64EncodedCertificate)] + case .widevineCenc: + break + case .playreadyCenc: + break + case .widevineClassic: + break + case .unknown: + break + } + } + } + + var mediaSource = [PKMediaSource]() + let pkMediaSource = PKMediaSource("basicMediaSourceId", contentUrl: contentUrl, mimeType: nil, drmData: drmData, mediaFormat: PKMediaSource.MediaFormat.unknown) + mediaSource.append(pkMediaSource) + + let pkMediaEntry = PKMediaEntry("basicMediaEntryId", sources: mediaSource) + + + kalturaPlayer?.setMedia(pkMediaEntry) + + // If the autoPlay and preload was set to false, prepare will not be called automatically + if initOptions.autoplay == false && initOptions.preload == false { + kalturaPlayer?.prepare() + } + + updateMediaSettings() + + callback(nil) + } + + func parseBasicMediaAsset(_ mediaAsset: String) -> BasicMediaAsset? { + let data = Data(mediaAsset.utf8) + let mediaAsset: BasicMediaAsset? + do { + mediaAsset = try JSONDecoder().decode(BasicMediaAsset.self, from: data) + } catch let error as NSError { + PKLog.debug("Couldn't parse Basic MediaAsset, error: \(error)") + return nil + } + return mediaAsset + } + } extension KalturaPlayerRN { From 8efee879489ec9a57c6a140ef597841980de48eb Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Tue, 11 Oct 2022 16:39:10 +0530 Subject: [PATCH 21/48] - Made parsing media asset static --- ios/Basic/BasicKalturaPlayerRN.swift | 17 ++++++++++++++++- ios/KalturaPlayerRN.swift | 14 +------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/ios/Basic/BasicKalturaPlayerRN.swift b/ios/Basic/BasicKalturaPlayerRN.swift index ff32508..0158a21 100644 --- a/ios/Basic/BasicKalturaPlayerRN.swift +++ b/ios/Basic/BasicKalturaPlayerRN.swift @@ -32,7 +32,7 @@ class BasicKalturaPlayerRN: KalturaPlayerRN { callback(error) return } - guard let basicMediaAsset = parseBasicMediaAsset(mediaAsset) else { + guard let basicMediaAsset = BasicKalturaPlayerRN.parseBasicMediaAsset(mediaAsset) else { let message = "Parsing the Media Asset failed." let error = KalturaPlayerRNError.loadMediaFailed(message: message) callback(error) @@ -78,3 +78,18 @@ class BasicKalturaPlayerRN: KalturaPlayerRN { callback(nil) } } + +extension BasicKalturaPlayerRN { + + static func parseBasicMediaAsset(_ mediaAsset: String) -> BasicMediaAsset? { + let data = Data(mediaAsset.utf8) + let mediaAsset: BasicMediaAsset? + do { + mediaAsset = try JSONDecoder().decode(BasicMediaAsset.self, from: data) + } catch let error as NSError { + PKLog.debug("Couldn't parse Basic MediaAsset, error: \(error)") + return nil + } + return mediaAsset + } +} diff --git a/ios/KalturaPlayerRN.swift b/ios/KalturaPlayerRN.swift index 594d0cf..9ceb622 100644 --- a/ios/KalturaPlayerRN.swift +++ b/ios/KalturaPlayerRN.swift @@ -254,7 +254,7 @@ extension KalturaPlayerRN { callback(error) return } - guard let basicMediaAsset = parseBasicMediaAsset(mediaAsset) else { + guard let basicMediaAsset = BasicKalturaPlayerRN.parseBasicMediaAsset(mediaAsset) else { let message = "Parsing the Media Asset failed." let error = KalturaPlayerRNError.loadMediaFailed(message: message) callback(error) @@ -301,18 +301,6 @@ extension KalturaPlayerRN { callback(nil) } - - func parseBasicMediaAsset(_ mediaAsset: String) -> BasicMediaAsset? { - let data = Data(mediaAsset.utf8) - let mediaAsset: BasicMediaAsset? - do { - mediaAsset = try JSONDecoder().decode(BasicMediaAsset.self, from: data) - } catch let error as NSError { - PKLog.debug("Couldn't parse Basic MediaAsset, error: \(error)") - return nil - } - return mediaAsset - } } extension KalturaPlayerRN { From 13dba6dd8f75c21972db62b9d65e508e5e8114fe Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Tue, 11 Oct 2022 17:08:08 +0530 Subject: [PATCH 22/48] - TODO `setLogLevel` API on iOS native --- ios/KalturaPlayerModule.m | 2 ++ ios/KalturaPlayerModule.swift | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/ios/KalturaPlayerModule.m b/ios/KalturaPlayerModule.m index 4ca5436..d5c6a8b 100644 --- a/ios/KalturaPlayerModule.m +++ b/ios/KalturaPlayerModule.m @@ -58,4 +58,6 @@ @interface RCT_EXTERN_MODULE(KalturaPlayerModule, NSObject) RCT_EXTERN_METHOD(isLive:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) +RCT_EXTERN_METHOD(setLogLevel:(NSString *)logLevel) + @end diff --git a/ios/KalturaPlayerModule.swift b/ios/KalturaPlayerModule.swift index 216c1e3..fca7483 100644 --- a/ios/KalturaPlayerModule.swift +++ b/ios/KalturaPlayerModule.swift @@ -6,6 +6,7 @@ // import Foundation +import PlayKit @objc(KalturaPlayerEvents) class KalturaPlayerEvents: RCTEventEmitter { @@ -371,3 +372,15 @@ extension KalturaPlayerModule { } } } + +extension KalturaPlayerModule { + @objc func setLogLevel(logLevel: String?) { + guard let logLevel = logLevel, !logLevel.isEmpty else { + return + } + + // TODO: + + + } +} From 7645ffe50feb014e3d956fef0eb00313249110f1 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Wed, 12 Oct 2022 15:43:06 +0530 Subject: [PATCH 23/48] - Moved version to v0.4.0 and removed malware dependency --- package.json | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 317785b..9851e79 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kaltura-player-rn", - "version": "0.3.0", + "version": "0.4.0", "description": "React Native Library for KalturaPlayer", "main": "lib/commonjs/index", "module": "lib/module/index", @@ -31,8 +31,7 @@ "bootstrap": "yarn example && yarn && yarn pods" }, "keywords": [ - "react native video players", - "react native video player", + "react-native player", "react-native", "ios", "android", @@ -52,7 +51,7 @@ "registry": "https://registry.npmjs.org/" }, "peerDependencies": { - "react-native": "^0.66.3" + "react-native": "^0.66.3" }, "dependencies": { "prop-types": "^15.8.1", @@ -65,7 +64,6 @@ "@babel/runtime": "^7.17.9", "@commitlint/config-conventional": "^11.0.0", "@react-native-community/eslint-config": "*", - "@release-it/conventional-changelog": "^5.0.0", "@types/jest": "^26.0.0", "@types/react": "^16.9.19", "@types/react-native": "0.62.13", @@ -78,7 +76,6 @@ "pod-install": "^0.1.0", "prettier": "^2.0.5", "react-native-builder-bob": "^0.18.0", - "release-it": "^15.0.0", "typescript": "^4.1.3" }, "jest": { From 147bf4f86e47a11b196f6e796e9dded93b7fd608 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Tue, 1 Nov 2022 22:37:05 +0530 Subject: [PATCH 24/48] - Upgraded react native version to 0.68.2 on example app - Updated react native version >= 0.66.3 in order to avoid 'Hermes-Engine` vulnerability - Updated Android/iOS example side code - Lib changes --- example/android/app/build.gradle | 2 +- example/android/gradle.properties | 2 +- example/android/settings.gradle | 1 + .../ios/KalturaPlayerExample/AppDelegate.m | 2 +- example/ios/Podfile | 4 + example/ios/Podfile.lock | 431 ++--- example/package.json | 6 +- example/yarn.lock | 1626 +++++++++++++---- lib/commonjs/consts.js | 73 +- lib/commonjs/consts.js.map | 2 +- lib/commonjs/events/AdEvents.js | 2 +- lib/commonjs/events/AdEvents.js.map | 2 +- lib/commonjs/events/AnalyticsEvents.js | 4 +- lib/commonjs/events/AnalyticsEvents.js.map | 2 +- lib/commonjs/events/PlayerEvents.js | 1 + lib/commonjs/events/PlayerEvents.js.map | 2 +- lib/commonjs/index.js | 108 +- lib/commonjs/index.js.map | 2 +- lib/module/consts.js | 59 +- lib/module/consts.js.map | 2 +- lib/module/events/AdEvents.js | 2 +- lib/module/events/AdEvents.js.map | 2 +- lib/module/events/AnalyticsEvents.js | 4 +- lib/module/events/AnalyticsEvents.js.map | 2 +- lib/module/events/PlayerEvents.js | 1 + lib/module/events/PlayerEvents.js.map | 2 +- lib/module/index.js | 93 +- lib/module/index.js.map | 2 +- lib/typescript/consts.d.ts | 16 + lib/typescript/events/AnalyticsEvents.d.ts | 2 + lib/typescript/index.d.ts | 15 +- package.json | 4 +- yarn.lock | 1108 ++++++----- 33 files changed, 2219 insertions(+), 1367 deletions(-) diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 5f6b2b4..4ff59e4 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -207,7 +207,7 @@ dependencies { implementation jscFlavor } - def kalturaPlayerVersion = '4.24.0' + def kalturaPlayerVersion = '4.24.1' //implementation project(':reactnativekalturaplayer') implementation "com.kaltura.playkit:imaplugin:$kalturaPlayerVersion" implementation "com.kaltura.playkit:youboraplugin:$kalturaPlayerVersion" diff --git a/example/android/gradle.properties b/example/android/gradle.properties index bd82513..61b4d10 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -20,4 +20,4 @@ org.gradle.jvmargs=-Xmx2048m android.useAndroidX=true android.enableJetifier=true -FLIPPER_VERSION=0.99.0 +FLIPPER_VERSION=0.125.0 diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 3c9eeb6..2e2efa1 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -1,6 +1,7 @@ rootProject.name = 'KalturaPlayerExample' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' +includeBuild('../node_modules/react-native-gradle-plugin') include ':kaltura-player-rn' project(':kaltura-player-rn').projectDir = new File(rootProject.projectDir, '../node_modules/kaltura-player-rn/android') diff --git a/example/ios/KalturaPlayerExample/AppDelegate.m b/example/ios/KalturaPlayerExample/AppDelegate.m index 25f8211..5380ae0 100644 --- a/example/ios/KalturaPlayerExample/AppDelegate.m +++ b/example/ios/KalturaPlayerExample/AppDelegate.m @@ -51,7 +51,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #if DEBUG - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; #else return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif diff --git a/example/ios/Podfile b/example/ios/Podfile index c765ae9..e4e69ce 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -2,11 +2,15 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' platform :ios, '13.0' +install! 'cocoapods', :deterministic_uuids => false target 'KalturaPlayerExample' do use_frameworks! config = use_native_modules! +# Flags change depending on the env values. + flags = get_default_flags() + use_modular_headers! use_react_native!(:path => config[:reactNativePath]) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 9556707..7e29311 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,14 +1,14 @@ PODS: - boost (1.76.0) - DoubleConversion (1.1.6) - - FBLazyVector (0.66.4) - - FBReactNativeSpec (0.66.4): + - FBLazyVector (0.68.4) + - FBReactNativeSpec (0.68.4): - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.66.4) - - RCTTypeSafety (= 0.66.4) - - React-Core (= 0.66.4) - - React-jsi (= 0.66.4) - - ReactCommon/turbomodule/core (= 0.66.4) + - RCTRequired (= 0.68.4) + - RCTTypeSafety (= 0.68.4) + - React-Core (= 0.68.4) + - React-jsi (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) - fmt (6.2.1) - glog (0.3.5) - GoogleAds-IMA-iOS-SDK (3.14.4) @@ -69,260 +69,269 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCTRequired (0.66.4) - - RCTTypeSafety (0.66.4): - - FBLazyVector (= 0.66.4) + - RCTRequired (0.68.4) + - RCTTypeSafety (0.68.4): + - FBLazyVector (= 0.68.4) - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.66.4) - - React-Core (= 0.66.4) - - React (0.66.4): - - React-Core (= 0.66.4) - - React-Core/DevSupport (= 0.66.4) - - React-Core/RCTWebSocket (= 0.66.4) - - React-RCTActionSheet (= 0.66.4) - - React-RCTAnimation (= 0.66.4) - - React-RCTBlob (= 0.66.4) - - React-RCTImage (= 0.66.4) - - React-RCTLinking (= 0.66.4) - - React-RCTNetwork (= 0.66.4) - - React-RCTSettings (= 0.66.4) - - React-RCTText (= 0.66.4) - - React-RCTVibration (= 0.66.4) - - React-callinvoker (0.66.4) - - React-Core (0.66.4): + - RCTRequired (= 0.68.4) + - React-Core (= 0.68.4) + - React (0.68.4): + - React-Core (= 0.68.4) + - React-Core/DevSupport (= 0.68.4) + - React-Core/RCTWebSocket (= 0.68.4) + - React-RCTActionSheet (= 0.68.4) + - React-RCTAnimation (= 0.68.4) + - React-RCTBlob (= 0.68.4) + - React-RCTImage (= 0.68.4) + - React-RCTLinking (= 0.68.4) + - React-RCTNetwork (= 0.68.4) + - React-RCTSettings (= 0.68.4) + - React-RCTText (= 0.68.4) + - React-RCTVibration (= 0.68.4) + - React-callinvoker (0.68.4) + - React-Codegen (0.68.4): + - FBReactNativeSpec (= 0.68.4) + - RCT-Folly (= 2021.06.28.00-v2) + - RCTRequired (= 0.68.4) + - RCTTypeSafety (= 0.68.4) + - React-Core (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) + - React-Core (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.66.4) - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-Core/Default (= 0.68.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/CoreModulesHeaders (0.66.4): + - React-Core/CoreModulesHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/Default (0.66.4): + - React-Core/Default (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/DevSupport (0.66.4): + - React-Core/DevSupport (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.66.4) - - React-Core/RCTWebSocket (= 0.66.4) - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-jsinspector (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-Core/Default (= 0.68.4) + - React-Core/RCTWebSocket (= 0.68.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-jsinspector (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTActionSheetHeaders (0.66.4): + - React-Core/RCTActionSheetHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTAnimationHeaders (0.66.4): + - React-Core/RCTAnimationHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTBlobHeaders (0.66.4): + - React-Core/RCTBlobHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTImageHeaders (0.66.4): + - React-Core/RCTImageHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTLinkingHeaders (0.66.4): + - React-Core/RCTLinkingHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTNetworkHeaders (0.66.4): + - React-Core/RCTNetworkHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTSettingsHeaders (0.66.4): + - React-Core/RCTSettingsHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTTextHeaders (0.66.4): + - React-Core/RCTTextHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTVibrationHeaders (0.66.4): + - React-Core/RCTVibrationHeaders (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-Core/RCTWebSocket (0.66.4): + - React-Core/RCTWebSocket (0.68.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.66.4) - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsiexecutor (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-Core/Default (= 0.68.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsiexecutor (= 0.68.4) + - React-perflogger (= 0.68.4) - Yoga - - React-CoreModules (0.66.4): - - FBReactNativeSpec (= 0.66.4) + - React-CoreModules (0.68.4): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.4) - - React-Core/CoreModulesHeaders (= 0.66.4) - - React-jsi (= 0.66.4) - - React-RCTImage (= 0.66.4) - - ReactCommon/turbomodule/core (= 0.66.4) - - React-cxxreact (0.66.4): + - RCTTypeSafety (= 0.68.4) + - React-Codegen (= 0.68.4) + - React-Core/CoreModulesHeaders (= 0.68.4) + - React-jsi (= 0.68.4) + - React-RCTImage (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) + - React-cxxreact (0.68.4): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.66.4) - - React-jsi (= 0.66.4) - - React-jsinspector (= 0.66.4) - - React-logger (= 0.66.4) - - React-perflogger (= 0.66.4) - - React-runtimeexecutor (= 0.66.4) - - React-jsi (0.66.4): + - React-callinvoker (= 0.68.4) + - React-jsi (= 0.68.4) + - React-jsinspector (= 0.68.4) + - React-logger (= 0.68.4) + - React-perflogger (= 0.68.4) + - React-runtimeexecutor (= 0.68.4) + - React-jsi (0.68.4): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Default (= 0.66.4) - - React-jsi/Default (0.66.4): + - React-jsi/Default (= 0.68.4) + - React-jsi/Default (0.68.4): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsiexecutor (0.66.4): + - React-jsiexecutor (0.68.4): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-perflogger (= 0.66.4) - - React-jsinspector (0.66.4) - - React-logger (0.66.4): + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-perflogger (= 0.68.4) + - React-jsinspector (0.68.4) + - React-logger (0.68.4): - glog - react-native-netinfo (9.3.0): - React-Core - - React-perflogger (0.66.4) - - React-RCTActionSheet (0.66.4): - - React-Core/RCTActionSheetHeaders (= 0.66.4) - - React-RCTAnimation (0.66.4): - - FBReactNativeSpec (= 0.66.4) + - React-perflogger (0.68.4) + - React-RCTActionSheet (0.68.4): + - React-Core/RCTActionSheetHeaders (= 0.68.4) + - React-RCTAnimation (0.68.4): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.4) - - React-Core/RCTAnimationHeaders (= 0.66.4) - - React-jsi (= 0.66.4) - - ReactCommon/turbomodule/core (= 0.66.4) - - React-RCTBlob (0.66.4): - - FBReactNativeSpec (= 0.66.4) + - RCTTypeSafety (= 0.68.4) + - React-Codegen (= 0.68.4) + - React-Core/RCTAnimationHeaders (= 0.68.4) + - React-jsi (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) + - React-RCTBlob (0.68.4): - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTBlobHeaders (= 0.66.4) - - React-Core/RCTWebSocket (= 0.66.4) - - React-jsi (= 0.66.4) - - React-RCTNetwork (= 0.66.4) - - ReactCommon/turbomodule/core (= 0.66.4) - - React-RCTImage (0.66.4): - - FBReactNativeSpec (= 0.66.4) + - React-Codegen (= 0.68.4) + - React-Core/RCTBlobHeaders (= 0.68.4) + - React-Core/RCTWebSocket (= 0.68.4) + - React-jsi (= 0.68.4) + - React-RCTNetwork (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) + - React-RCTImage (0.68.4): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.4) - - React-Core/RCTImageHeaders (= 0.66.4) - - React-jsi (= 0.66.4) - - React-RCTNetwork (= 0.66.4) - - ReactCommon/turbomodule/core (= 0.66.4) - - React-RCTLinking (0.66.4): - - FBReactNativeSpec (= 0.66.4) - - React-Core/RCTLinkingHeaders (= 0.66.4) - - React-jsi (= 0.66.4) - - ReactCommon/turbomodule/core (= 0.66.4) - - React-RCTNetwork (0.66.4): - - FBReactNativeSpec (= 0.66.4) + - RCTTypeSafety (= 0.68.4) + - React-Codegen (= 0.68.4) + - React-Core/RCTImageHeaders (= 0.68.4) + - React-jsi (= 0.68.4) + - React-RCTNetwork (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) + - React-RCTLinking (0.68.4): + - React-Codegen (= 0.68.4) + - React-Core/RCTLinkingHeaders (= 0.68.4) + - React-jsi (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) + - React-RCTNetwork (0.68.4): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.4) - - React-Core/RCTNetworkHeaders (= 0.66.4) - - React-jsi (= 0.66.4) - - ReactCommon/turbomodule/core (= 0.66.4) - - React-RCTSettings (0.66.4): - - FBReactNativeSpec (= 0.66.4) + - RCTTypeSafety (= 0.68.4) + - React-Codegen (= 0.68.4) + - React-Core/RCTNetworkHeaders (= 0.68.4) + - React-jsi (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) + - React-RCTSettings (0.68.4): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.4) - - React-Core/RCTSettingsHeaders (= 0.66.4) - - React-jsi (= 0.66.4) - - ReactCommon/turbomodule/core (= 0.66.4) - - React-RCTText (0.66.4): - - React-Core/RCTTextHeaders (= 0.66.4) - - React-RCTVibration (0.66.4): - - FBReactNativeSpec (= 0.66.4) + - RCTTypeSafety (= 0.68.4) + - React-Codegen (= 0.68.4) + - React-Core/RCTSettingsHeaders (= 0.68.4) + - React-jsi (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) + - React-RCTText (0.68.4): + - React-Core/RCTTextHeaders (= 0.68.4) + - React-RCTVibration (0.68.4): - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTVibrationHeaders (= 0.66.4) - - React-jsi (= 0.66.4) - - ReactCommon/turbomodule/core (= 0.66.4) - - React-runtimeexecutor (0.66.4): - - React-jsi (= 0.66.4) - - ReactCommon/turbomodule/core (0.66.4): + - React-Codegen (= 0.68.4) + - React-Core/RCTVibrationHeaders (= 0.68.4) + - React-jsi (= 0.68.4) + - ReactCommon/turbomodule/core (= 0.68.4) + - React-runtimeexecutor (0.68.4): + - React-jsi (= 0.68.4) + - ReactCommon/turbomodule/core (0.68.4): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.66.4) - - React-Core (= 0.66.4) - - React-cxxreact (= 0.66.4) - - React-jsi (= 0.66.4) - - React-logger (= 0.66.4) - - React-perflogger (= 0.66.4) + - React-callinvoker (= 0.68.4) + - React-Core (= 0.68.4) + - React-cxxreact (= 0.68.4) + - React-jsi (= 0.68.4) + - React-logger (= 0.68.4) + - React-perflogger (= 0.68.4) - ReactNativeNavigation (7.28.1): - HMSegmentedControl - React-Core @@ -334,7 +343,7 @@ PODS: - React-Core - React-RCTImage - React-RCTText - - RNKalturaPlayer (0.1.0): + - RNKalturaPlayer (0.4.0): - KalturaPlayer/OTT - KalturaPlayer/OVP - React-Core @@ -362,6 +371,7 @@ DEPENDENCIES: - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Codegen (from `build/generated/ios`) - React-Core (from `../node_modules/react-native/`) - React-Core/DevSupport (from `../node_modules/react-native/`) - React-Core/RCTWebSocket (from `../node_modules/react-native/`) @@ -431,6 +441,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/" React-callinvoker: :path: "../node_modules/react-native/ReactCommon/callinvoker" + React-Codegen: + :path: build/generated/ios React-Core: :path: "../node_modules/react-native/" React-CoreModules: @@ -486,8 +498,8 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 - FBLazyVector: e5569e42a1c79ca00521846c223173a57aca1fe1 - FBReactNativeSpec: fe08c1cd7e2e205718d77ad14b34957cce949b58 + FBLazyVector: 023a2028f218d648b588348bfa9261b4914b93db + FBReactNativeSpec: 9f4902cc009389d3704ff75de2aa513dee34d5c2 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 5337263514dd6f09803962437687240c5dc39aa4 GoogleAds-IMA-iOS-SDK: c190284044e9a28b3e7422ba9886db015c71a84f @@ -503,38 +515,39 @@ SPEC CHECKSUMS: PlayKitVR: f8e0d16d011b7092838819d4e649d5d77923b62d PlayKitYoubora: fec4686d6edc6a1f858f31ab2584071904d58276 RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 - RCTRequired: 4bf86c70714490bca4bf2696148638284622644b - RCTTypeSafety: c475a7059eb77935fa53d2c17db299893f057d5d - React: f64af14e3f2c50f6f2c91a5fd250e4ff1b3c3459 - React-callinvoker: b74e4ae80287780dcdf0cab262bcb581eeef56e7 - React-Core: 3eb7432bad96ff1d25aebc1defbae013fee2fd0e - React-CoreModules: ad9e1fd5650e16666c57a08328df86fd7e480cb9 - React-cxxreact: 02633ff398cf7e91a2c1e12590d323c4a4b8668a - React-jsi: 805c41a927d6499fb811772acb971467d9204633 - React-jsiexecutor: 94ce921e1d8ce7023366873ec371f3441383b396 - React-jsinspector: d0374f7509d407d2264168b6d0fad0b54e300b85 - React-logger: 933f80c97c633ee8965d609876848148e3fef438 + RCTRequired: e6003505912d056f21f64465063cf4b79418f2b9 + RCTTypeSafety: d7ef4745c8d9c9faa65c26b4b6230fc5cd4c4424 + React: 6692c30fb74ab29078b25c31c9841d863e08cdd9 + React-callinvoker: fe2b234fa518d8bb7600707c536ab0a3e1f5edba + React-Codegen: 9964bb2422c7014894182ac50068caae05f68551 + React-Core: a07bcd2f15ff93cddc9ceb07eddeec3d2ff8d990 + React-CoreModules: 7fb4ee0fc35ad2b7daf775f0ef6309efdd8d3d82 + React-cxxreact: 51a8058a35a2f02ad4175334a7cd24aa5558ced4 + React-jsi: 69b974b418d2658a3f1799903be7cbcb8ac59755 + React-jsiexecutor: 4f35a29798ba9d0d892a84001d11f626688dbb8e + React-jsinspector: 6f75220cd4b6020976d340ab21c63458dd3cad9e + React-logger: 7013d2499df6346e6a72802d4084badaaa82543b react-native-netinfo: 129bd99f607a2dc5bb096168f3e5c150fd1f1c95 - React-perflogger: 93075d8931c32cd1fce8a98c15d2d5ccc4d891bd - React-RCTActionSheet: 7d3041e6761b4f3044a37079ddcb156575fb6d89 - React-RCTAnimation: 743e88b55ac62511ae5c2e22803d4f503f2a3a13 - React-RCTBlob: bee3a2f98fa7fc25c957c8643494244f74bea0a0 - React-RCTImage: 19fc9e29b06cc38611c553494f8d3040bf78c24e - React-RCTLinking: dc799503979c8c711126d66328e7ce8f25c2848f - React-RCTNetwork: 417e4e34cf3c19eaa5fd4e9eb20180d662a799ce - React-RCTSettings: 4df89417265af26501a7e0e9192a34d3d9848dff - React-RCTText: f8a21c3499ab322326290fa9b701ae29aa093aa5 - React-RCTVibration: e3ffca672dd3772536cb844274094b0e2c31b187 - React-runtimeexecutor: dec32ee6f2e2a26e13e58152271535fadff5455a - ReactCommon: 57b69f6383eafcbd7da625bfa6003810332313c4 + React-perflogger: 0b0500685176e53ea582c45179a653aa82e4ae49 + React-RCTActionSheet: 38469be9d20242f9c717e43c2983e8e3e6c640c4 + React-RCTAnimation: 93774f3e8857e7c3c1cbbd277056d02be4496be1 + React-RCTBlob: 6d0567d7a6561b62feb8c3b1cc33b3c591ba85ab + React-RCTImage: 1006a91318a6181a0256b89d2e321b6ea0e2e6e3 + React-RCTLinking: 0b2300493c879c3bcac2d4c6b0178e8d0e5e2202 + React-RCTNetwork: b9a33a95703651abed92490e50396d54b7270a17 + React-RCTSettings: e6464123e5b5062fc23bb5adb51188a6061e9601 + React-RCTText: 188d6f0ae20cd28891f59ecad41028ee2f793757 + React-RCTVibration: a67beb7d2f3c73e9b74c4124ef61b84c601be649 + React-runtimeexecutor: 088723cf020113e64736a709f52719dbb359c73e + ReactCommon: 1a4f19f3b4366feec03a98bdbb200b6085c5000f ReactNativeNavigation: 61f7647c8f1fae7bdc93ad98910c83eb18d24748 - RNKalturaPlayer: ff153253bc77da86a5d14b4693bd59083d22855a + RNKalturaPlayer: b203c6c84fc23bbf134de636d3352a2528d630e7 SwiftyJSON: 36413e04c44ee145039d332b4f4e2d3e8d6c4db7 SwiftyXMLParser: 5ebb8793192f403fa8cc691045143906122a7a75 XCGLogger: 0434f15e3909cdc450bb63faf638b8792ab782ab - Yoga: e7dc4e71caba6472ff48ad7d234389b91dadc280 + Yoga: c926c8eec5c78a788b51e6c8a604825d00d694d7 YouboraLib: fc65b030ac93499f8beb3f5daa10deb3879fb2d2 -PODFILE CHECKSUM: 218811f8ddbb8dbfeebb3a9b7a49d5aed2e2082b +PODFILE CHECKSUM: 2ed87fffeeff1049487a58883027649fa87cba8f COCOAPODS: 1.11.3 diff --git a/example/package.json b/example/package.json index b91425c..b377cd1 100644 --- a/example/package.json +++ b/example/package.json @@ -10,10 +10,12 @@ }, "dependencies": { "@miblanchard/react-native-slider": "^2.1.0", + "@react-native-community/cli-platform-android": "^9.2.1", + "@react-native-community/cli-platform-ios": "^9.2.1", "@react-native-community/netinfo": "^9.0.0", "kaltura-player-rn": "../../kaltura-player-rn", "react": "17.0.2", - "react-native": "^0.66.3", + "react-native": "^0.68.2", "react-native-element-dropdown": "^1.8.10", "react-native-expandable-listview": "^1.3.1", "react-native-navigation": "^7.28.0", @@ -23,6 +25,6 @@ "@babel/core": "^7.12.10", "@babel/runtime": "^7.17.9", "babel-plugin-module-resolver": "^4.0.0", - "metro-react-native-babel-preset": "^0.70.3" + "metro-react-native-babel-preset": "^0.67.0" } } diff --git a/example/yarn.lock b/example/yarn.lock index 2e697df..1fb1add 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -22,7 +22,12 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== -"@babel/core@^7.1.6", "@babel/core@^7.12.10", "@babel/core@^7.14.0": +"@babel/compat-data@^7.20.0": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30" + integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ== + +"@babel/core@^7.12.10", "@babel/core@^7.14.0": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== @@ -43,6 +48,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@^7.13.16": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.6.tgz#7122ae4f5c5a37c0946c066149abd8e75f81540f" + integrity sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.6" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helpers" "^7.19.4" + "@babel/parser" "^7.19.6" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.6" + "@babel/types" "^7.19.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/generator@^7.14.0", "@babel/generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" @@ -52,6 +78,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@^7.19.6", "@babel/generator@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.1.tgz#ef32ecd426222624cbd94871a7024639cf61a9fa" + integrity sha512-u1dMdBUmA7Z0rBB97xh8pIhviK7oItYOkjbsCxTWMknyvbQRBwX7/gn4JXurRdirWMFh+ZtYARqkA6ydogVZpg== + dependencies: + "@babel/types" "^7.20.0" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -77,6 +112,16 @@ browserslist "^4.20.2" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.19.3": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" + integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== + dependencies: + "@babel/compat-data" "^7.20.0" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.18.6": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz#d802ee16a64a9e824fcbf0a2ffc92f19d58550ce" @@ -130,6 +175,14 @@ "@babel/template" "^7.18.6" "@babel/types" "^7.18.9" +"@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" @@ -165,6 +218,20 @@ "@babel/traverse" "^7.18.9" "@babel/types" "^7.18.9" +"@babel/helper-module-transforms@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz#6c52cc3ac63b70952d33ee987cbee1c9368b533f" + integrity sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.19.4" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.6" + "@babel/types" "^7.19.4" + "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" @@ -177,6 +244,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== +"@babel/helper-plugin-utils@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" + integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== + "@babel/helper-remap-async-to-generator@^7.18.6": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" @@ -205,6 +277,13 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-simple-access@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7" + integrity sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg== + dependencies: + "@babel/types" "^7.19.4" + "@babel/helper-skip-transparent-expression-wrappers@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" @@ -219,11 +298,21 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + "@babel/helper-validator-identifier@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== +"@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + "@babel/helper-validator-option@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" @@ -248,6 +337,15 @@ "@babel/traverse" "^7.18.9" "@babel/types" "^7.18.9" +"@babel/helpers@^7.19.4": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.1.tgz#2ab7a0fcb0a03b5bf76629196ed63c2d7311f4c9" + integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg== + dependencies: + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.1" + "@babel/types" "^7.20.0" + "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -257,7 +355,12 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.6", "@babel/parser@^7.14.0", "@babel/parser@^7.18.6", "@babel/parser@^7.18.9": +"@babel/parser@^7.13.16", "@babel/parser@^7.18.10", "@babel/parser@^7.19.6", "@babel/parser@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.1.tgz#3e045a92f7b4623cafc2425eddcb8cf2e54f9cc5" + integrity sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw== + +"@babel/parser@^7.14.0", "@babel/parser@^7.18.6", "@babel/parser@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== @@ -272,7 +375,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.6" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.1.0": +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -288,7 +391,7 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-export-default-from" "^7.18.6" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.1.0": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -315,7 +418,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.1.0": +"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== @@ -505,7 +608,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.1.0": +"@babel/plugin-transform-modules-commonjs@^7.0.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== @@ -515,6 +618,15 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-commonjs@^7.13.8": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" + integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== + dependencies: + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-simple-access" "^7.19.4" + "@babel/plugin-transform-named-capturing-groups-regex@^7.0.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" @@ -650,7 +762,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/preset-flow@^7.0.0": +"@babel/preset-flow@^7.13.13": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.18.6.tgz#83f7602ba566e72a9918beefafef8ef16d2810cb" integrity sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ== @@ -659,7 +771,7 @@ "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-transform-flow-strip-types" "^7.18.6" -"@babel/preset-typescript@^7.1.0": +"@babel/preset-typescript@^7.13.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== @@ -668,7 +780,7 @@ "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-transform-typescript" "^7.18.6" -"@babel/register@^7.0.0": +"@babel/register@^7.13.16": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c" integrity sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw== @@ -679,6 +791,13 @@ pirates "^4.0.5" source-map-support "^0.5.16" +"@babel/runtime@^7.0.0": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9" + integrity sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg== + dependencies: + regenerator-runtime "^0.13.10" + "@babel/runtime@^7.17.9", "@babel/runtime@^7.8.4": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" @@ -695,6 +814,15 @@ "@babel/parser" "^7.18.6" "@babel/types" "^7.18.6" +"@babel/template@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + "@babel/traverse@^7.14.0", "@babel/traverse@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" @@ -711,6 +839,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.19.6", "@babel/traverse@^7.20.1": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8" + integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.1" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.1" + "@babel/types" "^7.20.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" @@ -719,13 +863,14 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== +"@babel/types@^7.18.10", "@babel/types@^7.19.0", "@babel/types@^7.19.4", "@babel/types@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.0.tgz#52c94cf8a7e24e89d2a194c25c35b17a64871479" + integrity sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg== dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" "@hapi/hoek@^9.0.0": version "9.3.0" @@ -746,6 +891,13 @@ dependencies: "@jest/types" "^27.5.1" +"@jest/create-cache-key-function@^29.0.3": + version "29.2.1" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.2.1.tgz#5f168051001ffea318b720cd6062daaf0b074913" + integrity sha512-///wxGQUyP0GCr3L1OcqIzhsKvN2gOyqWsRxs56XGCdD8EEuoKg857G9nC+zcWIpIsG+3J5UnEbhe3LJw8CNmQ== + dependencies: + "@jest/types" "^29.2.1" + "@jest/schemas@^28.1.3": version "28.1.3" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" @@ -753,6 +905,13 @@ dependencies: "@sinclair/typebox" "^0.24.1" +"@jest/schemas@^29.0.0": + version "29.0.0" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" + integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== + dependencies: + "@sinclair/typebox" "^0.24.1" + "@jest/types@^26.6.2": version "26.6.2" resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" @@ -775,6 +934,18 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@jest/types@^29.2.1": + version "29.2.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.2.1.tgz#ec9c683094d4eb754e41e2119d8bdaef01cf6da0" + integrity sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw== + dependencies: + "@jest/schemas" "^29.0.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" @@ -820,14 +991,64 @@ resolved "https://registry.yarnpkg.com/@miblanchard/react-native-slider/-/react-native-slider-2.1.0.tgz#6249463a9d4aa65dede586637ffe6ca167a9ebf3" integrity sha512-5YRWaQjHl90Ue431RisN+5zr+380L//kWuabzYuo7mVI+CxbHaTQXDr7afkpGgNHCxkkzFlT3tWd+3/QbpgBLQ== -"@react-native-community/cli-debugger-ui@^6.0.0-rc.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-6.0.0.tgz#ef9eb1268d85c1bd3caf2c4d36dc350bb080f254" - integrity sha512-onf6vtvqSzOr6bNEWhPzgcJP2UQhA0VY6c8tXwNczIONC/ahnN93LPBB/uXDbn9d/kLMvE7oUJiqRadZWHk6aA== +"@react-native-community/cli-clean@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-9.2.1.tgz#198c5dd39c432efb5374582073065ff75d67d018" + integrity sha512-dyNWFrqRe31UEvNO+OFWmQ4hmqA07bR9Ief/6NnGwx67IO9q83D5PEAf/o96ML6jhSbDwCmpPKhPwwBbsyM3mQ== + dependencies: + "@react-native-community/cli-tools" "^9.2.1" + chalk "^4.1.2" + execa "^1.0.0" + prompts "^2.4.0" + +"@react-native-community/cli-config@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-9.2.1.tgz#54eb026d53621ccf3a9df8b189ac24f6e56b8750" + integrity sha512-gHJlBBXUgDN9vrr3aWkRqnYrPXZLztBDQoY97Mm5Yo6MidsEpYo2JIP6FH4N/N2p1TdjxJL4EFtdd/mBpiR2MQ== + dependencies: + "@react-native-community/cli-tools" "^9.2.1" + cosmiconfig "^5.1.0" + deepmerge "^3.2.0" + glob "^7.1.3" + joi "^17.2.1" + +"@react-native-community/cli-debugger-ui@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-7.0.3.tgz#3eeeacc5a43513cbcae56e5e965d77726361bcb4" + integrity sha512-G4SA6jFI0j22o+j+kYP8/7sxzbCDqSp2QiHA/X5E0lsGEd2o9qN2zbIjiFr8b8k+VVAYSUONhoC0+uKuINvmkA== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-hermes@^6.3.0": +"@react-native-community/cli-debugger-ui@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-9.0.0.tgz#ea5c5dad6008bccd840d858e160d42bb2ced8793" + integrity sha512-7hH05ZwU9Tp0yS6xJW0bqcZPVt0YCK7gwj7gnRu1jDNN2kughf6Lg0Ys29rAvtZ7VO1PK5c1O+zs7yFnylQDUA== + dependencies: + serve-static "^1.13.1" + +"@react-native-community/cli-doctor@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-9.2.1.tgz#04859a93f0ea87d78cc7050362b6ce2b1c54fd36" + integrity sha512-RpUax0pkKumXJ5hcRG0Qd+oYWsA2RFeMWKY+Npg8q05Cwd1rqDQfWGprkHC576vz26+FPuvwEagoAf6fR2bvJA== + dependencies: + "@react-native-community/cli-config" "^9.2.1" + "@react-native-community/cli-platform-ios" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" + chalk "^4.1.2" + command-exists "^1.2.8" + envinfo "^7.7.2" + execa "^1.0.0" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + node-stream-zip "^1.9.1" + ora "^5.4.1" + prompts "^2.4.0" + semver "^6.3.0" + strip-ansi "^5.2.0" + sudo-prompt "^9.0.0" + wcwidth "^1.0.1" + +"@react-native-community/cli-hermes@^6.3.1": version "6.3.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-6.3.1.tgz#a4c3b4b07a1775f7012baf6d5a0b059da2ffac00" integrity sha512-+tMJsEsVX0WyylnoFE7uPoMu1aTAChaA62Y32dwWgAa1Fx6YrpPkC9d6wvYSBe9md/4mTtRher+ooBcuov6JHw== @@ -838,7 +1059,31 @@ hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-platform-android@^6.0.0", "@react-native-community/cli-platform-android@^6.3.1": +"@react-native-community/cli-hermes@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-9.2.1.tgz#c4aeadc4aa2b55cd0dd931a1a1c1909fd426f31a" + integrity sha512-723/NMb7egXzJrbWT1uEkN2hOpw+OOtWTG2zKJ3j7KKgUd8u/pP+/z5jO8xVrq+eYJEMjDK0FBEo1Xj7maR4Sw== + dependencies: + "@react-native-community/cli-platform-android" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" + chalk "^4.1.2" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + +"@react-native-community/cli-platform-android@9.2.1", "@react-native-community/cli-platform-android@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-9.2.1.tgz#cd73cb6bbaeb478cafbed10bd12dfc01b484d488" + integrity sha512-VamCZ8nido3Q3Orhj6pBIx48itORNPLJ7iTfy3nucD1qISEDih3DOzCaQCtmqdEBgUkNkNl0O+cKgq5A3th3Zg== + dependencies: + "@react-native-community/cli-tools" "^9.2.1" + chalk "^4.1.2" + execa "^1.0.0" + fs-extra "^8.1.0" + glob "^7.1.3" + logkitty "^0.7.1" + slash "^3.0.0" + +"@react-native-community/cli-platform-android@^6.3.1": version "6.3.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-6.3.1.tgz#8d35c809ddaf3b6c5d4ef9ff9c814a25a55259aa" integrity sha512-n5A64RI1ty4ScZCel/3JYY9Anl857dPsUZ86Dwc1GxrbflSB5/+hcCMg5DCNcnJRa4Hdv95SAR5pMmtAjOXApA== @@ -854,52 +1099,111 @@ slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^6.0.0": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-6.2.1.tgz#852a7dc520071ac55fead3c78daa6a0060dde72f" - integrity sha512-5vwLRfTbIVUsO86AUPmR5vkp+7t4gTH2+SwRo0DKqBGBQ3hraA3dlWu0nzh99eQKQhCiFLB1WJPAi3zY03lK4w== +"@react-native-community/cli-platform-android@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-7.0.1.tgz#d165897edf401f9bceff1f361ef446528133cb52" + integrity sha512-nOr0aMkxAymCnbtsQwXBlyoRN2Y+IzC7Qz5T+/zyWwEbTY8SKQI8uV+8+qttUvzSvuXa2PeXsTWluuliOS8KCw== dependencies: - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-tools" "^7.0.1" + chalk "^4.1.2" + execa "^1.0.0" + fs-extra "^8.1.0" + glob "^7.1.3" + jetifier "^1.6.2" + lodash "^4.17.15" + logkitty "^0.7.1" + slash "^3.0.0" + xmldoc "^1.1.2" + +"@react-native-community/cli-platform-ios@9.2.1", "@react-native-community/cli-platform-ios@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.2.1.tgz#d90740472216ffae5527dfc5f49063ede18a621f" + integrity sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg== + dependencies: + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" + execa "^1.0.0" + glob "^7.1.3" + ora "^5.4.1" + +"@react-native-community/cli-platform-ios@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-7.0.1.tgz#1c27af85229246b7a528e97f093e38859896cc93" + integrity sha512-PLRIbzrCzSedmpjuFtQqcqUD45G8q7sEciI1lf5zUbVMXqjIBwJWS7iz8235PyWwj8J4MNHohLC+oyRueFtbGg== + dependencies: + "@react-native-community/cli-tools" "^7.0.1" + chalk "^4.1.2" + execa "^1.0.0" glob "^7.1.3" js-yaml "^3.13.1" lodash "^4.17.15" - ora "^3.4.0" + ora "^5.4.1" plist "^3.0.2" - xcode "^2.0.0" + xcode "^3.0.0" -"@react-native-community/cli-plugin-metro@^6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-6.4.0.tgz#70b7908d6b548481f37ed58167f9460d325ae21c" - integrity sha512-lcrNODvHd3ZVhiEshXAjyBoqP44rjhkytkOSUpnZHAcmMLiguxDmvhWeWqbwu3XqSX/f0gVKmfj81t+opI1bSw== +"@react-native-community/cli-plugin-metro@^7.0.4": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-7.0.4.tgz#cd3010f6b9f955df2630ceea9fc8816a12843dde" + integrity sha512-DEV9WwJ6mB8zWFvNe/Z/eGmtmQmsZcu9VIqjxT7e9xZr2csB9ZlOZiweAMFO5cuVWZZgfL+NYIaQiFi0E0DFXw== + dependencies: + "@react-native-community/cli-server-api" "^7.0.4" + "@react-native-community/cli-tools" "^6.2.1" + chalk "^4.1.2" + metro "^0.67.0" + metro-config "^0.67.0" + metro-core "^0.67.0" + metro-react-native-babel-transformer "^0.67.0" + metro-resolver "^0.67.0" + metro-runtime "^0.67.0" + readline "^1.3.0" + +"@react-native-community/cli-plugin-metro@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-9.2.1.tgz#0ec207e78338e0cc0a3cbe1b43059c24afc66158" + integrity sha512-byBGBH6jDfUvcHGFA45W/sDwMlliv7flJ8Ns9foCh3VsIeYYPoDjjK7SawE9cPqRdMAD4SY7EVwqJnOtRbwLiQ== dependencies: - "@react-native-community/cli-server-api" "^6.4.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-server-api" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" - metro "^0.66.1" - metro-config "^0.66.1" - metro-core "^0.66.1" - metro-react-native-babel-transformer "^0.66.1" - metro-resolver "^0.66.1" - metro-runtime "^0.66.1" + metro "0.72.3" + metro-config "0.72.3" + metro-core "0.72.3" + metro-react-native-babel-transformer "0.72.3" + metro-resolver "0.72.3" + metro-runtime "0.72.3" readline "^1.3.0" -"@react-native-community/cli-server-api@^6.4.0": - version "6.4.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-6.4.3.tgz#b52444454f40bfb54a84ab52bf42e9f8002917f5" - integrity sha512-Ywy2x+PhIUZXgE74YiCYXylSVnuEBcq5cNfYLR3AwOvrILjh03smXfCca8s2V2LWUlzmWN6+L85FJGsT92MUJA== +"@react-native-community/cli-server-api@^7.0.4": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-7.0.4.tgz#b71e3413d4188b1bb3110267674ff31ce434b163" + integrity sha512-NzwLKgshx1aFJad5b972rFowEx8ueHRFFXQFnBbvEuE3KsivDOTIwO0zn7cAO1zpxlFRxUFfcI1Pe4Aymi3xZw== dependencies: - "@react-native-community/cli-debugger-ui" "^6.0.0-rc.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-debugger-ui" "^7.0.3" + "@react-native-community/cli-tools" "^6.2.1" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.0" nocache "^2.1.0" pretty-format "^26.6.2" serve-static "^1.13.1" - ws "^1.1.0" + ws "^7.5.1" -"@react-native-community/cli-tools@^6.2.0", "@react-native-community/cli-tools@^6.2.1": +"@react-native-community/cli-server-api@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-9.2.1.tgz#41ac5916b21d324bccef447f75600c03b2f54fbe" + integrity sha512-EI+9MUxEbWBQhWw2PkhejXfkcRqPl+58+whlXJvKHiiUd7oVbewFs0uLW0yZffUutt4FGx6Uh88JWEgwOzAdkw== + dependencies: + "@react-native-community/cli-debugger-ui" "^9.0.0" + "@react-native-community/cli-tools" "^9.2.1" + compression "^1.7.1" + connect "^3.6.5" + errorhandler "^1.5.0" + nocache "^3.0.1" + pretty-format "^26.6.2" + serve-static "^1.13.1" + ws "^7.5.1" + +"@react-native-community/cli-tools@^6.2.1": version "6.2.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-6.2.1.tgz#6f7ada6559846b49fb9fcfed522399b232976ada" integrity sha512-7RbOkZLT/3YG8CAYYM70ajRKIOgVxK/b4t9KNsPq+2uen99MGezfeglC8s1cs3vBNVVxCo0a2JbXg18bUd8eqA== @@ -913,6 +1217,36 @@ semver "^6.3.0" shell-quote "^1.7.3" +"@react-native-community/cli-tools@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-7.0.1.tgz#73790d6ca2825e42a70a770c1b403a6777e690d6" + integrity sha512-0xra4hKNA5PR2zYVXsDMNiXMGaDNoNRYMY6eTP2aVIxQbqIcVMDWSyCA8wMWX5iOpMWg0cZGaQ6a77f3Rlb34g== + dependencies: + appdirsjs "^1.2.4" + chalk "^4.1.2" + lodash "^4.17.15" + mime "^2.4.1" + node-fetch "^2.6.0" + open "^6.2.0" + ora "^5.4.1" + semver "^6.3.0" + shell-quote "^1.7.3" + +"@react-native-community/cli-tools@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-9.2.1.tgz#c332324b1ea99f9efdc3643649bce968aa98191c" + integrity sha512-bHmL/wrKmBphz25eMtoJQgwwmeCylbPxqFJnFSbkqJPXQz3ManQ6q/gVVMqFyz7D3v+riaus/VXz3sEDa97uiQ== + dependencies: + appdirsjs "^1.2.4" + chalk "^4.1.2" + find-up "^5.0.0" + mime "^2.4.1" + node-fetch "^2.6.0" + open "^6.2.0" + ora "^5.4.1" + semver "^6.3.0" + shell-quote "^1.7.3" + "@react-native-community/cli-types@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-6.0.0.tgz#90269fbdc7229d5e3b8f2f3e029a94083551040d" @@ -920,16 +1254,46 @@ dependencies: ora "^3.4.0" -"@react-native-community/cli@^6.0.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-6.4.0.tgz#0b61a4b5f11293b0b79a0e78f80777387a9529a9" - integrity sha512-UNvYnWaALa4mJEaWdLY3fVK+csZzx/Ja/FGvXISPJ9W9lrKvGtyXkidViUCPbPtMsJUi7teA4uIShHn0mbGmnQ== - dependencies: - "@react-native-community/cli-debugger-ui" "^6.0.0-rc.0" - "@react-native-community/cli-hermes" "^6.3.0" - "@react-native-community/cli-plugin-metro" "^6.4.0" - "@react-native-community/cli-server-api" "^6.4.0" - "@react-native-community/cli-tools" "^6.2.0" +"@react-native-community/cli-types@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-9.1.0.tgz#dcd6a0022f62790fe1f67417f4690db938746aab" + integrity sha512-KDybF9XHvafLEILsbiKwz5Iobd+gxRaPyn4zSaAerBxedug4er5VUWa8Szy+2GeYKZzMh/gsb1o9lCToUwdT/g== + dependencies: + joi "^17.2.1" + +"@react-native-community/cli@9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-9.2.1.tgz#15cc32531fc323d4232d57b1f2d7c571816305ac" + integrity sha512-feMYS5WXXKF4TSWnCXozHxtWq36smyhGaENXlkiRESfYZ1mnCUlPfOanNCAvNvBqdyh9d4o0HxhYKX1g9l6DCQ== + dependencies: + "@react-native-community/cli-clean" "^9.2.1" + "@react-native-community/cli-config" "^9.2.1" + "@react-native-community/cli-debugger-ui" "^9.0.0" + "@react-native-community/cli-doctor" "^9.2.1" + "@react-native-community/cli-hermes" "^9.2.1" + "@react-native-community/cli-plugin-metro" "^9.2.1" + "@react-native-community/cli-server-api" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" + "@react-native-community/cli-types" "^9.1.0" + chalk "^4.1.2" + commander "^9.4.0" + execa "^1.0.0" + find-up "^4.1.0" + fs-extra "^8.1.0" + graceful-fs "^4.1.3" + prompts "^2.4.0" + semver "^6.3.0" + +"@react-native-community/cli@^7.0.3": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-7.0.4.tgz#cb4898bf9e3340ea812fa2bf194abd2429832752" + integrity sha512-W9nACtHWaLJZIP48cQmhQOnl5/7maoWE1Aji67MrLeIoB+ScNTJxaHfV4fMcklD6B6XEhaKokPACRZWm36zAog== + dependencies: + "@react-native-community/cli-debugger-ui" "^7.0.3" + "@react-native-community/cli-hermes" "^6.3.1" + "@react-native-community/cli-plugin-metro" "^7.0.4" + "@react-native-community/cli-server-api" "^7.0.4" + "@react-native-community/cli-tools" "^6.2.1" "@react-native-community/cli-types" "^6.0.0" appdirsjs "^1.2.4" chalk "^4.1.2" @@ -967,16 +1331,11 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/normalize-color@*": +"@react-native/normalize-color@*", "@react-native/normalize-color@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567" integrity sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw== -"@react-native/normalize-color@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-1.0.0.tgz#c52a99d4fe01049102d47dc45d40cbde4f720ab6" - integrity sha512-xUNRvNmCl3UGCPbbHvfyFMnpvLPoOjDCcp5bT9m2k+TF/ZBklEQwhPZlkrxRx2NhgFh1X3a5uL7mJ7ZR+8G7Qg== - "@react-native/polyfills@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-2.0.0.tgz#4c40b74655c83982c8cf47530ee7dc13d957b6aa" @@ -1095,6 +1454,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yargs@^17.0.8": + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" + integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== + dependencies: + "@types/yargs-parser" "*" + abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -1163,14 +1529,6 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - anymatch@^3.0.3: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" @@ -1245,6 +1603,11 @@ async@^2.4.0: dependencies: lodash "^4.17.14" +async@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -1340,7 +1703,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.1.2, base64-js@^1.5.1: +base64-js@^1.1.2, base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -1363,6 +1726,15 @@ big-integer@1.6.x: resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -1423,6 +1795,16 @@ browserslist@^4.20.2, browserslist@^4.21.2: node-releases "^2.0.6" update-browserslist-db "^1.0.5" +browserslist@^4.21.3: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -1435,6 +1817,14 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -1497,12 +1887,10 @@ caniuse-lite@^1.0.30001370: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz#2dc3bc3bfcb5d5a929bec11300883040d7b4b4be" integrity sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ== -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" +caniuse-lite@^1.0.30001400: + version "1.0.30001429" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz#70cdae959096756a85713b36dd9cb82e62325639" + integrity sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg== chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: version "2.4.2" @@ -1513,7 +1901,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -1526,6 +1914,11 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^3.2.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.5.0.tgz#bfac2a29263de4c829d806b1ab478e35091e171f" + integrity sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw== + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -1543,7 +1936,14 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" -cli-spinners@^2.0.0: +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.0.0, cli-spinners@^2.5.0: version "2.7.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== @@ -1608,11 +2008,6 @@ colorette@^1.0.7: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colors@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - command-exists@^1.2.8: version "1.2.9" resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" @@ -1623,6 +2018,11 @@ commander@^2.19.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^9.4.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" + integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== + commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -1888,6 +2288,11 @@ electron-to-chromium@^1.4.202: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.204.tgz#aae069adea642c066ea95faf5121262b0842e262" integrity sha512-5Ojjtw9/c9HCXtMVE6SXVSHSNjmbFOXpKprl6mY/5moLSxLeWatuYA7KTD+RzJMxLRH6yNNQrqGz9p6IoNBMgw== +electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -1967,11 +2372,6 @@ event-target-shim@^5.0.0, event-target-shim@^5.0.1: resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -2096,6 +2496,14 @@ find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + flow-parser@0.*: version "0.183.0" resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.183.0.tgz#69bcd35608ef179c619df0036c2b61d0f84665ae" @@ -2146,7 +2554,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.1.2: +fsevents@^2.1.2, fsevents@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -2204,7 +2612,7 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -2269,15 +2677,34 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hermes-engine@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.9.0.tgz#84d9cfe84e8f6b1b2020d6e71b350cec84ed982f" - integrity sha512-r7U+Y4P2Qg/igFVZN+DpT7JFfXUn1MM4dFne8aW+cCrF6RRymof+VqrUHs1kl07j8h8V2CNesU19RKgWbr3qPw== +hermes-engine@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.11.0.tgz#bb224730d230a02a5af02c4e090d1f52d57dd3db" + integrity sha512-7aMUlZja2IyLYAcZ69NBnwJAR5ZOYlSllj0oMpx08a8HzxHOys0eKCzfphrf6D0vX1JGO1QQvVsQKe6TkYherw== + +hermes-estree@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.5.0.tgz#36432a2b12f01b217244da098924efdfdfc12327" + integrity sha512-1h8rvG23HhIR5K6Kt0e5C7BC72J1Ath/8MmSta49vxXp/j6wl7IMHvIRFYBQr35tWnQY97dSGR2uoAJ5pHUQkg== + +hermes-estree@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.8.0.tgz#530be27243ca49f008381c1f3e8b18fb26bf9ec0" + integrity sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q== + +hermes-parser@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.5.0.tgz#8b678dd8b29a08b57cbaf60adba4896494c59a53" + integrity sha512-ARnJBScKAkkq8j3BHrNGBUv/4cSpZNbKDsVizEtzmsFeqC67Dopa5s4XRe+e3wN52Dh5Mj2kDB5wJvhcxwDkPg== + dependencies: + hermes-estree "0.5.0" -hermes-parser@0.4.7: - version "0.4.7" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.4.7.tgz#410f5129d57183784d205a0538e6fbdcf614c9ea" - integrity sha512-jc+zCtXbtwTiXoMAoXOHepxAaGVFIp89wwE9qcdwnMd/uGVEtPoY8FaFSsx0ThPvyKirdR2EsIIDVrpbSXz1Ag== +hermes-parser@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.8.0.tgz#116dceaba32e45b16d6aefb5c4c830eaeba2d257" + integrity sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA== + dependencies: + hermes-estree "0.8.0" hermes-profile-transformer@^0.0.6: version "0.0.6" @@ -2304,6 +2731,11 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + image-size@^0.6.0: version "0.6.3" resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.6.3.tgz#e7e5c65bb534bd7cdcedd6cb5166272a85f75fb2" @@ -2330,7 +2762,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -2371,13 +2803,6 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - is-core-module@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" @@ -2444,6 +2869,11 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -2468,6 +2898,11 @@ is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -2520,26 +2955,25 @@ jest-get-type@^28.0.2: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== -jest-haste-map@^26.5.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== +jest-haste-map@^27.3.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.5.1" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" walker "^1.0.7" optionalDependencies: - fsevents "^2.1.2" + fsevents "^2.3.2" jest-matcher-utils@^28.0.0: version "28.1.3" @@ -2551,30 +2985,30 @@ jest-matcher-utils@^28.0.0: jest-get-type "^28.0.2" pretty-format "^28.1.3" -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== +jest-regex-util@^27.0.6, jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== +jest-serializer@^27.0.6, jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== dependencies: "@types/node" "*" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== +jest-util@^27.2.0, jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.5.1" "@types/node" "*" chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" jest-validate@^26.5.2: version "26.6.2" @@ -2588,7 +3022,7 @@ jest-validate@^26.5.2: leven "^3.1.0" pretty-format "^26.6.2" -jest-worker@^26.0.0, jest-worker@^26.6.2: +jest-worker@^26.0.0: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -2597,6 +3031,15 @@ jest-worker@^26.0.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.2.0, jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jetifier@^1.6.2: version "1.6.8" resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-1.6.8.tgz#e88068697875cbda98c32472902c4d3756247798" @@ -2631,29 +3074,29 @@ jsc-android@^250230.2.1: resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250230.2.1.tgz#3790313a970586a03ab0ad47defbc84df54f1b83" integrity sha512-KmxeBlRjwoqCnBBKGsihFtvsBHyUFlBxJPK4FzeYcIuBfdjv6jFys44JITAgSTbQD+vIdwMEfyZklsuQX0yI1Q== -jscodeshift@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.11.0.tgz#4f95039408f3f06b0e39bb4d53bc3139f5330e2f" - integrity sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g== - dependencies: - "@babel/core" "^7.1.6" - "@babel/parser" "^7.1.6" - "@babel/plugin-proposal-class-properties" "^7.1.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.1.0" - "@babel/plugin-proposal-optional-chaining" "^7.1.0" - "@babel/plugin-transform-modules-commonjs" "^7.1.0" - "@babel/preset-flow" "^7.0.0" - "@babel/preset-typescript" "^7.1.0" - "@babel/register" "^7.0.0" +jscodeshift@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef" + integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ== + dependencies: + "@babel/core" "^7.13.16" + "@babel/parser" "^7.13.16" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/preset-flow" "^7.13.13" + "@babel/preset-typescript" "^7.13.0" + "@babel/register" "^7.13.16" babel-core "^7.0.0-bridge.0" - colors "^1.1.2" + chalk "^4.1.2" flow-parser "0.*" graceful-fs "^4.2.4" micromatch "^3.1.10" neo-async "^2.5.0" node-dir "^0.1.17" - recast "^0.20.3" - temp "^0.8.1" + recast "^0.20.4" + temp "^0.8.4" write-file-atomic "^2.3.0" jsesc@^2.5.1: @@ -2695,12 +3138,12 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -"kaltura-player-rn@file:..": - version "0.1.0" +kaltura-player-rn@../../kaltura-player-rn: + version "0.4.0" dependencies: prop-types "^15.8.1" react "17.0.2" - react-native "^0.66.3" + react-native ">=0.66.3" kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" @@ -2758,6 +3201,13 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -2780,6 +3230,14 @@ log-symbols@^2.2.0: dependencies: chalk "^2.0.1" +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + logkitty@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7" @@ -2828,96 +3286,172 @@ mdn-data@2.0.14: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== +memoize-one@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -metro-babel-register@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.66.2.tgz#c6bbe36c7a77590687ccd74b425dc020d17d05af" - integrity sha512-3F+vsVubUPJYKfVMeol8/7pd8CC287Rw92QYzJD8LEmI980xcgwMUEVBZ0UIAUwlLgiJG/f4Mwhuji2EeBXrPg== +metro-babel-transformer@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.67.0.tgz#42fe82af9953e5c62d9a8d7d544eb7be9020dd18" + integrity sha512-SBqc4nq/dgsPNFm+mpWcQQzJaXnh0nrfz2pSnZC4i6zMtIakrTWb8SQ78jOU1FZVEZ3nu9xCYVHS9Tbr/LoEuw== dependencies: "@babel/core" "^7.14.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-proposal-optional-chaining" "^7.0.0" - "@babel/plugin-syntax-class-properties" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/register" "^7.0.0" - escape-string-regexp "^1.0.5" + hermes-parser "0.5.0" + metro-source-map "0.67.0" + nullthrows "^1.1.1" -metro-babel-transformer@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.66.2.tgz#fce0a3e314d28a5e7141c135665e1cc9b8e7ce86" - integrity sha512-aJ/7fc/Xkofw8Fqa51OTDhBzBz26mmpIWrXAZcPdQ8MSTt883EWncxeCEjasc79NJ89BRi7sOkkaWZo2sXlKvw== +metro-babel-transformer@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.72.3.tgz#2c60493a4eb7a8d20cc059f05e0e505dc1684d01" + integrity sha512-PTOR2zww0vJbWeeM3qN90WKENxCLzv9xrwWaNtwVlhcV8/diNdNe82sE1xIxLFI6OQuAVwNMv1Y7VsO2I7Ejrw== dependencies: "@babel/core" "^7.14.0" - hermes-parser "0.4.7" - metro-source-map "0.66.2" + hermes-parser "0.8.0" + metro-source-map "0.72.3" nullthrows "^1.1.1" -metro-cache-key@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.66.2.tgz#d6463d2a53e887a38419d523962cc24ea0e780b4" - integrity sha512-WtkNmRt41qOpHh1MkNA4nLiQ/m7iGL90ysSKD+fcLqlUnOBKJptPQm0ZUv8Kfqk18ddWX2KmsSbq+Sf3I6XohQ== +metro-cache-key@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.67.0.tgz#4df6a73cced199e1bddd0f3454bb931a27141eeb" + integrity sha512-FNJe5Rcb2uzY6G6tsqCf0RV4t2rCeX6vSHBxmP7k+4aI4NqX4evtPI0K82r221nBzm5DqNWCURZ0RYUT6jZMGA== + +metro-cache-key@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.72.3.tgz#dcc3055b6cb7e35b84b4fe736a148affb4ecc718" + integrity sha512-kQzmF5s3qMlzqkQcDwDxrOaVxJ2Bh6WRXWdzPnnhsq9LcD3B3cYqQbRBS+3tSuXmathb4gsOdhWslOuIsYS8Rg== -metro-cache@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.66.2.tgz#e0af4e0a319898f7d42a980f7ee5da153fcfd019" - integrity sha512-5QCYJtJOHoBSbL3H4/Fpl36oA697C3oYHqsce+Hk/dh2qtODUGpS3gOBhvP1B8iB+H8jJMyR75lZq129LJEsIQ== +metro-cache@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.67.0.tgz#928db5742542719677468c4d22ea29b71c7ec8fc" + integrity sha512-IY5dXiR76L75b2ue/mv+9vW8g5hdQJU6YEe81lj6gTSoUrhcONT0rzY+Gh5QOS2Kk6z9utZQMvd9PRKL9/635A== dependencies: - metro-core "0.66.2" + metro-core "0.67.0" mkdirp "^0.5.1" rimraf "^2.5.4" -metro-config@0.66.2, metro-config@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.66.2.tgz#e365acdb66ad0cda0182b9c9910760a97ee4293b" - integrity sha512-0C+PrKKIBNNzLZUKN/8ZDJS2U5FLMOTXDWbvBHIdqb6YXz8WplXR2+xlSlaSCCi5b+GR7cWFWUNeKA4GQS1/AQ== +metro-cache@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.72.3.tgz#fd079f90b12a81dd5f1567c607c13b14ae282690" + integrity sha512-++eyZzwkXvijWRV3CkDbueaXXGlVzH9GA52QWqTgAOgSHYp5jWaDwLQ8qpsMkQzpwSyIF4LLK9aI3eA7Xa132A== + dependencies: + metro-core "0.72.3" + rimraf "^2.5.4" + +metro-config@0.67.0, metro-config@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.67.0.tgz#5507d3b295bd10c87bd13dbe5a3033a357418786" + integrity sha512-ThAwUmzZwTbKyyrIn2bKIcJDPDBS0LKAbqJZQioflvBGfcgA21h3fdL3IxRmvCEl6OnkEWI0Tn1Z9w2GLAjf2g== dependencies: cosmiconfig "^5.0.5" jest-validate "^26.5.2" - metro "0.66.2" - metro-cache "0.66.2" - metro-core "0.66.2" - metro-runtime "0.66.2" + metro "0.67.0" + metro-cache "0.67.0" + metro-core "0.67.0" + metro-runtime "0.67.0" -metro-core@0.66.2, metro-core@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.66.2.tgz#ead776a17b3e5a307e6dc22259db30bf5c7e8490" - integrity sha512-JieLZkef/516yxXYvQxWnf3OWw5rcgWRy76K8JV/wr/i8LGVGulPAXlIi445/QZzXVydzRVASKAEVqyxM5F4mA== +metro-config@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.72.3.tgz#c2f1a89537c79cec516b1229aa0550dfa769e2ee" + integrity sha512-VEsAIVDkrIhgCByq8HKTWMBjJG6RlYwWSu1Gnv3PpHa0IyTjKJtB7wC02rbTjSaemcr82scldf2R+h6ygMEvsw== dependencies: - jest-haste-map "^26.5.2" + cosmiconfig "^5.0.5" + jest-validate "^26.5.2" + metro "0.72.3" + metro-cache "0.72.3" + metro-core "0.72.3" + metro-runtime "0.72.3" + +metro-core@0.67.0, metro-core@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.67.0.tgz#75066e11b4df220992abf9cd6200279dd87876c8" + integrity sha512-TOa/ShE1bUq83fGNfV6rFwyfZ288M8ydmWN3g9C2OW8emOHLhJslYD/SIU4DhDkP/99yaJluIALdZ2g0+pCrvQ== + dependencies: + jest-haste-map "^27.3.1" lodash.throttle "^4.1.1" - metro-resolver "0.66.2" + metro-resolver "0.67.0" -metro-hermes-compiler@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.66.2.tgz#30290748f83805faa601aa487632444915795823" - integrity sha512-nCVL1g9uR6vrw5+X1wjwZruRyMkndnzGRMqjqoljf+nGEqBTD607CR7elXw4fMWn/EM+1y0Vdq5altUu9LdgCA== +metro-core@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.72.3.tgz#e3a276d54ecc8fe667127347a1bfd3f8c0009ccb" + integrity sha512-KuYWBMmLB4+LxSMcZ1dmWabVExNCjZe3KysgoECAIV+wyIc2r4xANq15GhS94xYvX1+RqZrxU1pa0jQ5OK+/6A== + dependencies: + lodash.throttle "^4.1.1" + metro-resolver "0.72.3" -metro-inspector-proxy@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.66.2.tgz#a83c76bd2f2fd7b9240be92acf9a8b1d1404547a" - integrity sha512-gnLc9121eznwP0iiA9tCBW8qZjwIsCgwHWMF1g1Qaki9le9tzeJv3dK4/lFNGxyfSaLO7vahQEhsEYsiRnTROg== +metro-file-map@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.72.3.tgz#94f6d4969480aa7f47cfe2c5f365ad4e85051f12" + integrity sha512-LhuRnuZ2i2uxkpFsz1XCDIQSixxBkBG7oICAFyLyEMDGbcfeY6/NexphfLdJLTghkaoJR5ARFMiIxUg9fIY/pA== + dependencies: + abort-controller "^3.0.0" + anymatch "^3.0.3" + debug "^2.2.0" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + invariant "^2.2.4" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.2.0" + jest-worker "^27.2.0" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +metro-hermes-compiler@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.67.0.tgz#9c1340f1882fbf535145868d0d28211ca15b0477" + integrity sha512-X5Pr1jC8/kO6d1EBDJ6yhtuc5euHX89UDNv8qdPJHAET03xfFnlojRPwOw6il2udAH20WLBv+F5M9VY+58zspQ== + +metro-hermes-compiler@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.72.3.tgz#e9ab4d25419eedcc72c73842c8da681a4a7e691e" + integrity sha512-QWDQASMiXNW3j8uIQbzIzCdGYv5PpAX/ZiF4/lTWqKRWuhlkP4auhVY4eqdAKj5syPx45ggpjkVE0p8hAPDZYg== + +metro-inspector-proxy@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.67.0.tgz#22b360a837b07e9e2bc87a71af6154dd8fcc02a5" + integrity sha512-5Ubjk94qpNaU3OT2IZa4/dec09bauic1hzWms4czorBzDenkp4kYXG9/aWTmgQLtCk92H3Q8jKl1PQRxUSkrOQ== + dependencies: + connect "^3.6.5" + debug "^2.2.0" + ws "^7.5.1" + yargs "^15.3.1" + +metro-inspector-proxy@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.72.3.tgz#8d7ff4240fc414af5b72d86dac2485647fc3cf09" + integrity sha512-UPFkaq2k93RaOi+eqqt7UUmqy2ywCkuxJLasQ55+xavTUS+TQSyeTnTczaYn+YKw+izLTLllGcvqnQcZiWYhGw== dependencies: connect "^3.6.5" debug "^2.2.0" - ws "^1.1.5" + ws "^7.5.1" yargs "^15.3.1" -metro-minify-uglify@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.66.2.tgz#6061dbee4f61e6d5bb3c100e4379ff6f2e16e42b" - integrity sha512-7TUK+L5CmB5x1PVnFbgmjzHW4CUadq9H5jgp0HfFoWT1skXAyEsx0DHkKDXwnot0khnNhBOEfl62ctQOnE110Q== +metro-minify-uglify@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.67.0.tgz#28a77dbd78d9e558dba8c2f31c2b9c6f939df966" + integrity sha512-4CmM5b3MTAmQ/yFEfsHOhD2SuBObB2YF6PKzXZc4agUsQVVtkrrNElaiWa8w26vrTzA9emwcyurxMf4Nl3lYPQ== dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.66.2.tgz#fddebcf413ad4ea617d4f47f7c1da401052de734" - integrity sha512-H/nLBAz0MgfDloSe1FjyH4EnbokHFdncyERvLPXDACY3ROVRCeUyFNo70ywRGXW2NMbrV4H7KUyU4zkfWhC2HQ== +metro-minify-uglify@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.72.3.tgz#a9d4cd27933b29cfe95d8406b40d185567a93d39" + integrity sha512-dPXqtMI8TQcj0g7ZrdhC8X3mx3m3rtjtMuHKGIiEXH9CMBvrET8IwrgujQw2rkPcXiSiX8vFDbGMIlfxefDsKA== + dependencies: + uglify-es "^3.1.9" + +metro-react-native-babel-preset@0.67.0, metro-react-native-babel-preset@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.67.0.tgz#53aec093f53a09b56236a9bb534d76658efcbec7" + integrity sha512-tgTG4j0SKwLHbLRELMmgkgkjV1biYkWlGGKOmM484/fJC6bpDikdaFhfjsyE+W+qt7I5szbCPCickMTNQ+zwig== dependencies: "@babel/core" "^7.14.0" "@babel/plugin-proposal-class-properties" "^7.0.0" @@ -2960,10 +3494,10 @@ metro-react-native-babel-preset@0.66.2: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-preset@^0.70.3: - version "0.70.3" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.70.3.tgz#1c77ec4544ecd5fb6c803e70b21284d7483e4842" - integrity sha512-4Nxc1zEiHEu+GTdEMEsHnRgfaBkg8f/Td3+FcQ8NTSvs+xL3LBrQy6N07idWSQZHIdGFf+tTHvRfSIWLD8u8Tg== +metro-react-native-babel-preset@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.72.3.tgz#e549199fa310fef34364fdf19bd210afd0c89432" + integrity sha512-uJx9y/1NIqoYTp6ZW1osJ7U5ZrXGAJbOQ/Qzl05BdGYvN1S7Qmbzid6xOirgK0EIT0pJKEEh1s8qbassYZe4cw== dependencies: "@babel/core" "^7.14.0" "@babel/plugin-proposal-async-generator-functions" "^7.0.0" @@ -3005,61 +3539,115 @@ metro-react-native-babel-preset@^0.70.3: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.66.2, metro-react-native-babel-transformer@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.66.2.tgz#768f341e7c3d3d1c38189799c9884b90d1c32eb7" - integrity sha512-z1ab7ihIT0pJrwgi9q2IH+LcW/xUWMQ0hH+Mrk7wbKQB0RnJdXFoxphrfoVHBHMUu+TBPetUcEkKawkK1e7Cng== +metro-react-native-babel-transformer@0.67.0, metro-react-native-babel-transformer@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.67.0.tgz#756d32eb3c05cab3d72fcb1700f8fd09322bb07f" + integrity sha512-P0JT09n7T01epUtgL9mH6BPat3xn4JjBakl4lWHdL61cvEGcrxuIom1eoFFKkgU/K5AVLU4aCAttHS7nSFCcEQ== + dependencies: + "@babel/core" "^7.14.0" + babel-preset-fbjs "^3.4.0" + hermes-parser "0.5.0" + metro-babel-transformer "0.67.0" + metro-react-native-babel-preset "0.67.0" + metro-source-map "0.67.0" + nullthrows "^1.1.1" + +metro-react-native-babel-transformer@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.72.3.tgz#f8eda8c07c0082cbdbef47a3293edc41587c6b5a" + integrity sha512-Ogst/M6ujYrl/+9mpEWqE3zF7l2mTuftDTy3L8wZYwX1pWUQWQpfU1aJBeWiLxt1XlIq+uriRjKzKoRoIK57EA== dependencies: "@babel/core" "^7.14.0" babel-preset-fbjs "^3.4.0" - hermes-parser "0.4.7" - metro-babel-transformer "0.66.2" - metro-react-native-babel-preset "0.66.2" - metro-source-map "0.66.2" + hermes-parser "0.8.0" + metro-babel-transformer "0.72.3" + metro-react-native-babel-preset "0.72.3" + metro-source-map "0.72.3" nullthrows "^1.1.1" -metro-resolver@0.66.2, metro-resolver@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.66.2.tgz#f743ddbe7a12dd137d1f7a555732cafcaea421f8" - integrity sha512-pXQAJR/xauRf4kWFj2/hN5a77B4jLl0Fom5I3PHp6Arw/KxSBp0cnguXpGLwNQ6zQC0nxKCoYGL9gQpzMnN7Hw== +metro-resolver@0.67.0, metro-resolver@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.67.0.tgz#8143c716f77e468d1d42eca805243706eb349959" + integrity sha512-d2KS/zAyOA/z/q4/ff41rAp+1txF4H6qItwpsls/RHStV2j6PqgRHUzq/3ga+VIeoUJntYJ8nGW3+3qSrhFlig== + dependencies: + absolute-path "^0.0.0" + +metro-resolver@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.72.3.tgz#c64ce160454ac850a15431509f54a587cb006540" + integrity sha512-wu9zSMGdxpKmfECE7FtCdpfC+vrWGTdVr57lDA0piKhZV6VN6acZIvqQ1yZKtS2WfKsngncv5VbB8Y5eHRQP3w== dependencies: absolute-path "^0.0.0" -metro-runtime@0.66.2, metro-runtime@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.66.2.tgz#3409ee957b949b6c7b72ef6ed2b9af9a4f4a910e" - integrity sha512-vFhKBk2ot9FS4b+2v0OTa/guCF/QDAOJubY0CNg7PzCS5+w4y3IvZIcPX4SSS1t8pYEZBLvtdtTDarlDl81xmg== +metro-runtime@0.67.0, metro-runtime@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.67.0.tgz#a8888dfd06bcebbac3c99dcac7cd622510dd8ee0" + integrity sha512-IFtSL0JUt1xK3t9IoLflTDft82bjieSzdIJWLzrRzBMlesz8ox5bVmnpQbVQEwfYUpEOxbM3VOZauVbdCmXA7g== + +metro-runtime@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.72.3.tgz#1485ed7b5f06d09ebb40c83efcf8accc8d30b8b9" + integrity sha512-3MhvDKfxMg2u7dmTdpFOfdR71NgNNo4tzAyJumDVQKwnHYHN44f2QFZQqpPBEmqhWlojNeOxsqFsjYgeyMx6VA== + dependencies: + "@babel/runtime" "^7.0.0" + react-refresh "^0.4.0" + +metro-source-map@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.67.0.tgz#e28db7253b9ca688e60d5710ebdccba60b45b2df" + integrity sha512-yxypInsRo3SfS00IgTuL6a2W2tfwLY//vA2E+GeqGBF5zTbJZAhwNGIEl8S87XXZhwzJcxf5/8LjJC1YDzabww== + dependencies: + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.0.0" + invariant "^2.2.4" + metro-symbolicate "0.67.0" + nullthrows "^1.1.1" + ob1 "0.67.0" + source-map "^0.5.6" + vlq "^1.0.0" -metro-source-map@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.66.2.tgz#b5304a282a5d55fa67b599265e9cf3217175cdd7" - integrity sha512-038tFmB7vSh73VQcDWIbr5O1m+WXWyYafDaOy+1A/2K308YP0oj33gbEgDnZsLZDwcJ+xt1x6KUEBIzlX4YGeQ== +metro-source-map@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.72.3.tgz#5efcf354413804a62ff97864e797f60ef3cc689e" + integrity sha512-eNtpjbjxSheXu/jYCIDrbNEKzMGOvYW6/ePYpRM7gDdEagUOqKOCsi3St8NJIQJzZCsxD2JZ2pYOiomUSkT1yQ== dependencies: "@babel/traverse" "^7.14.0" "@babel/types" "^7.0.0" invariant "^2.2.4" - metro-symbolicate "0.66.2" + metro-symbolicate "0.72.3" nullthrows "^1.1.1" - ob1 "0.66.2" + ob1 "0.72.3" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.66.2.tgz#addd095ce5f77e73ca21ddb5dfb396ff5d4fa041" - integrity sha512-u+DeQHyAFXVD7mVP+GST/894WHJ3i/U8oEJFnT7U3P52ZuLgX8n4tMNxhqZU12RcLR6etF8143aP0Ktx1gFLEQ== +metro-symbolicate@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.67.0.tgz#16729d05663d28176895244b3d932a898fca2b45" + integrity sha512-ZqVVcfa0xSz40eFzA5P8pCF3V6Tna9RU1prFzAJTa3j9dCGqwh0HTXC8AIkMtgX7hNdZrCJI1YipzUBlwkT0/A== dependencies: invariant "^2.2.4" - metro-source-map "0.66.2" + metro-source-map "0.67.0" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro-transform-plugins@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.66.2.tgz#39dd044a23b1343e4f2d2ec34d08128cdf255ed4" - integrity sha512-KTvqplh0ut7oDKovvDG6yzXM02R6X+9b2oVG+qYq8Zd3aCGTi51ASx4ThCNkAHyEvCuJdYg9fxXTL+j+wvhB5w== +metro-symbolicate@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.72.3.tgz#093d4f8c7957bcad9ca2ab2047caa90b1ee1b0c1" + integrity sha512-eXG0NX2PJzJ/jTG4q5yyYeN2dr1cUqUaY7worBB0SP5bRWRc3besfb+rXwfh49wTFiL5qR0oOawkU4ZiD4eHXw== + dependencies: + invariant "^2.2.4" + metro-source-map "0.72.3" + nullthrows "^1.1.1" + source-map "^0.5.6" + through2 "^2.0.1" + vlq "^1.0.0" + +metro-transform-plugins@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.67.0.tgz#6122aa4e5e5f9a767cebcc5af6fd1695666683ce" + integrity sha512-DQFoSDIJdTMPDTUlKaCNJjEXiHGwFNneAF9wDSJ3luO5gigM7t7MuSaPzF4hpjmfmcfPnRhP6AEn9jcza2Sh8Q== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" @@ -3067,29 +3655,59 @@ metro-transform-plugins@0.66.2: "@babel/traverse" "^7.14.0" nullthrows "^1.1.1" -metro-transform-worker@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.66.2.tgz#0a8455992132c479721accd52c9bd47deb77769e" - integrity sha512-dO4PtYOMGB7Vzte8aIzX39xytODhmbJrBYPu+zYzlDjyefJZT7BkZ0LkPIThtyJi96xWcGqi9JBSo0CeRupAHw== +metro-transform-plugins@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.72.3.tgz#b00e5a9f24bff7434ea7a8e9108eebc8386b9ee4" + integrity sha512-D+TcUvCKZbRua1+qujE0wV1onZvslW6cVTs7dLCyC2pv20lNHjFr1GtW01jN2fyKR2PcRyMjDCppFd9VwDKnSg== + dependencies: + "@babel/core" "^7.14.0" + "@babel/generator" "^7.14.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.14.0" + nullthrows "^1.1.1" + +metro-transform-worker@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.67.0.tgz#5689553c25b0657aadefdf4ea2cd8dd06e18882a" + integrity sha512-29n+JdTb80ROiv/wDiBVlY/xRAF/nrjhp/Udv/XJl1DZb+x7JEiPxpbpthPhwwl+AYxVrostGB0W06WJ61hfiw== + dependencies: + "@babel/core" "^7.14.0" + "@babel/generator" "^7.14.0" + "@babel/parser" "^7.14.0" + "@babel/types" "^7.0.0" + babel-preset-fbjs "^3.4.0" + metro "0.67.0" + metro-babel-transformer "0.67.0" + metro-cache "0.67.0" + metro-cache-key "0.67.0" + metro-hermes-compiler "0.67.0" + metro-source-map "0.67.0" + metro-transform-plugins "0.67.0" + nullthrows "^1.1.1" + +metro-transform-worker@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.72.3.tgz#bdc6cc708ea114bc085e11d675b8ff626d7e6db7" + integrity sha512-WsuWj9H7i6cHuJuy+BgbWht9DK5FOgJxHLGAyULD5FJdTG9rSMFaHDO5WfC0OwQU5h4w6cPT40iDuEGksM7+YQ== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" "@babel/parser" "^7.14.0" "@babel/types" "^7.0.0" babel-preset-fbjs "^3.4.0" - metro "0.66.2" - metro-babel-transformer "0.66.2" - metro-cache "0.66.2" - metro-cache-key "0.66.2" - metro-hermes-compiler "0.66.2" - metro-source-map "0.66.2" - metro-transform-plugins "0.66.2" + metro "0.72.3" + metro-babel-transformer "0.72.3" + metro-cache "0.72.3" + metro-cache-key "0.72.3" + metro-hermes-compiler "0.72.3" + metro-source-map "0.72.3" + metro-transform-plugins "0.72.3" nullthrows "^1.1.1" -metro@0.66.2, metro@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.66.2.tgz#f21759bf00995470e7577b5b88a5277963f24492" - integrity sha512-uNsISfcQ3iKKSHoN5Q+LAh0l3jeeg7ZcNZ/4BAHGsk02erA0OP+l2m+b5qYVoPptHz9Oc3KyG5oGJoTu41pWjg== +metro@0.67.0, metro@^0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.67.0.tgz#8007a041d22de1cdb05184431c67eb7989eef6e0" + integrity sha512-DwuBGAFcAivoac/swz8Lp7Y5Bcge1tzT7T6K0nf1ubqJP8YzBUtyR4pkjEYVUzVu/NZf7O54kHSPVu1ibYzOBQ== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.14.0" @@ -3109,28 +3727,27 @@ metro@0.66.2, metro@^0.66.1: error-stack-parser "^2.0.6" fs-extra "^1.0.0" graceful-fs "^4.1.3" - hermes-parser "0.4.7" + hermes-parser "0.5.0" image-size "^0.6.0" invariant "^2.2.4" - jest-haste-map "^26.5.2" + jest-haste-map "^27.3.1" jest-worker "^26.0.0" lodash.throttle "^4.1.1" - metro-babel-register "0.66.2" - metro-babel-transformer "0.66.2" - metro-cache "0.66.2" - metro-cache-key "0.66.2" - metro-config "0.66.2" - metro-core "0.66.2" - metro-hermes-compiler "0.66.2" - metro-inspector-proxy "0.66.2" - metro-minify-uglify "0.66.2" - metro-react-native-babel-preset "0.66.2" - metro-resolver "0.66.2" - metro-runtime "0.66.2" - metro-source-map "0.66.2" - metro-symbolicate "0.66.2" - metro-transform-plugins "0.66.2" - metro-transform-worker "0.66.2" + metro-babel-transformer "0.67.0" + metro-cache "0.67.0" + metro-cache-key "0.67.0" + metro-config "0.67.0" + metro-core "0.67.0" + metro-hermes-compiler "0.67.0" + metro-inspector-proxy "0.67.0" + metro-minify-uglify "0.67.0" + metro-react-native-babel-preset "0.67.0" + metro-resolver "0.67.0" + metro-runtime "0.67.0" + metro-source-map "0.67.0" + metro-symbolicate "0.67.0" + metro-transform-plugins "0.67.0" + metro-transform-worker "0.67.0" mime-types "^2.1.27" mkdirp "^0.5.1" node-fetch "^2.2.0" @@ -3141,10 +3758,66 @@ metro@0.66.2, metro@^0.66.1: strip-ansi "^6.0.0" temp "0.8.3" throat "^5.0.0" - ws "^1.1.5" + ws "^7.5.1" + yargs "^15.3.1" + +metro@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.72.3.tgz#eb587037d62f48a0c33c8d88f26666b4083bb61e" + integrity sha512-Hb3xTvPqex8kJ1hutQNZhQadUKUwmns/Du9GikmWKBFrkiG3k3xstGAyO5t5rN9JSUEzQT6y9SWzSSOGogUKIg== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/core" "^7.14.0" + "@babel/generator" "^7.14.0" + "@babel/parser" "^7.14.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.0.0" + absolute-path "^0.0.0" + accepts "^1.3.7" + async "^3.2.2" + chalk "^4.0.0" + ci-info "^2.0.0" + connect "^3.6.5" + debug "^2.2.0" + denodeify "^1.2.1" + error-stack-parser "^2.0.6" + fs-extra "^1.0.0" + graceful-fs "^4.2.4" + hermes-parser "0.8.0" + image-size "^0.6.0" + invariant "^2.2.4" + jest-worker "^27.2.0" + lodash.throttle "^4.1.1" + metro-babel-transformer "0.72.3" + metro-cache "0.72.3" + metro-cache-key "0.72.3" + metro-config "0.72.3" + metro-core "0.72.3" + metro-file-map "0.72.3" + metro-hermes-compiler "0.72.3" + metro-inspector-proxy "0.72.3" + metro-minify-uglify "0.72.3" + metro-react-native-babel-preset "0.72.3" + metro-resolver "0.72.3" + metro-runtime "0.72.3" + metro-source-map "0.72.3" + metro-symbolicate "0.72.3" + metro-transform-plugins "0.72.3" + metro-transform-worker "0.72.3" + mime-types "^2.1.27" + node-fetch "^2.2.0" + nullthrows "^1.1.1" + rimraf "^2.5.4" + serialize-error "^2.1.0" + source-map "^0.5.6" + strip-ansi "^6.0.0" + temp "0.8.3" + throat "^5.0.0" + ws "^7.5.1" yargs "^15.3.1" -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -3163,7 +3836,7 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2: +micromatch@^4.0.4: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -3198,6 +3871,11 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + minimatch@^3.0.2, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -3205,7 +3883,7 @@ minimatch@^3.0.2, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== @@ -3277,6 +3955,11 @@ nocache@^2.1.0: resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f" integrity sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q== +nocache@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.4.tgz#5b37a56ec6e09fc7d401dceaed2eab40c8bfdf79" + integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== + node-dir@^0.1.17: version "0.1.17" resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" @@ -3306,13 +3989,6 @@ node-stream-zip@^1.9.1: resolved "https://registry.yarnpkg.com/node-stream-zip/-/node-stream-zip-1.15.0.tgz#158adb88ed8004c6c49a396b50a6a5de3bca33ea" integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== - dependencies: - remove-trailing-separator "^1.0.1" - normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -3337,10 +4013,15 @@ nullthrows@^1.1.1: resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== -ob1@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.66.2.tgz#8caf548202cf2688944bae47db405a08bca17a61" - integrity sha512-RFewnL/RjE0qQBOuM+2bbY96zmJPIge/aDtsiDbLSb+MOiK8CReAhBHDgL+zrA3F1hQk00lMWpUwYcep750plA== +ob1@0.67.0: + version "0.67.0" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.67.0.tgz#91f104c90641b1af8c364fc82a4b2c7d0801072d" + integrity sha512-YvZtX8HKYackQ5PwdFIuuNFVsMChRPHvnARRRT0Vk59xsBvL5t9U1Ock3M1sYrKj+Gp73+0q9xcHLAxI+xLi5g== + +ob1@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.72.3.tgz#fc1efcfe156f12ed23615f2465a796faad8b91e4" + integrity sha512-OnVto25Sj7Ghp0vVm2THsngdze3tVq0LOg9LUHsAVXMecpqOP0Y8zaATW8M9gEgs2lNEAcCqV0P/hlmOPhVRvg== object-assign@^4.1.1: version "4.1.1" @@ -3418,6 +4099,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + open@^6.2.0: version "6.4.0" resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" @@ -3425,11 +4113,6 @@ open@^6.2.0: dependencies: is-wsl "^1.1.0" -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - integrity sha512-bOj3L1ypm++N+n7CEbbe473A414AB7z+amKYshRb//iuL3MpdDCLhPnw6aVTdKB9g5ZRVHIEp8eUln6L2NUStg== - ora@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" @@ -3442,6 +4125,21 @@ ora@^3.4.0: strip-ansi "^5.2.0" wcwidth "^1.0.1" +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -3459,6 +4157,13 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -3473,6 +4178,13 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -3526,7 +4238,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -3600,6 +4312,13 @@ promise@^8.0.3: dependencies: asap "~2.0.6" +promise@^8.2.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== + dependencies: + asap "~2.0.6" + prompts@^2.4.0: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -3608,7 +4327,7 @@ prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@*, prop-types@15.x.x, prop-types@^15.5.10, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@*, prop-types@15.x.x, prop-types@^15.5.10, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -3630,41 +4349,60 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -react-devtools-core@^4.13.0: - version "4.25.0" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.25.0.tgz#78b11a2c9f81dd9ebff3745ab4ee2147cc96c12a" - integrity sha512-iewRrnu0ZnmfL+jJayKphXj04CFh6i3ezVnpCtcnZbTPSQgN09XqHAzXbKbqNDl7aTg9QLNkQRP6M3DvdrinWA== +react-devtools-core@4.24.0: + version "4.24.0" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.0.tgz#7daa196bdc64f3626b3f54f2ff2b96f7c4fdf017" + integrity sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg== dependencies: shell-quote "^1.6.1" ws "^7" -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-devtools-core@^4.23.0: + version "4.26.1" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.26.1.tgz#2893fea58089be64c5356d5bd0eebda8d1bbf317" + integrity sha512-r1csa5n9nABVpSdAadwTG7K+SfgRJPc/Hdx89BkV5IlA1mEGgGi3ir630ST5D/xYlJQaY3VE75YGADgpNW7HIw== + dependencies: + shell-quote "^1.6.1" + ws "^7" -react-is@^17.0.1: +"react-is@^16.12.0 || ^17.0.0", react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0: +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-is@^16.13.1, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + react-lifecycles-compat@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-2.0.0.tgz#71d9c4cde47114c4102454f76da055c2bc48c948" integrity sha512-txfpPCQYiazVdcbMRhatqWKcAxJweUu2wDXvts5/7Wyp6+Y9cHojqXHsLPEckzutfHlxZhG8Oiundbmp8Fd6eQ== -react-native-codegen@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.7.tgz#86651c5c5fec67a8077ef7f4e36f7ed459043e14" - integrity sha512-dwNgR8zJ3ALr480QnAmpTiqvFo+rDtq6V5oCggKhYFlRjzOmVSFn3YD41u8ltvKS5G2nQ8gCs2vReFFnRGLYng== +react-native-codegen@^0.0.18: + version "0.0.18" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.18.tgz#99d6623d65292e8ce3fdb1d133a358caaa2145e7" + integrity sha512-XPI9aVsFy3dvgDZvyGWrFnknNiyb22kg5nHgxa0vjWTH9ENLBgVRZt9A64xHZ8BYihH+gl0p/1JNOCIEUzRPBg== dependencies: + "@babel/parser" "^7.14.0" flow-parser "^0.121.0" - jscodeshift "^0.11.0" + jscodeshift "^0.13.1" + nullthrows "^1.1.1" + +react-native-codegen@^0.70.6: + version "0.70.6" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.70.6.tgz#2ce17d1faad02ad4562345f8ee7cbe6397eda5cb" + integrity sha512-kdwIhH2hi+cFnG5Nb8Ji2JwmcCxnaOOo9440ov7XDzSvGfmUStnCzl+MCW8jLjqHcE4icT7N9y+xx4f50vfBTw== + dependencies: + "@babel/parser" "^7.14.0" + flow-parser "^0.121.0" + jscodeshift "^0.13.1" nullthrows "^1.1.1" react-native-element-dropdown@^1.8.10: @@ -3689,6 +4427,16 @@ react-native-expandable-listview@^1.3.1: react-native-svg "^12.1.0" typescript "*" +react-native-gradle-plugin@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.0.6.tgz#b61a9234ad2f61430937911003cddd7e15c72b45" + integrity sha512-eIlgtsmDp1jLC24dRn43hB3kEcZVqx6DUQbR0N1ABXGnMEafm9I3V3dUUeD1vh+Dy5WqijSoEwLNUPLgu5zDMg== + +react-native-gradle-plugin@^0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.70.3.tgz#cbcf0619cbfbddaa9128701aa2d7b4145f9c4fc8" + integrity sha512-oOanj84fJEXUg9FoEAQomA8ISG+DVIrTZ3qF7m69VQUJyOGYyDZmPqKcjvRku4KXlEH6hWO9i4ACLzNBh8gC0A== + react-native-navigation@^7.28.0: version "7.28.1" resolved "https://registry.yarnpkg.com/react-native-navigation/-/react-native-navigation-7.28.1.tgz#02700cec0851ea8d812b436494db80bf73dadd03" @@ -3722,40 +4470,79 @@ react-native-svg@^12.1.0: css-select "^5.1.0" css-tree "^1.1.3" -react-native@^0.66.3: - version "0.66.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.66.4.tgz#bf89a5fb18bd23046d889fb4de4ea2822a4d7805" - integrity sha512-9vx5dlSfQlKbbDtr8+xMon6qsmSu7jvjdXWZpEKh3XVKpUidbbODv7048gwVKX8YAel1egeR7hN8vzSeI6ssTw== +react-native@>=0.66.3: + version "0.70.4" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.4.tgz#f2a3a7996431a47a45ce1f5097352c5721417516" + integrity sha512-1e4jWotS20AJ/4lGVkZQs2wE0PvCpIRmPQEQ1FyH7wdyuewFFIxbUHqy6vAj1JWVFfAzbDakOQofrIkkHWLqNA== dependencies: - "@jest/create-cache-key-function" "^27.0.1" - "@react-native-community/cli" "^6.0.0" - "@react-native-community/cli-platform-android" "^6.0.0" - "@react-native-community/cli-platform-ios" "^6.0.0" + "@jest/create-cache-key-function" "^29.0.3" + "@react-native-community/cli" "9.2.1" + "@react-native-community/cli-platform-android" "9.2.1" + "@react-native-community/cli-platform-ios" "9.2.1" "@react-native/assets" "1.0.0" - "@react-native/normalize-color" "1.0.0" + "@react-native/normalize-color" "2.0.0" "@react-native/polyfills" "2.0.0" abort-controller "^3.0.0" anser "^1.4.9" base64-js "^1.1.2" event-target-shim "^5.0.1" - hermes-engine "~0.9.0" invariant "^2.2.4" jsc-android "^250230.2.1" - metro-babel-register "0.66.2" - metro-react-native-babel-transformer "0.66.2" - metro-runtime "0.66.2" - metro-source-map "0.66.2" + memoize-one "^5.0.0" + metro-react-native-babel-transformer "0.72.3" + metro-runtime "0.72.3" + metro-source-map "0.72.3" + mkdirp "^0.5.1" nullthrows "^1.1.1" pretty-format "^26.5.2" promise "^8.0.3" - prop-types "^15.7.2" - react-devtools-core "^4.13.0" - react-native-codegen "^0.0.7" + react-devtools-core "4.24.0" + react-native-codegen "^0.70.6" + react-native-gradle-plugin "^0.70.3" + react-refresh "^0.4.0" + react-shallow-renderer "^16.15.0" + regenerator-runtime "^0.13.2" + scheduler "^0.22.0" + stacktrace-parser "^0.1.3" + use-sync-external-store "^1.0.0" + whatwg-fetch "^3.0.0" + ws "^6.1.4" + +react-native@^0.68.2: + version "0.68.4" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.68.4.tgz#c52c590f93e9d115010e458650957824c0b1406e" + integrity sha512-Hp5qwztQ1XNnV43QTz1kUx33iZHmJqbbe7L19V9psaWtX/h9j6SEtZ3UHBrigIPlppkIP1E5x3CDr9FdD4d6CA== + dependencies: + "@jest/create-cache-key-function" "^27.0.1" + "@react-native-community/cli" "^7.0.3" + "@react-native-community/cli-platform-android" "^7.0.1" + "@react-native-community/cli-platform-ios" "^7.0.1" + "@react-native/assets" "1.0.0" + "@react-native/normalize-color" "2.0.0" + "@react-native/polyfills" "2.0.0" + abort-controller "^3.0.0" + anser "^1.4.9" + base64-js "^1.1.2" + deprecated-react-native-prop-types "^2.3.0" + event-target-shim "^5.0.1" + hermes-engine "~0.11.0" + invariant "^2.2.4" + jsc-android "^250230.2.1" + metro-react-native-babel-transformer "0.67.0" + metro-runtime "0.67.0" + metro-source-map "0.67.0" + nullthrows "^1.1.1" + pretty-format "^26.5.2" + promise "^8.2.0" + react-devtools-core "^4.23.0" + react-native-codegen "^0.0.18" + react-native-gradle-plugin "^0.0.6" react-refresh "^0.4.0" + react-shallow-renderer "16.14.1" regenerator-runtime "^0.13.2" scheduler "^0.20.2" stacktrace-parser "^0.1.3" - use-subscription "^1.0.0" + use-subscription ">=1.0.0 <1.6.0" whatwg-fetch "^3.0.0" ws "^6.1.4" @@ -3764,6 +4551,22 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53" integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== +react-shallow-renderer@16.14.1: + version "16.14.1" + resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.14.1.tgz#bf0d02df8a519a558fd9b8215442efa5c840e124" + integrity sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg== + dependencies: + object-assign "^4.1.1" + react-is "^16.12.0 || ^17.0.0" + +react-shallow-renderer@^16.15.0: + version "16.15.0" + resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" + integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== + dependencies: + object-assign "^4.1.1" + react-is "^16.12.0 || ^17.0.0 || ^18.0.0" + react@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" @@ -3772,6 +4575,15 @@ react@17.0.2: loose-envify "^1.1.0" object-assign "^4.1.1" +readable-stream@^3.4.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -3790,7 +4602,7 @@ readline@^1.3.0: resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== -recast@^0.20.3: +recast@^0.20.4: version "0.20.5" resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== @@ -3812,6 +4624,11 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== +regenerator-runtime@^0.13.10: + version "0.13.10" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" + integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== + regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" @@ -3856,11 +4673,6 @@ regjsparser@^0.8.2: dependencies: jsesc "~0.5.0" -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== - repeat-element@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" @@ -3913,6 +4725,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -3937,16 +4757,16 @@ rimraf@~2.6.2: dependencies: glob "^7.1.3" -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -3954,21 +4774,6 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -3982,6 +4787,13 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" +scheduler@^0.22.0: + version "0.22.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.22.0.tgz#83a5d63594edf074add9a7198b1bae76c3db01b8" + integrity sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ== + dependencies: + loose-envify "^1.1.0" + semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" @@ -4080,7 +4892,7 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -simple-plist@^1.0.0: +simple-plist@^1.1.0: version "1.3.1" resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017" integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw== @@ -4233,6 +5045,13 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -4278,6 +5097,13 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -4291,7 +5117,7 @@ temp@0.8.3: os-tmpdir "^1.0.0" rimraf "~2.2.6" -temp@^0.8.1: +temp@^0.8.4: version "0.8.4" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== @@ -4391,11 +5217,6 @@ uglify-es@^3.1.9: commander "~2.13.0" source-map "~0.6.1" -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - integrity sha512-QMpnpVtYaWEeY+MwKDN/UdKlE/LsFZXM5lO1u7GaZzNgmIbGixHEmVMIKT+vqYOALu3m5GYQy9kz4Xu4IVn7Ow== - unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -4455,19 +5276,27 @@ update-browserslist-db@^1.0.5: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== -use-subscription@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.8.0.tgz#f118938c29d263c2bce12fc5585d3fe694d4dbce" - integrity sha512-LISuG0/TmmoDoCRmV5XAqYkd3UCBNM0ML3gGBndze65WITcsExCD3DTvXXTLyNcOC0heFQZzluW88bN/oC1DQQ== +"use-subscription@>=1.0.0 <1.6.0": + version "1.5.1" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" + integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== dependencies: - use-sync-external-store "^1.2.0" + object-assign "^4.1.1" -use-sync-external-store@^1.2.0: +use-sync-external-store@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== @@ -4477,7 +5306,7 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== @@ -4487,10 +5316,10 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" + integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== vary@~1.1.2: version "1.1.2" @@ -4502,7 +5331,7 @@ vlq@^1.0.0: resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.1.tgz#c003f6e7c0b4c1edd623fd6ee50bbc0d6a1de468" integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w== -walker@^1.0.7, walker@~1.0.5: +walker@^1.0.7: version "1.0.8" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== @@ -4569,14 +5398,6 @@ write-file-atomic@^2.3.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" -ws@^1.1.0, ws@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" - integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w== - dependencies: - options ">=0.0.5" - ultron "1.0.x" - ws@^6.1.4: version "6.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" @@ -4584,18 +5405,18 @@ ws@^6.1.4: dependencies: async-limiter "~1.0.0" -ws@^7: +ws@^7, ws@^7.5.1: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -xcode@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-2.1.0.tgz#bab64a7e954bb50ca8d19da7e09531c65a43ecfe" - integrity sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ== +xcode@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c" + integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== dependencies: - simple-plist "^1.0.0" - uuid "^3.3.2" + simple-plist "^1.1.0" + uuid "^7.0.3" xmlbuilder@^15.1.1: version "15.1.1" @@ -4643,3 +5464,8 @@ yargs@^15.1.0, yargs@^15.3.1: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^18.1.2" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/lib/commonjs/consts.js b/lib/commonjs/consts.js index a837391..46d4cec 100644 --- a/lib/commonjs/consts.js +++ b/lib/commonjs/consts.js @@ -3,19 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.WAKEMODE = exports.VR_INTERACTION_MODE = exports.VIDEO_CODEC = exports.TRACK_SELECTION_MODE = exports.SUBTITLE_STYLE = exports.SUBTITLE_PREFERENCE = exports.PLAYER_TYPE = exports.PLAYER_RESIZE_MODES = exports.PLAYER_PLUGIN = exports.MULTICAST_EXTRACTOR_MODE = exports.MEDIA_FORMAT = exports.MEDIA_ENTRY_TYPE = exports.KALTURA_URL_TYPE = exports.KALTURA_STREAMER_TYPE = exports.KALTURA_PLAYBACK_CONTEXT_TYPE = exports.KALTURA_LIVE_STREAMING_TYPE = exports.KALTURA_ASSET_TYPE = exports.KALTURA_ASSET_REFERENCE_TYPE = exports.DRM_SCHEME = exports.AUDIO_CODEC = void 0; +exports.WAKEMODE = exports.VR_INTERACTION_MODE = exports.VIDEO_CODEC = exports.TRACK_SELECTION_MODE = exports.SUBTITLE_STYLE = exports.SUBTITLE_PREFERENCE = exports.PLAYER_TYPE = exports.PLAYER_RESIZE_MODES = exports.PLAYER_PLUGIN = exports.MULTICAST_EXTRACTOR_MODE = exports.MEDIA_FORMAT = exports.MEDIA_ENTRY_TYPE = exports.LOG_LEVEL = exports.KALTURA_URL_TYPE = exports.KALTURA_STREAMER_TYPE = exports.KALTURA_PLAYBACK_CONTEXT_TYPE = exports.KALTURA_LIVE_STREAMING_TYPE = exports.KALTURA_ASSET_TYPE = exports.KALTURA_ASSET_REFERENCE_TYPE = exports.IMA_AD_TAG_TYPE = exports.IMADAI_STREAM_FORMAT = exports.DRM_SCHEME = exports.AUDIO_CODEC = void 0; let PLAYER_TYPE; exports.PLAYER_TYPE = PLAYER_TYPE; - (function (PLAYER_TYPE) { PLAYER_TYPE["OVP"] = "ovp"; PLAYER_TYPE["OTT"] = "ott"; PLAYER_TYPE["BASIC"] = "basic"; })(PLAYER_TYPE || (exports.PLAYER_TYPE = PLAYER_TYPE = {})); - let MEDIA_FORMAT; exports.MEDIA_FORMAT = MEDIA_FORMAT; - (function (MEDIA_FORMAT) { MEDIA_FORMAT["DASH"] = "dash"; MEDIA_FORMAT["HLS"] = "hls"; @@ -24,19 +21,15 @@ exports.MEDIA_FORMAT = MEDIA_FORMAT; MEDIA_FORMAT["MP3"] = "mp3"; MEDIA_FORMAT["UDP"] = "udp"; })(MEDIA_FORMAT || (exports.MEDIA_FORMAT = MEDIA_FORMAT = {})); - let MEDIA_ENTRY_TYPE; exports.MEDIA_ENTRY_TYPE = MEDIA_ENTRY_TYPE; - (function (MEDIA_ENTRY_TYPE) { MEDIA_ENTRY_TYPE["VOD"] = "Vod"; MEDIA_ENTRY_TYPE["LIVE"] = "Live"; MEDIA_ENTRY_TYPE["DVRLIVE"] = "DvrLive"; })(MEDIA_ENTRY_TYPE || (exports.MEDIA_ENTRY_TYPE = MEDIA_ENTRY_TYPE = {})); - let DRM_SCHEME; exports.DRM_SCHEME = DRM_SCHEME; - (function (DRM_SCHEME) { DRM_SCHEME["WIDEVINE_CENC"] = "WidevineCENC"; DRM_SCHEME["PLAYREADY_CENC"] = "PlayReadyCENC"; @@ -44,10 +37,8 @@ exports.DRM_SCHEME = DRM_SCHEME; DRM_SCHEME["PLAYREADY_CLASSIC"] = "PlayReadyClassic"; DRM_SCHEME["FAIRPLAY"] = "FairPlay"; })(DRM_SCHEME || (exports.DRM_SCHEME = DRM_SCHEME = {})); - let PLAYER_PLUGIN; exports.PLAYER_PLUGIN = PLAYER_PLUGIN; - (function (PLAYER_PLUGIN) { PLAYER_PLUGIN["IMA"] = "ima"; PLAYER_PLUGIN["IMADAI"] = "imadai"; @@ -56,10 +47,8 @@ exports.PLAYER_PLUGIN = PLAYER_PLUGIN; PLAYER_PLUGIN["OTT_ANALYTICS"] = "ottAnalytics"; PLAYER_PLUGIN["BROADPEAK"] = "broadpeak"; })(PLAYER_PLUGIN || (exports.PLAYER_PLUGIN = PLAYER_PLUGIN = {})); - let PLAYER_RESIZE_MODES; exports.PLAYER_RESIZE_MODES = PLAYER_RESIZE_MODES; - (function (PLAYER_RESIZE_MODES) { PLAYER_RESIZE_MODES["FIT"] = "fit"; PLAYER_RESIZE_MODES["FIXED_WIDTH"] = "fixedWidth"; @@ -67,24 +56,18 @@ exports.PLAYER_RESIZE_MODES = PLAYER_RESIZE_MODES; PLAYER_RESIZE_MODES["FILL"] = "fill"; PLAYER_RESIZE_MODES["ZOOM"] = "zoom"; })(PLAYER_RESIZE_MODES || (exports.PLAYER_RESIZE_MODES = PLAYER_RESIZE_MODES = {})); - -let WAKEMODE; -/** - * Subtitle Style Settings helper - * constants - */ - +let WAKEMODE; /** + * Subtitle Style Settings helper + * constants + */ exports.WAKEMODE = WAKEMODE; - (function (WAKEMODE) { WAKEMODE["NONE"] = "NONE"; WAKEMODE["LOCAL"] = "LOCAL"; WAKEMODE["NETWORK"] = "NETWORK"; })(WAKEMODE || (exports.WAKEMODE = WAKEMODE = {})); - let SUBTITLE_STYLE; exports.SUBTITLE_STYLE = SUBTITLE_STYLE; - (function (SUBTITLE_STYLE) { SUBTITLE_STYLE["EDGE_TYPE_NONE"] = "EDGE_TYPE_NONE"; SUBTITLE_STYLE["EDGE_TYPE_OUTLINE"] = "EDGE_TYPE_OUTLINE"; @@ -110,19 +93,15 @@ exports.SUBTITLE_STYLE = SUBTITLE_STYLE; SUBTITLE_STYLE["HORIZONTAL_ALIGNMENT_CENTER"] = "ALIGN_CENTER"; SUBTITLE_STYLE["HORIZONTAL_ALIGNMENT_OPPOSITE"] = "ALIGN_OPPOSITE"; })(SUBTITLE_STYLE || (exports.SUBTITLE_STYLE = SUBTITLE_STYLE = {})); - let SUBTITLE_PREFERENCE; exports.SUBTITLE_PREFERENCE = SUBTITLE_PREFERENCE; - (function (SUBTITLE_PREFERENCE) { SUBTITLE_PREFERENCE["OFF"] = "OFF"; SUBTITLE_PREFERENCE["INTERNAL"] = "INTERNAL"; SUBTITLE_PREFERENCE["EXTERNAL"] = "EXTERNAL"; })(SUBTITLE_PREFERENCE || (exports.SUBTITLE_PREFERENCE = SUBTITLE_PREFERENCE = {})); - let VIDEO_CODEC; exports.VIDEO_CODEC = VIDEO_CODEC; - (function (VIDEO_CODEC) { VIDEO_CODEC["HEVC"] = "HEVC"; VIDEO_CODEC["AV1"] = "AV1"; @@ -130,20 +109,16 @@ exports.VIDEO_CODEC = VIDEO_CODEC; VIDEO_CODEC["VP8"] = "VP8"; VIDEO_CODEC["AVC"] = "AVC"; })(VIDEO_CODEC || (exports.VIDEO_CODEC = VIDEO_CODEC = {})); - let AUDIO_CODEC; exports.AUDIO_CODEC = AUDIO_CODEC; - (function (AUDIO_CODEC) { AUDIO_CODEC["AAC"] = "AAC"; AUDIO_CODEC["AC3"] = "AC3"; AUDIO_CODEC["E_AC3"] = "E_AC3"; AUDIO_CODEC["OPUS"] = "OPUS"; })(AUDIO_CODEC || (exports.AUDIO_CODEC = AUDIO_CODEC = {})); - let VR_INTERACTION_MODE; exports.VR_INTERACTION_MODE = VR_INTERACTION_MODE; - (function (VR_INTERACTION_MODE) { VR_INTERACTION_MODE["MOTION"] = "Motion"; VR_INTERACTION_MODE["TOUCH"] = "Touch"; @@ -151,19 +126,15 @@ exports.VR_INTERACTION_MODE = VR_INTERACTION_MODE; VR_INTERACTION_MODE["CARD_BOARD_MOTION"] = "CardboardMotion"; VR_INTERACTION_MODE["CARD_BOARD_MOTION_WITH_TOUCH"] = "CardboardMotionWithTouch"; })(VR_INTERACTION_MODE || (exports.VR_INTERACTION_MODE = VR_INTERACTION_MODE = {})); - let TRACK_SELECTION_MODE; exports.TRACK_SELECTION_MODE = TRACK_SELECTION_MODE; - (function (TRACK_SELECTION_MODE) { TRACK_SELECTION_MODE["OFF"] = "OFF"; TRACK_SELECTION_MODE["AUTO"] = "AUTO"; TRACK_SELECTION_MODE["SELECTION"] = "SELECTION"; })(TRACK_SELECTION_MODE || (exports.TRACK_SELECTION_MODE = TRACK_SELECTION_MODE = {})); - let KALTURA_STREAMER_TYPE; exports.KALTURA_STREAMER_TYPE = KALTURA_STREAMER_TYPE; - (function (KALTURA_STREAMER_TYPE) { KALTURA_STREAMER_TYPE["APPLE_HTTP"] = "applehttp"; KALTURA_STREAMER_TYPE["MPEG_DASH"] = "mpegdash"; @@ -172,59 +143,69 @@ exports.KALTURA_STREAMER_TYPE = KALTURA_STREAMER_TYPE; KALTURA_STREAMER_TYPE["MULTICAST"] = "multicast"; KALTURA_STREAMER_TYPE["NONE"] = "none"; })(KALTURA_STREAMER_TYPE || (exports.KALTURA_STREAMER_TYPE = KALTURA_STREAMER_TYPE = {})); - let KALTURA_URL_TYPE; exports.KALTURA_URL_TYPE = KALTURA_URL_TYPE; - (function (KALTURA_URL_TYPE) { KALTURA_URL_TYPE["PLAYMANIFEST"] = "PLAYMANIFEST"; KALTURA_URL_TYPE["DIRECT"] = "DIRECT"; })(KALTURA_URL_TYPE || (exports.KALTURA_URL_TYPE = KALTURA_URL_TYPE = {})); - let KALTURA_PLAYBACK_CONTEXT_TYPE; exports.KALTURA_PLAYBACK_CONTEXT_TYPE = KALTURA_PLAYBACK_CONTEXT_TYPE; - (function (KALTURA_PLAYBACK_CONTEXT_TYPE) { KALTURA_PLAYBACK_CONTEXT_TYPE["TRAILER"] = "TRAILER"; KALTURA_PLAYBACK_CONTEXT_TYPE["CATCHUP"] = "CATCHUP"; KALTURA_PLAYBACK_CONTEXT_TYPE["START_OVER"] = "START_OVER"; KALTURA_PLAYBACK_CONTEXT_TYPE["PLAYBACK"] = "PLAYBACK"; })(KALTURA_PLAYBACK_CONTEXT_TYPE || (exports.KALTURA_PLAYBACK_CONTEXT_TYPE = KALTURA_PLAYBACK_CONTEXT_TYPE = {})); - let KALTURA_ASSET_TYPE; exports.KALTURA_ASSET_TYPE = KALTURA_ASSET_TYPE; - (function (KALTURA_ASSET_TYPE) { KALTURA_ASSET_TYPE["MEDIA"] = "media"; KALTURA_ASSET_TYPE["EPG"] = "epg"; KALTURA_ASSET_TYPE["RECORDING"] = "recording"; })(KALTURA_ASSET_TYPE || (exports.KALTURA_ASSET_TYPE = KALTURA_ASSET_TYPE = {})); - let KALTURA_LIVE_STREAMING_TYPE; exports.KALTURA_LIVE_STREAMING_TYPE = KALTURA_LIVE_STREAMING_TYPE; - (function (KALTURA_LIVE_STREAMING_TYPE) { KALTURA_LIVE_STREAMING_TYPE["CATCHUP"] = "catchup"; KALTURA_LIVE_STREAMING_TYPE["START_OVER"] = "startOver"; KALTURA_LIVE_STREAMING_TYPE["TRICK_PLAY"] = "trickPlay"; })(KALTURA_LIVE_STREAMING_TYPE || (exports.KALTURA_LIVE_STREAMING_TYPE = KALTURA_LIVE_STREAMING_TYPE = {})); - let KALTURA_ASSET_REFERENCE_TYPE; exports.KALTURA_ASSET_REFERENCE_TYPE = KALTURA_ASSET_REFERENCE_TYPE; - (function (KALTURA_ASSET_REFERENCE_TYPE) { KALTURA_ASSET_REFERENCE_TYPE["MEDIA"] = "media"; KALTURA_ASSET_REFERENCE_TYPE["INTERNAL_EPG"] = "epg_internal"; KALTURA_ASSET_REFERENCE_TYPE["EXTERNAL_EPG"] = "epg_external"; KALTURA_ASSET_REFERENCE_TYPE["NPVR"] = "npvr"; })(KALTURA_ASSET_REFERENCE_TYPE || (exports.KALTURA_ASSET_REFERENCE_TYPE = KALTURA_ASSET_REFERENCE_TYPE = {})); - let MULTICAST_EXTRACTOR_MODE; exports.MULTICAST_EXTRACTOR_MODE = MULTICAST_EXTRACTOR_MODE; - (function (MULTICAST_EXTRACTOR_MODE) { MULTICAST_EXTRACTOR_MODE["MODE_MULTI_PMT"] = "MODE_MULTI_PMT"; MULTICAST_EXTRACTOR_MODE["MODE_SINGLE_PMT"] = "MODE_SINGLE_PMT"; MULTICAST_EXTRACTOR_MODE["MODE_HLS"] = "MODE_HLS"; })(MULTICAST_EXTRACTOR_MODE || (exports.MULTICAST_EXTRACTOR_MODE = MULTICAST_EXTRACTOR_MODE = {})); +let IMA_AD_TAG_TYPE; +exports.IMA_AD_TAG_TYPE = IMA_AD_TAG_TYPE; +(function (IMA_AD_TAG_TYPE) { + IMA_AD_TAG_TYPE["VMAP"] = "VMAP"; + IMA_AD_TAG_TYPE["VAST"] = "VAST"; +})(IMA_AD_TAG_TYPE || (exports.IMA_AD_TAG_TYPE = IMA_AD_TAG_TYPE = {})); +let IMADAI_STREAM_FORMAT; +exports.IMADAI_STREAM_FORMAT = IMADAI_STREAM_FORMAT; +(function (IMADAI_STREAM_FORMAT) { + IMADAI_STREAM_FORMAT["DASH"] = "DASH"; + IMADAI_STREAM_FORMAT["HLS"] = "HLS"; +})(IMADAI_STREAM_FORMAT || (exports.IMADAI_STREAM_FORMAT = IMADAI_STREAM_FORMAT = {})); +let LOG_LEVEL; +exports.LOG_LEVEL = LOG_LEVEL; +(function (LOG_LEVEL) { + LOG_LEVEL["VERBOSE"] = "VERBOSE"; + LOG_LEVEL["DEBUG"] = "DEBUG"; + LOG_LEVEL["WARN"] = "WARN"; + LOG_LEVEL["INFO"] = "INFO"; + LOG_LEVEL["ERROR"] = "ERROR"; + LOG_LEVEL["OFF"] = "OFF"; +})(LOG_LEVEL || (exports.LOG_LEVEL = LOG_LEVEL = {})); //# sourceMappingURL=consts.js.map \ No newline at end of file diff --git a/lib/commonjs/consts.js.map b/lib/commonjs/consts.js.map index 342d715..d05ee99 100644 --- a/lib/commonjs/consts.js.map +++ b/lib/commonjs/consts.js.map @@ -1 +1 @@ -{"version":3,"names":["PLAYER_TYPE","MEDIA_FORMAT","MEDIA_ENTRY_TYPE","DRM_SCHEME","PLAYER_PLUGIN","PLAYER_RESIZE_MODES","WAKEMODE","SUBTITLE_STYLE","SUBTITLE_PREFERENCE","VIDEO_CODEC","AUDIO_CODEC","VR_INTERACTION_MODE","TRACK_SELECTION_MODE","KALTURA_STREAMER_TYPE","KALTURA_URL_TYPE","KALTURA_PLAYBACK_CONTEXT_TYPE","KALTURA_ASSET_TYPE","KALTURA_LIVE_STREAMING_TYPE","KALTURA_ASSET_REFERENCE_TYPE","MULTICAST_EXTRACTOR_MODE"],"sources":["consts.tsx"],"sourcesContent":["export enum PLAYER_TYPE {\n OVP = 'ovp',\n OTT = 'ott',\n BASIC = 'basic'\n}\n\nexport enum MEDIA_FORMAT {\n DASH = 'dash',\n HLS = 'hls',\n WVM = 'wvm',\n MP4 = 'mp4',\n MP3 = 'mp3',\n UDP = 'udp'\n}\n\nexport enum MEDIA_ENTRY_TYPE {\n VOD = 'Vod',\n LIVE = 'Live',\n DVRLIVE = 'DvrLive'\n}\n\nexport enum DRM_SCHEME {\n WIDEVINE_CENC = 'WidevineCENC',\n PLAYREADY_CENC = 'PlayReadyCENC',\n WIDEVINE_CLASSIC = 'WidevineClassic',\n PLAYREADY_CLASSIC = 'PlayReadyClassic',\n FAIRPLAY = 'FairPlay'\n}\n\nexport enum PLAYER_PLUGIN {\n IMA = 'ima',\n IMADAI = 'imadai',\n YOUBORA = 'youbora',\n KAVA = 'kava',\n OTT_ANALYTICS = 'ottAnalytics',\n BROADPEAK = 'broadpeak'\n}\n\nexport enum PLAYER_RESIZE_MODES {\n FIT = 'fit',\n FIXED_WIDTH = 'fixedWidth',\n FIXED_HEIGHT = 'fixedHeight',\n FILL = 'fill',\n ZOOM = 'zoom'\n}\n\nexport enum WAKEMODE {\n NONE = 'NONE',\n LOCAL = 'LOCAL',\n NETWORK = 'NETWORK'\n}\n\n/**\n * Subtitle Style Settings helper\n * constants\n */\nexport enum SUBTITLE_STYLE {\n EDGE_TYPE_NONE = 'EDGE_TYPE_NONE',\n EDGE_TYPE_OUTLINE = 'EDGE_TYPE_OUTLINE',\n EDGE_TYPE_DROP_SHADOW = 'EDGE_TYPE_DROP_SHADOW',\n EDGE_TYPE_RAISED = 'EDGE_TYPE_RAISED',\n EDGE_TYPE_DEPRESSED = 'EDGE_TYPE_DEPRESSED',\n FRACTION_50 = 'SUBTITLE_FRACTION_50',\n FRACTION_75 = 'SUBTITLE_FRACTION_75',\n FRACTION_100 = 'SUBTITLE_FRACTION_100',\n FRACTION_125 = 'SUBTITLE_FRACTION_125',\n FRACTION_150 = 'SUBTITLE_FRACTION_150',\n FRACTION_200 = 'SUBTITLE_FRACTION_200',\n TYPEFACE_DEFAULT = 'DEFAULT',\n TYPEFACE_DEFAULT_BOLD = 'DEFAULT_BOLD',\n TYPEFACE_MONOSPACE = 'MONOSPACE',\n TYPEFACE_SERIF = 'SERIF',\n TYPEFACE_SANS_SERIF = 'SANS_SERIF',\n TYPEFACE_STYLE_NORMAL = 'NORMAL',\n TYPEFACE_STYLE_BOLD = 'BOLD',\n TYPEFACE_STYLE_ITALIC = 'ITALIC',\n TYPEFACE_STYLE_BOLD_ITALIC = 'BOLD_ITALIC',\n HORIZONTAL_ALIGNMENT_NORMAL = 'ALIGN_NORMAL',\n HORIZONTAL_ALIGNMENT_CENTER = 'ALIGN_CENTER',\n HORIZONTAL_ALIGNMENT_OPPOSITE = 'ALIGN_OPPOSITE'\n}\n\nexport enum SUBTITLE_PREFERENCE {\n OFF = 'OFF',\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL'\n}\n\nexport enum VIDEO_CODEC {\n HEVC = 'HEVC',\n AV1 = 'AV1',\n VP9 = 'VP9',\n VP8 = 'VP8',\n AVC = 'AVC'\n}\n\nexport enum AUDIO_CODEC {\n AAC = 'AAC',\n AC3 = 'AC3',\n E_AC3 = 'E_AC3',\n OPUS = 'OPUS'\n}\n\nexport enum VR_INTERACTION_MODE {\n MOTION = 'Motion',\n TOUCH = 'Touch',\n MOTION_WITH_TOUCH = 'MotionWithTouch',\n CARD_BOARD_MOTION = 'CardboardMotion',\n CARD_BOARD_MOTION_WITH_TOUCH = 'CardboardMotionWithTouch'\n}\n\nexport enum TRACK_SELECTION_MODE {\n OFF = 'OFF',\n AUTO = 'AUTO',\n SELECTION = 'SELECTION'\n}\n\nexport enum KALTURA_STREAMER_TYPE {\n APPLE_HTTP = 'applehttp',\n MPEG_DASH = 'mpegdash',\n URL = 'url',\n SMOTH_STREAMING = 'smothstreaming',\n MULTICAST = 'multicast',\n NONE = 'none'\n}\n\nexport enum KALTURA_URL_TYPE {\n PLAYMANIFEST = 'PLAYMANIFEST',\n DIRECT = 'DIRECT'\n}\n\nexport enum KALTURA_PLAYBACK_CONTEXT_TYPE {\n TRAILER = 'TRAILER',\n CATCHUP = 'CATCHUP',\n START_OVER = 'START_OVER',\n PLAYBACK = 'PLAYBACK'\n}\n\nexport enum KALTURA_ASSET_TYPE {\n MEDIA = 'media',\n EPG = 'epg',\n RECORDING = 'recording'\n}\n\nexport enum KALTURA_LIVE_STREAMING_TYPE {\n CATCHUP = 'catchup',\n START_OVER = 'startOver',\n TRICK_PLAY = 'trickPlay'\n}\n\nexport enum KALTURA_ASSET_REFERENCE_TYPE {\n MEDIA = 'media',\n INTERNAL_EPG = 'epg_internal',\n EXTERNAL_EPG = 'epg_external',\n NPVR = 'npvr'\n}\n\nexport enum MULTICAST_EXTRACTOR_MODE {\n MODE_MULTI_PMT = 'MODE_MULTI_PMT',\n MODE_SINGLE_PMT = 'MODE_SINGLE_PMT',\n MODE_HLS = 'MODE_HLS'\n}\n"],"mappings":";;;;;;IAAYA,W;;;WAAAA,W;EAAAA,W;EAAAA,W;EAAAA,W;GAAAA,W,2BAAAA,W;;IAMAC,Y;;;WAAAA,Y;EAAAA,Y;EAAAA,Y;EAAAA,Y;EAAAA,Y;EAAAA,Y;EAAAA,Y;GAAAA,Y,4BAAAA,Y;;IASAC,gB;;;WAAAA,gB;EAAAA,gB;EAAAA,gB;EAAAA,gB;GAAAA,gB,gCAAAA,gB;;IAMAC,U;;;WAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;GAAAA,U,0BAAAA,U;;IAQAC,a;;;WAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;GAAAA,a,6BAAAA,a;;IASAC,mB;;;WAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;GAAAA,mB,mCAAAA,mB;;IAQAC,Q;AAMZ;AACA;AACA;AACA;;;;WATYA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;GAAAA,Q,wBAAAA,Q;;IAUAC,c;;;WAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;GAAAA,c,8BAAAA,c;;IA0BAC,mB;;;WAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;GAAAA,mB,mCAAAA,mB;;IAMAC,W;;;WAAAA,W;EAAAA,W;EAAAA,W;EAAAA,W;EAAAA,W;EAAAA,W;GAAAA,W,2BAAAA,W;;IAQAC,W;;;WAAAA,W;EAAAA,W;EAAAA,W;EAAAA,W;EAAAA,W;GAAAA,W,2BAAAA,W;;IAOAC,mB;;;WAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;GAAAA,mB,mCAAAA,mB;;IAQAC,oB;;;WAAAA,oB;EAAAA,oB;EAAAA,oB;EAAAA,oB;GAAAA,oB,oCAAAA,oB;;IAMAC,qB;;;WAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;GAAAA,qB,qCAAAA,qB;;IASAC,gB;;;WAAAA,gB;EAAAA,gB;EAAAA,gB;GAAAA,gB,gCAAAA,gB;;IAKAC,6B;;;WAAAA,6B;EAAAA,6B;EAAAA,6B;EAAAA,6B;EAAAA,6B;GAAAA,6B,6CAAAA,6B;;IAOAC,kB;;;WAAAA,kB;EAAAA,kB;EAAAA,kB;EAAAA,kB;GAAAA,kB,kCAAAA,kB;;IAMAC,2B;;;WAAAA,2B;EAAAA,2B;EAAAA,2B;EAAAA,2B;GAAAA,2B,2CAAAA,2B;;IAMAC,4B;;;WAAAA,4B;EAAAA,4B;EAAAA,4B;EAAAA,4B;EAAAA,4B;GAAAA,4B,4CAAAA,4B;;IAOAC,wB;;;WAAAA,wB;EAAAA,wB;EAAAA,wB;EAAAA,wB;GAAAA,wB,wCAAAA,wB"} \ No newline at end of file +{"version":3,"names":["PLAYER_TYPE","MEDIA_FORMAT","MEDIA_ENTRY_TYPE","DRM_SCHEME","PLAYER_PLUGIN","PLAYER_RESIZE_MODES","WAKEMODE","SUBTITLE_STYLE","SUBTITLE_PREFERENCE","VIDEO_CODEC","AUDIO_CODEC","VR_INTERACTION_MODE","TRACK_SELECTION_MODE","KALTURA_STREAMER_TYPE","KALTURA_URL_TYPE","KALTURA_PLAYBACK_CONTEXT_TYPE","KALTURA_ASSET_TYPE","KALTURA_LIVE_STREAMING_TYPE","KALTURA_ASSET_REFERENCE_TYPE","MULTICAST_EXTRACTOR_MODE","IMA_AD_TAG_TYPE","IMADAI_STREAM_FORMAT","LOG_LEVEL"],"sources":["consts.tsx"],"sourcesContent":["export enum PLAYER_TYPE {\n OVP = 'ovp',\n OTT = 'ott',\n BASIC = 'basic'\n}\n\nexport enum MEDIA_FORMAT {\n DASH = 'dash',\n HLS = 'hls',\n WVM = 'wvm',\n MP4 = 'mp4',\n MP3 = 'mp3',\n UDP = 'udp'\n}\n\nexport enum MEDIA_ENTRY_TYPE {\n VOD = 'Vod',\n LIVE = 'Live',\n DVRLIVE = 'DvrLive'\n}\n\nexport enum DRM_SCHEME {\n WIDEVINE_CENC = 'WidevineCENC',\n PLAYREADY_CENC = 'PlayReadyCENC',\n WIDEVINE_CLASSIC = 'WidevineClassic',\n PLAYREADY_CLASSIC = 'PlayReadyClassic',\n FAIRPLAY = 'FairPlay'\n}\n\nexport enum PLAYER_PLUGIN {\n IMA = 'ima',\n IMADAI = 'imadai',\n YOUBORA = 'youbora',\n KAVA = 'kava',\n OTT_ANALYTICS = 'ottAnalytics',\n BROADPEAK = 'broadpeak'\n}\n\nexport enum PLAYER_RESIZE_MODES {\n FIT = 'fit',\n FIXED_WIDTH = 'fixedWidth',\n FIXED_HEIGHT = 'fixedHeight',\n FILL = 'fill',\n ZOOM = 'zoom'\n}\n\nexport enum WAKEMODE {\n NONE = 'NONE',\n LOCAL = 'LOCAL',\n NETWORK = 'NETWORK'\n}\n\n/**\n * Subtitle Style Settings helper\n * constants\n */\nexport enum SUBTITLE_STYLE {\n EDGE_TYPE_NONE = 'EDGE_TYPE_NONE',\n EDGE_TYPE_OUTLINE = 'EDGE_TYPE_OUTLINE',\n EDGE_TYPE_DROP_SHADOW = 'EDGE_TYPE_DROP_SHADOW',\n EDGE_TYPE_RAISED = 'EDGE_TYPE_RAISED',\n EDGE_TYPE_DEPRESSED = 'EDGE_TYPE_DEPRESSED',\n FRACTION_50 = 'SUBTITLE_FRACTION_50',\n FRACTION_75 = 'SUBTITLE_FRACTION_75',\n FRACTION_100 = 'SUBTITLE_FRACTION_100',\n FRACTION_125 = 'SUBTITLE_FRACTION_125',\n FRACTION_150 = 'SUBTITLE_FRACTION_150',\n FRACTION_200 = 'SUBTITLE_FRACTION_200',\n TYPEFACE_DEFAULT = 'DEFAULT',\n TYPEFACE_DEFAULT_BOLD = 'DEFAULT_BOLD',\n TYPEFACE_MONOSPACE = 'MONOSPACE',\n TYPEFACE_SERIF = 'SERIF',\n TYPEFACE_SANS_SERIF = 'SANS_SERIF',\n TYPEFACE_STYLE_NORMAL = 'NORMAL',\n TYPEFACE_STYLE_BOLD = 'BOLD',\n TYPEFACE_STYLE_ITALIC = 'ITALIC',\n TYPEFACE_STYLE_BOLD_ITALIC = 'BOLD_ITALIC',\n HORIZONTAL_ALIGNMENT_NORMAL = 'ALIGN_NORMAL',\n HORIZONTAL_ALIGNMENT_CENTER = 'ALIGN_CENTER',\n HORIZONTAL_ALIGNMENT_OPPOSITE = 'ALIGN_OPPOSITE'\n}\n\nexport enum SUBTITLE_PREFERENCE {\n OFF = 'OFF',\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL'\n}\n\nexport enum VIDEO_CODEC {\n HEVC = 'HEVC',\n AV1 = 'AV1',\n VP9 = 'VP9',\n VP8 = 'VP8',\n AVC = 'AVC'\n}\n\nexport enum AUDIO_CODEC {\n AAC = 'AAC',\n AC3 = 'AC3',\n E_AC3 = 'E_AC3',\n OPUS = 'OPUS'\n}\n\nexport enum VR_INTERACTION_MODE {\n MOTION = 'Motion',\n TOUCH = 'Touch',\n MOTION_WITH_TOUCH = 'MotionWithTouch',\n CARD_BOARD_MOTION = 'CardboardMotion',\n CARD_BOARD_MOTION_WITH_TOUCH = 'CardboardMotionWithTouch'\n}\n\nexport enum TRACK_SELECTION_MODE {\n OFF = 'OFF',\n AUTO = 'AUTO',\n SELECTION = 'SELECTION'\n}\n\nexport enum KALTURA_STREAMER_TYPE {\n APPLE_HTTP = 'applehttp',\n MPEG_DASH = 'mpegdash',\n URL = 'url',\n SMOTH_STREAMING = 'smothstreaming',\n MULTICAST = 'multicast',\n NONE = 'none'\n}\n\nexport enum KALTURA_URL_TYPE {\n PLAYMANIFEST = 'PLAYMANIFEST',\n DIRECT = 'DIRECT'\n}\n\nexport enum KALTURA_PLAYBACK_CONTEXT_TYPE {\n TRAILER = 'TRAILER',\n CATCHUP = 'CATCHUP',\n START_OVER = 'START_OVER',\n PLAYBACK = 'PLAYBACK'\n}\n\nexport enum KALTURA_ASSET_TYPE {\n MEDIA = 'media',\n EPG = 'epg',\n RECORDING = 'recording'\n}\n\nexport enum KALTURA_LIVE_STREAMING_TYPE {\n CATCHUP = 'catchup',\n START_OVER = 'startOver',\n TRICK_PLAY = 'trickPlay'\n}\n\nexport enum KALTURA_ASSET_REFERENCE_TYPE {\n MEDIA = 'media',\n INTERNAL_EPG = 'epg_internal',\n EXTERNAL_EPG = 'epg_external',\n NPVR = 'npvr'\n}\n\nexport enum MULTICAST_EXTRACTOR_MODE {\n MODE_MULTI_PMT = 'MODE_MULTI_PMT',\n MODE_SINGLE_PMT = 'MODE_SINGLE_PMT',\n MODE_HLS = 'MODE_HLS'\n}\n\nexport enum IMA_AD_TAG_TYPE {\n VMAP = \"VMAP\",\n VAST = \"VAST\"\n}\n\nexport enum IMADAI_STREAM_FORMAT {\n DASH = \"DASH\",\n HLS = \"HLS\"\n}\n\nexport enum LOG_LEVEL {\n VERBOSE = \"VERBOSE\",\n DEBUG = \"DEBUG\",\n WARN = \"WARN\",\n INFO = \"INFO\",\n ERROR = \"ERROR\",\n OFF = \"OFF\"\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/lib/commonjs/events/AdEvents.js b/lib/commonjs/events/AdEvents.js index 3be13a2..a539f70 100644 --- a/lib/commonjs/events/AdEvents.js +++ b/lib/commonjs/events/AdEvents.js @@ -36,7 +36,7 @@ const AdEvents = { AD_BUFFER_START: 'adBufferStart', AD_BUFFER_END: 'adBufferEnd', AD_PLAYBACK_INFO_UPDATED: 'adPlaybackInfoUpdated', - ERROR: 'error', + ERROR: 'adError', DAI_SOURCE_SELECTED: 'daiSourceSelected', AD_WATERFALLING: 'adWaterFalling', AD_WATERFALLING_FAILED: 'adWaterFallingFailed' diff --git a/lib/commonjs/events/AdEvents.js.map b/lib/commonjs/events/AdEvents.js.map index 6158189..204f470 100644 --- a/lib/commonjs/events/AdEvents.js.map +++ b/lib/commonjs/events/AdEvents.js.map @@ -1 +1 @@ -{"version":3,"names":["AdEvents","AD_REQUESTED","AD_FIRST_PLAY","STARTED","PAUSED","RESUMED","COMPLETED","FIRST_QUARTILE","MIDPOINT","THIRD_QUARTILE","SKIPPED","SKIPPABLE_STATE_CHANGED","CLICKED","TAPPED","ICON_FALLBACK_IMAGE_CLOSED","ICON_TAPPED","AD_BREAK_READY","AD_PROGRESS","AD_BREAK_STARTED","AD_BREAK_ENDED","AD_BREAK_FETCH_ERROR","AD_BREAK_IGNORED","CUEPOINTS_CHANGED","PLAY_HEAD_CHANGED","LOADED","CONTENT_PAUSE_REQUESTED","CONTENT_RESUME_REQUESTED","ALL_ADS_COMPLETED","AD_BUFFER_START","AD_BUFFER_END","AD_PLAYBACK_INFO_UPDATED","ERROR","DAI_SOURCE_SELECTED","AD_WATERFALLING","AD_WATERFALLING_FAILED"],"sources":["AdEvents.tsx"],"sourcesContent":["export const AdEvents = {\n // TODO: Generate it using some script\n AD_REQUESTED: 'adRequested',\n AD_FIRST_PLAY: 'adFirstPlay',\n STARTED: 'started',\n PAUSED: 'paused',\n RESUMED: 'resumed',\n COMPLETED: 'completed',\n FIRST_QUARTILE: 'firstQuartile',\n MIDPOINT: 'midpoint',\n THIRD_QUARTILE: 'thirdQuartile',\n SKIPPED: 'skipped',\n SKIPPABLE_STATE_CHANGED: 'skippableStateChanged',\n CLICKED: 'adClickedEvent',\n TAPPED: 'tapped',\n ICON_FALLBACK_IMAGE_CLOSED: 'iconFallbackImageClosed',\n ICON_TAPPED: 'iconTapped',\n AD_BREAK_READY: 'adBreakReady',\n AD_PROGRESS: 'adProgress',\n AD_BREAK_STARTED: 'adBreakStarted',\n AD_BREAK_ENDED: 'adBreakEnded',\n AD_BREAK_FETCH_ERROR: 'adBreakFetchError',\n AD_BREAK_IGNORED: 'adBreakIgnored',\n CUEPOINTS_CHANGED: 'cuepointsChanged',\n PLAY_HEAD_CHANGED: 'playHeadChanged',\n LOADED: 'loaded',\n CONTENT_PAUSE_REQUESTED: 'contentPauseRequested',\n CONTENT_RESUME_REQUESTED: 'contentResumeRequested',\n ALL_ADS_COMPLETED: 'allAdsCompleted',\n AD_BUFFER_START: 'adBufferStart',\n AD_BUFFER_END: 'adBufferEnd',\n AD_PLAYBACK_INFO_UPDATED: 'adPlaybackInfoUpdated',\n ERROR: 'error',\n DAI_SOURCE_SELECTED: 'daiSourceSelected',\n AD_WATERFALLING: 'adWaterFalling',\n AD_WATERFALLING_FAILED: 'adWaterFallingFailed'\n};\n"],"mappings":";;;;;;AAAO,MAAMA,QAAQ,GAAG;EACtB;EACAC,YAAY,EAAE,aAFQ;EAGtBC,aAAa,EAAE,aAHO;EAItBC,OAAO,EAAE,SAJa;EAKtBC,MAAM,EAAE,QALc;EAMtBC,OAAO,EAAE,SANa;EAOtBC,SAAS,EAAE,WAPW;EAQtBC,cAAc,EAAE,eARM;EAStBC,QAAQ,EAAE,UATY;EAUtBC,cAAc,EAAE,eAVM;EAWtBC,OAAO,EAAE,SAXa;EAYtBC,uBAAuB,EAAE,uBAZH;EAatBC,OAAO,EAAE,gBAba;EActBC,MAAM,EAAE,QAdc;EAetBC,0BAA0B,EAAE,yBAfN;EAgBtBC,WAAW,EAAE,YAhBS;EAiBtBC,cAAc,EAAE,cAjBM;EAkBtBC,WAAW,EAAE,YAlBS;EAmBtBC,gBAAgB,EAAE,gBAnBI;EAoBtBC,cAAc,EAAE,cApBM;EAqBtBC,oBAAoB,EAAE,mBArBA;EAsBtBC,gBAAgB,EAAE,gBAtBI;EAuBtBC,iBAAiB,EAAE,kBAvBG;EAwBtBC,iBAAiB,EAAE,iBAxBG;EAyBtBC,MAAM,EAAE,QAzBc;EA0BtBC,uBAAuB,EAAE,uBA1BH;EA2BtBC,wBAAwB,EAAE,wBA3BJ;EA4BtBC,iBAAiB,EAAE,iBA5BG;EA6BtBC,eAAe,EAAE,eA7BK;EA8BtBC,aAAa,EAAE,aA9BO;EA+BtBC,wBAAwB,EAAE,uBA/BJ;EAgCtBC,KAAK,EAAE,OAhCe;EAiCtBC,mBAAmB,EAAE,mBAjCC;EAkCtBC,eAAe,EAAE,gBAlCK;EAmCtBC,sBAAsB,EAAE;AAnCF,CAAjB"} \ No newline at end of file +{"version":3,"names":["AdEvents","AD_REQUESTED","AD_FIRST_PLAY","STARTED","PAUSED","RESUMED","COMPLETED","FIRST_QUARTILE","MIDPOINT","THIRD_QUARTILE","SKIPPED","SKIPPABLE_STATE_CHANGED","CLICKED","TAPPED","ICON_FALLBACK_IMAGE_CLOSED","ICON_TAPPED","AD_BREAK_READY","AD_PROGRESS","AD_BREAK_STARTED","AD_BREAK_ENDED","AD_BREAK_FETCH_ERROR","AD_BREAK_IGNORED","CUEPOINTS_CHANGED","PLAY_HEAD_CHANGED","LOADED","CONTENT_PAUSE_REQUESTED","CONTENT_RESUME_REQUESTED","ALL_ADS_COMPLETED","AD_BUFFER_START","AD_BUFFER_END","AD_PLAYBACK_INFO_UPDATED","ERROR","DAI_SOURCE_SELECTED","AD_WATERFALLING","AD_WATERFALLING_FAILED"],"sources":["AdEvents.tsx"],"sourcesContent":["export const AdEvents = {\n // TODO: Generate it using some script\n AD_REQUESTED: 'adRequested',\n AD_FIRST_PLAY: 'adFirstPlay',\n STARTED: 'started',\n PAUSED: 'paused',\n RESUMED: 'resumed',\n COMPLETED: 'completed',\n FIRST_QUARTILE: 'firstQuartile',\n MIDPOINT: 'midpoint',\n THIRD_QUARTILE: 'thirdQuartile',\n SKIPPED: 'skipped',\n SKIPPABLE_STATE_CHANGED: 'skippableStateChanged',\n CLICKED: 'adClickedEvent',\n TAPPED: 'tapped',\n ICON_FALLBACK_IMAGE_CLOSED: 'iconFallbackImageClosed',\n ICON_TAPPED: 'iconTapped',\n AD_BREAK_READY: 'adBreakReady',\n AD_PROGRESS: 'adProgress',\n AD_BREAK_STARTED: 'adBreakStarted',\n AD_BREAK_ENDED: 'adBreakEnded',\n AD_BREAK_FETCH_ERROR: 'adBreakFetchError',\n AD_BREAK_IGNORED: 'adBreakIgnored',\n CUEPOINTS_CHANGED: 'cuepointsChanged',\n PLAY_HEAD_CHANGED: 'playHeadChanged',\n LOADED: 'loaded',\n CONTENT_PAUSE_REQUESTED: 'contentPauseRequested',\n CONTENT_RESUME_REQUESTED: 'contentResumeRequested',\n ALL_ADS_COMPLETED: 'allAdsCompleted',\n AD_BUFFER_START: 'adBufferStart',\n AD_BUFFER_END: 'adBufferEnd',\n AD_PLAYBACK_INFO_UPDATED: 'adPlaybackInfoUpdated',\n ERROR: 'adError',\n DAI_SOURCE_SELECTED: 'daiSourceSelected',\n AD_WATERFALLING: 'adWaterFalling',\n AD_WATERFALLING_FAILED: 'adWaterFallingFailed'\n};\n"],"mappings":";;;;;;AAAO,MAAMA,QAAQ,GAAG;EACtB;EACAC,YAAY,EAAE,aAAa;EAC3BC,aAAa,EAAE,aAAa;EAC5BC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,WAAW;EACtBC,cAAc,EAAE,eAAe;EAC/BC,QAAQ,EAAE,UAAU;EACpBC,cAAc,EAAE,eAAe;EAC/BC,OAAO,EAAE,SAAS;EAClBC,uBAAuB,EAAE,uBAAuB;EAChDC,OAAO,EAAE,gBAAgB;EACzBC,MAAM,EAAE,QAAQ;EAChBC,0BAA0B,EAAE,yBAAyB;EACrDC,WAAW,EAAE,YAAY;EACzBC,cAAc,EAAE,cAAc;EAC9BC,WAAW,EAAE,YAAY;EACzBC,gBAAgB,EAAE,gBAAgB;EAClCC,cAAc,EAAE,cAAc;EAC9BC,oBAAoB,EAAE,mBAAmB;EACzCC,gBAAgB,EAAE,gBAAgB;EAClCC,iBAAiB,EAAE,kBAAkB;EACrCC,iBAAiB,EAAE,iBAAiB;EACpCC,MAAM,EAAE,QAAQ;EAChBC,uBAAuB,EAAE,uBAAuB;EAChDC,wBAAwB,EAAE,wBAAwB;EAClDC,iBAAiB,EAAE,iBAAiB;EACpCC,eAAe,EAAE,eAAe;EAChCC,aAAa,EAAE,aAAa;EAC5BC,wBAAwB,EAAE,uBAAuB;EACjDC,KAAK,EAAE,SAAS;EAChBC,mBAAmB,EAAE,mBAAmB;EACxCC,eAAe,EAAE,gBAAgB;EACjCC,sBAAsB,EAAE;AAC1B,CAAC;AAAC"} \ No newline at end of file diff --git a/lib/commonjs/events/AnalyticsEvents.js b/lib/commonjs/events/AnalyticsEvents.js index 0cb3b60..05897c4 100644 --- a/lib/commonjs/events/AnalyticsEvents.js +++ b/lib/commonjs/events/AnalyticsEvents.js @@ -7,7 +7,9 @@ exports.AnalyticsEvents = void 0; const AnalyticsEvents = { PHOENIX_CONCURRENCY_ERROR: 'concurrencyError', PHOENIX_BOOKMARK_ERROR: 'bookmarkError', - PHOENIX_ERROR: 'error' + PHOENIX_ERROR: 'error', + SOURCE_URL_SWITCHED: "sourceUrlSwitched", + CDN_SWITCHED: "cdnSwitched" }; exports.AnalyticsEvents = AnalyticsEvents; //# sourceMappingURL=AnalyticsEvents.js.map \ No newline at end of file diff --git a/lib/commonjs/events/AnalyticsEvents.js.map b/lib/commonjs/events/AnalyticsEvents.js.map index 4596f73..682d7a1 100644 --- a/lib/commonjs/events/AnalyticsEvents.js.map +++ b/lib/commonjs/events/AnalyticsEvents.js.map @@ -1 +1 @@ -{"version":3,"names":["AnalyticsEvents","PHOENIX_CONCURRENCY_ERROR","PHOENIX_BOOKMARK_ERROR","PHOENIX_ERROR"],"sources":["AnalyticsEvents.tsx"],"sourcesContent":["export const AnalyticsEvents = {\n PHOENIX_CONCURRENCY_ERROR: 'concurrencyError',\n PHOENIX_BOOKMARK_ERROR: 'bookmarkError',\n PHOENIX_ERROR: 'error'\n};\n"],"mappings":";;;;;;AAAO,MAAMA,eAAe,GAAG;EAC7BC,yBAAyB,EAAE,kBADE;EAE7BC,sBAAsB,EAAE,eAFK;EAG7BC,aAAa,EAAE;AAHc,CAAxB"} \ No newline at end of file +{"version":3,"names":["AnalyticsEvents","PHOENIX_CONCURRENCY_ERROR","PHOENIX_BOOKMARK_ERROR","PHOENIX_ERROR","SOURCE_URL_SWITCHED","CDN_SWITCHED"],"sources":["AnalyticsEvents.tsx"],"sourcesContent":["export const AnalyticsEvents = {\n PHOENIX_CONCURRENCY_ERROR: 'concurrencyError',\n PHOENIX_BOOKMARK_ERROR: 'bookmarkError',\n PHOENIX_ERROR: 'error',\n SOURCE_URL_SWITCHED: \"sourceUrlSwitched\",\n CDN_SWITCHED: \"cdnSwitched\"\n};\n"],"mappings":";;;;;;AAAO,MAAMA,eAAe,GAAG;EAC7BC,yBAAyB,EAAE,kBAAkB;EAC7CC,sBAAsB,EAAE,eAAe;EACvCC,aAAa,EAAE,OAAO;EACtBC,mBAAmB,EAAE,mBAAmB;EACxCC,YAAY,EAAE;AAChB,CAAC;AAAC"} \ No newline at end of file diff --git a/lib/commonjs/events/PlayerEvents.js b/lib/commonjs/events/PlayerEvents.js index 7c5b204..44ff49b 100644 --- a/lib/commonjs/events/PlayerEvents.js +++ b/lib/commonjs/events/PlayerEvents.js @@ -8,6 +8,7 @@ const PlayerEvents = { // TODO: All the "" string needs to be added on Native android layer // TODO: Generate it using some script // TODO: Add pending events + STATE_CHANGED: 'stateChanged', CAN_PLAY: 'canPlay', // Sent when enough data is available that the media can be played, at least for a couple of frames. This corresponds to the HAVE_ENOUGH_DATA readyState. diff --git a/lib/commonjs/events/PlayerEvents.js.map b/lib/commonjs/events/PlayerEvents.js.map index 820b921..2a66bf8 100644 --- a/lib/commonjs/events/PlayerEvents.js.map +++ b/lib/commonjs/events/PlayerEvents.js.map @@ -1 +1 @@ -{"version":3,"names":["PlayerEvents","STATE_CHANGED","CAN_PLAY","DURATION_CHANGE","ENDED","ERROR","LOADED_METADATA","PAUSE","PLAY","PLAYING","SEEKED","SEEKING","TRACKS_AVAILABLE","REPLAY","PLAYBACK_INFO_UPDATED","VOLUME_CHANGED","STOPPED","METADATA_AVAILABLE","EVENT_STREAM_CHANGED","SOURCE_SELECTED","PLAYHEAD_UPDATED","VIDEO_TRACK_CHANGED","AUDIO_TRACK_CHANGED","TEXT_TRACK_CHANGED","IMAGE_TRACK_CHANGED","PLAYBACK_RATE_CHANGED","CONNECTION_ACQUIRED","VIDEO_FRAMES_DROPPED","OUTPUT_BUFFER_COUNT_UPDATE","BYTES_LOADED","SUBTITLE_STYLE_CHANGED","ASPECT_RATIO_RESIZE_MODE_CHANGED","LOAD_TIME_RANGES","DRM_INITIALIZED"],"sources":["PlayerEvents.tsx"],"sourcesContent":["export const PlayerEvents = {\n // TODO: All the \"\" string needs to be added on Native android layer\n // TODO: Generate it using some script\n // TODO: Add pending events\n\n STATE_CHANGED: 'stateChanged',\n CAN_PLAY: 'canPlay', // Sent when enough data is available that the media can be played, at least for a couple of frames. This corresponds to the HAVE_ENOUGH_DATA readyState.\n DURATION_CHANGE: 'durationChanged', // The metadata has loaded or changed, indicating a change in duration of the media. This is sent, for example, when the media has loaded enough that the duration is known.\n ENDED: 'ended', // Sent when playback completes.\n ERROR: 'error', // Sent when an error occurs. The element's error attribute contains more information. See Error handling for details.\n LOADED_METADATA: 'loadedMetadata', // The media's metadata has finished loading; all attributes now contain as much useful information as they're going to.\n PAUSE: 'pause', // Sent when playback is paused.\n PLAY: 'play', // Sent when playback of the media starts after having been paused; that is, when playback is resumed after a prior pause event.\n PLAYING: 'playing', // Sent when the media begins to play (either for the first time, after having been paused, or after ending and then restarting).\n SEEKED: 'seeked', // Sent when a seek operation completes.\n SEEKING: 'seeking', // Sent when a seek operation begins.\n TRACKS_AVAILABLE: 'tracksAvailable', // Sent when track info is available.\n REPLAY: 'replay', //Sent when replay happened.\n PLAYBACK_INFO_UPDATED: 'playbackInfoUpdated', // Sent event that notify about changes in the playback parameters. When bitrate of the video or audio track changes or new media loaded. Holds the PlaybackInfo.java object with relevant data.\n VOLUME_CHANGED: 'volumeChanged', // Sent when volume is changed.\n STOPPED: 'stopped', // sent when stop player api is called\n METADATA_AVAILABLE: 'metadataAvailable', // Sent when there is metadata available for this entry.\n EVENT_STREAM_CHANGED: 'eventStreamChanged', //Send event streams received from manifest\n SOURCE_SELECTED: 'sourceSelected', // Sent when the source was selected.\n PLAYHEAD_UPDATED: 'playheadUpdated', //Send player position every 100 Milisec\n VIDEO_TRACK_CHANGED: 'videoTrackChanged',\n AUDIO_TRACK_CHANGED: 'audioTrackChanged',\n TEXT_TRACK_CHANGED: 'textTrackChanged',\n IMAGE_TRACK_CHANGED: 'imageTrackChanged',\n PLAYBACK_RATE_CHANGED: 'playbackRateChanged',\n CONNECTION_ACQUIRED: 'connectionAcquired',\n VIDEO_FRAMES_DROPPED: 'videoFramesDropped', // Video frames were dropped, see PlayerEvent.VideoFramesDropped\n OUTPUT_BUFFER_COUNT_UPDATE: 'outputBufferCountUpdate',\n BYTES_LOADED: 'bytesLoaded', // Bytes were downloaded from the network\n SUBTITLE_STYLE_CHANGED: 'subtitlesStyleChanged', // Subtitle style is changed.\n ASPECT_RATIO_RESIZE_MODE_CHANGED: 'surfaceAspectRationSizeModeChanged', //Send when updating the Surface Vide Aspect Ratio size mode.\n LOAD_TIME_RANGES: 'loadedTimeRanges',\n DRM_INITIALIZED: 'drmInitialized'\n};\n"],"mappings":";;;;;;AAAO,MAAMA,YAAY,GAAG;EAC1B;EACA;EACA;EAEAC,aAAa,EAAE,cALW;EAM1BC,QAAQ,EAAE,SANgB;EAML;EACrBC,eAAe,EAAE,iBAPS;EAOU;EACpCC,KAAK,EAAE,OARmB;EAQV;EAChBC,KAAK,EAAE,OATmB;EASV;EAChBC,eAAe,EAAE,gBAVS;EAUS;EACnCC,KAAK,EAAE,OAXmB;EAWV;EAChBC,IAAI,EAAE,MAZoB;EAYZ;EACdC,OAAO,EAAE,SAbiB;EAaN;EACpBC,MAAM,EAAE,QAdkB;EAcR;EAClBC,OAAO,EAAE,SAfiB;EAeN;EACpBC,gBAAgB,EAAE,iBAhBQ;EAgBW;EACrCC,MAAM,EAAE,QAjBkB;EAiBR;EAClBC,qBAAqB,EAAE,qBAlBG;EAkBoB;EAC9CC,cAAc,EAAE,eAnBU;EAmBO;EACjCC,OAAO,EAAE,SApBiB;EAoBN;EACpBC,kBAAkB,EAAE,mBArBM;EAqBe;EACzCC,oBAAoB,EAAE,oBAtBI;EAsBkB;EAC5CC,eAAe,EAAE,gBAvBS;EAuBS;EACnCC,gBAAgB,EAAE,iBAxBQ;EAwBW;EACrCC,mBAAmB,EAAE,mBAzBK;EA0B1BC,mBAAmB,EAAE,mBA1BK;EA2B1BC,kBAAkB,EAAE,kBA3BM;EA4B1BC,mBAAmB,EAAE,mBA5BK;EA6B1BC,qBAAqB,EAAE,qBA7BG;EA8B1BC,mBAAmB,EAAE,oBA9BK;EA+B1BC,oBAAoB,EAAE,oBA/BI;EA+BkB;EAC5CC,0BAA0B,EAAE,yBAhCF;EAiC1BC,YAAY,EAAE,aAjCY;EAiCG;EAC7BC,sBAAsB,EAAE,uBAlCE;EAkCuB;EACjDC,gCAAgC,EAAE,oCAnCR;EAmC8C;EACxEC,gBAAgB,EAAE,kBApCQ;EAqC1BC,eAAe,EAAE;AArCS,CAArB"} \ No newline at end of file +{"version":3,"names":["PlayerEvents","STATE_CHANGED","CAN_PLAY","DURATION_CHANGE","ENDED","ERROR","LOADED_METADATA","PAUSE","PLAY","PLAYING","SEEKED","SEEKING","TRACKS_AVAILABLE","REPLAY","PLAYBACK_INFO_UPDATED","VOLUME_CHANGED","STOPPED","METADATA_AVAILABLE","EVENT_STREAM_CHANGED","SOURCE_SELECTED","PLAYHEAD_UPDATED","VIDEO_TRACK_CHANGED","AUDIO_TRACK_CHANGED","TEXT_TRACK_CHANGED","IMAGE_TRACK_CHANGED","PLAYBACK_RATE_CHANGED","CONNECTION_ACQUIRED","VIDEO_FRAMES_DROPPED","OUTPUT_BUFFER_COUNT_UPDATE","BYTES_LOADED","SUBTITLE_STYLE_CHANGED","ASPECT_RATIO_RESIZE_MODE_CHANGED","LOAD_TIME_RANGES","DRM_INITIALIZED"],"sources":["PlayerEvents.tsx"],"sourcesContent":["export const PlayerEvents = {\n // TODO: All the \"\" string needs to be added on Native android layer\n // TODO: Generate it using some script\n // TODO: Add pending events\n\n STATE_CHANGED: 'stateChanged',\n CAN_PLAY: 'canPlay', // Sent when enough data is available that the media can be played, at least for a couple of frames. This corresponds to the HAVE_ENOUGH_DATA readyState.\n DURATION_CHANGE: 'durationChanged', // The metadata has loaded or changed, indicating a change in duration of the media. This is sent, for example, when the media has loaded enough that the duration is known.\n ENDED: 'ended', // Sent when playback completes.\n ERROR: 'error', // Sent when an error occurs. The element's error attribute contains more information. See Error handling for details.\n LOADED_METADATA: 'loadedMetadata', // The media's metadata has finished loading; all attributes now contain as much useful information as they're going to.\n PAUSE: 'pause', // Sent when playback is paused.\n PLAY: 'play', // Sent when playback of the media starts after having been paused; that is, when playback is resumed after a prior pause event.\n PLAYING: 'playing', // Sent when the media begins to play (either for the first time, after having been paused, or after ending and then restarting).\n SEEKED: 'seeked', // Sent when a seek operation completes.\n SEEKING: 'seeking', // Sent when a seek operation begins.\n TRACKS_AVAILABLE: 'tracksAvailable', // Sent when track info is available.\n REPLAY: 'replay', //Sent when replay happened.\n PLAYBACK_INFO_UPDATED: 'playbackInfoUpdated', // Sent event that notify about changes in the playback parameters. When bitrate of the video or audio track changes or new media loaded. Holds the PlaybackInfo.java object with relevant data.\n VOLUME_CHANGED: 'volumeChanged', // Sent when volume is changed.\n STOPPED: 'stopped', // sent when stop player api is called\n METADATA_AVAILABLE: 'metadataAvailable', // Sent when there is metadata available for this entry.\n EVENT_STREAM_CHANGED: 'eventStreamChanged', //Send event streams received from manifest\n SOURCE_SELECTED: 'sourceSelected', // Sent when the source was selected.\n PLAYHEAD_UPDATED: 'playheadUpdated', //Send player position every 100 Milisec\n VIDEO_TRACK_CHANGED: 'videoTrackChanged',\n AUDIO_TRACK_CHANGED: 'audioTrackChanged',\n TEXT_TRACK_CHANGED: 'textTrackChanged',\n IMAGE_TRACK_CHANGED: 'imageTrackChanged',\n PLAYBACK_RATE_CHANGED: 'playbackRateChanged',\n CONNECTION_ACQUIRED: 'connectionAcquired',\n VIDEO_FRAMES_DROPPED: 'videoFramesDropped', // Video frames were dropped, see PlayerEvent.VideoFramesDropped\n OUTPUT_BUFFER_COUNT_UPDATE: 'outputBufferCountUpdate',\n BYTES_LOADED: 'bytesLoaded', // Bytes were downloaded from the network\n SUBTITLE_STYLE_CHANGED: 'subtitlesStyleChanged', // Subtitle style is changed.\n ASPECT_RATIO_RESIZE_MODE_CHANGED: 'surfaceAspectRationSizeModeChanged', //Send when updating the Surface Vide Aspect Ratio size mode.\n LOAD_TIME_RANGES: 'loadedTimeRanges',\n DRM_INITIALIZED: 'drmInitialized'\n};\n"],"mappings":";;;;;;AAAO,MAAMA,YAAY,GAAG;EAC1B;EACA;EACA;;EAEAC,aAAa,EAAE,cAAc;EAC7BC,QAAQ,EAAE,SAAS;EAAE;EACrBC,eAAe,EAAE,iBAAiB;EAAE;EACpCC,KAAK,EAAE,OAAO;EAAE;EAChBC,KAAK,EAAE,OAAO;EAAE;EAChBC,eAAe,EAAE,gBAAgB;EAAE;EACnCC,KAAK,EAAE,OAAO;EAAE;EAChBC,IAAI,EAAE,MAAM;EAAE;EACdC,OAAO,EAAE,SAAS;EAAE;EACpBC,MAAM,EAAE,QAAQ;EAAE;EAClBC,OAAO,EAAE,SAAS;EAAE;EACpBC,gBAAgB,EAAE,iBAAiB;EAAE;EACrCC,MAAM,EAAE,QAAQ;EAAE;EAClBC,qBAAqB,EAAE,qBAAqB;EAAE;EAC9CC,cAAc,EAAE,eAAe;EAAE;EACjCC,OAAO,EAAE,SAAS;EAAE;EACpBC,kBAAkB,EAAE,mBAAmB;EAAE;EACzCC,oBAAoB,EAAE,oBAAoB;EAAE;EAC5CC,eAAe,EAAE,gBAAgB;EAAE;EACnCC,gBAAgB,EAAE,iBAAiB;EAAE;EACrCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,mBAAmB;EACxCC,kBAAkB,EAAE,kBAAkB;EACtCC,mBAAmB,EAAE,mBAAmB;EACxCC,qBAAqB,EAAE,qBAAqB;EAC5CC,mBAAmB,EAAE,oBAAoB;EACzCC,oBAAoB,EAAE,oBAAoB;EAAE;EAC5CC,0BAA0B,EAAE,yBAAyB;EACrDC,YAAY,EAAE,aAAa;EAAE;EAC7BC,sBAAsB,EAAE,uBAAuB;EAAE;EACjDC,gCAAgC,EAAE,oCAAoC;EAAE;EACxEC,gBAAgB,EAAE,kBAAkB;EACpCC,eAAe,EAAE;AACnB,CAAC;AAAC"} \ No newline at end of file diff --git a/lib/commonjs/index.js b/lib/commonjs/index.js index 2ee143d..82932d2 100644 --- a/lib/commonjs/index.js +++ b/lib/commonjs/index.js @@ -28,6 +28,12 @@ Object.defineProperty(exports, "DRM_SCHEME", { } }); exports.KalturaPlayerAPI = exports.KalturaPlayer = void 0; +Object.defineProperty(exports, "LOG_LEVEL", { + enumerable: true, + get: function () { + return _consts.LOG_LEVEL; + } +}); Object.defineProperty(exports, "MEDIA_ENTRY_TYPE", { enumerable: true, get: function () { @@ -94,286 +100,224 @@ Object.defineProperty(exports, "WAKEMODE", { return _consts.WAKEMODE; } }); - var _reactNative = require("react-native"); - var _react = _interopRequireDefault(require("react")); - var _propTypes = _interopRequireDefault(require("prop-types")); - var _PlayerEvents = require("./events/PlayerEvents"); - var _AdEvents = require("./events/AdEvents"); - var _AnalyticsEvents = require("./events/AnalyticsEvents"); - var _consts = require("./consts"); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - const RNKalturaPlayer = (0, _reactNative.requireNativeComponent)('KalturaPlayerView'); const { KalturaPlayerModule } = _reactNative.NativeModules; const POSITION_UNSET = -1; var debugLogs = false; - class KalturaPlayer extends _react.default.Component { constructor() { super(...arguments); - _defineProperty(this, "nativeComponentRef", void 0); } - componentDidMount() { printConsoleLog('componentDidMount from Library.'); } - componentWillUnmount() { printConsoleLog('componentWillUnmount from Library'); } - render() { return /*#__PURE__*/_react.default.createElement(RNKalturaPlayer, _extends({}, this.props, { ref: nativeRef => this.nativeComponentRef = nativeRef })); } - } - exports.KalturaPlayer = KalturaPlayer; - _defineProperty(KalturaPlayer, "propTypes", void 0); - KalturaPlayer.propTypes = { style: _propTypes.default.object }; - class KalturaPlayerAPI {} - exports.KalturaPlayerAPI = KalturaPlayerAPI; - _defineProperty(KalturaPlayerAPI, "setup", async function (playerType, options) { let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - if (playerType == null) { printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR); return; } - - if (!options) { + if (!options && playerType != _consts.PLAYER_TYPE.BASIC) { printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR); return; } - printConsoleLog('Setting up the Player'); return await setupKalturaPlayer(playerType, options, id); }); - _defineProperty(KalturaPlayerAPI, "loadMedia", async (id, asset) => { - if (!id || !asset) { - printConsoleLog(`loadMedia, invalid id = ${id} or asset = ${asset}`, LogType.ERROR); + if (!id) { + printConsoleLog(`loadMedia, invalid id = ${id}`, LogType.ERROR); return; } - printConsoleLog(`Loading the media. assetId is: ${id} and media asset is: ${asset}`); return await loadMediaKalturaPlayer(id, asset); }); - _defineProperty(KalturaPlayerAPI, "addPlayerView", () => { printConsoleLog('Calling Native method addPlayerView()'); KalturaPlayerModule.addPlayerView(); }); - _defineProperty(KalturaPlayerAPI, "removePlayerView", () => { printConsoleLog('Calling Native method removePlayerView()'); KalturaPlayerModule.removePlayerView(); }); - _defineProperty(KalturaPlayerAPI, "addListeners", () => { printConsoleLog('Calling Native method addListeners()'); KalturaPlayerModule.addKalturaPlayerListeners(); }); - _defineProperty(KalturaPlayerAPI, "removeListeners", () => { printConsoleLog('Calling Native method removeListeners()'); KalturaPlayerModule.removeKalturaPlayerListeners(); }); - _defineProperty(KalturaPlayerAPI, "onApplicationPaused", () => { printConsoleLog('Calling Native method onApplicationPaused()'); KalturaPlayerModule.onApplicationPaused(); }); - _defineProperty(KalturaPlayerAPI, "onApplicationResumed", () => { printConsoleLog('Calling Native method onApplicationResumed()'); KalturaPlayerModule.onApplicationResumed(); }); - _defineProperty(KalturaPlayerAPI, "updatePluginConfigs", configs => { if (!configs) { printConsoleLog(`updatePluginConfig, config is invalid: ${configs}`, LogType.ERROR); return; } - const stringifiedJson = JSON.stringify(configs); printConsoleLog(`Updated Plugin is: ${stringifiedJson}`); KalturaPlayerModule.updatePluginConfigs(stringifiedJson); }); - _defineProperty(KalturaPlayerAPI, "play", () => { printConsoleLog('Calling Native method play()'); KalturaPlayerModule.play(); }); - _defineProperty(KalturaPlayerAPI, "pause", () => { printConsoleLog('Calling Native method pause()'); KalturaPlayerModule.pause(); }); - _defineProperty(KalturaPlayerAPI, "stop", () => { printConsoleLog('Calling Native method stop()'); KalturaPlayerModule.stop(); }); - _defineProperty(KalturaPlayerAPI, "destroy", () => { printConsoleLog('Calling Native method destroy()'); KalturaPlayerModule.destroy(); }); - _defineProperty(KalturaPlayerAPI, "replay", () => { printConsoleLog('Calling Native method replay()'); KalturaPlayerModule.replay(); }); - _defineProperty(KalturaPlayerAPI, "seekTo", position => { printConsoleLog(`Calling Native method seekTo() position is: ${position}`); KalturaPlayerModule.seekTo(position); }); - _defineProperty(KalturaPlayerAPI, "changeTrack", trackId => { if (!trackId) { printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR); return; } - printConsoleLog('Calling Native method changeTrack()'); KalturaPlayerModule.changeTrack(trackId); }); - _defineProperty(KalturaPlayerAPI, "setPlaybackRate", rate => { printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`); KalturaPlayerModule.changePlaybackRate(rate); }); - _defineProperty(KalturaPlayerAPI, "setVolume", vol => { printConsoleLog('Calling Native method setVolume()'); KalturaPlayerModule.setVolume(vol); }); - _defineProperty(KalturaPlayerAPI, "setAutoPlay", isAutoPlay => { printConsoleLog('Calling Native method setAutoPlay()'); KalturaPlayerModule.setAutoplay(isAutoPlay); }); - _defineProperty(KalturaPlayerAPI, "setKS", KS => { if (!KS) { printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR); return; } - printConsoleLog('Calling Native method setKS()'); KalturaPlayerModule.setKS(KS); }); - _defineProperty(KalturaPlayerAPI, "seekToLiveDefaultPosition", () => { printConsoleLog('Calling Native method seekToLiveDefaultPosition()'); KalturaPlayerModule.seekToLiveDefaultPosition(); }); - _defineProperty(KalturaPlayerAPI, "updateSubtitleStyle", subtitleStyle => { if (!subtitleStyle) { printConsoleLog(`subtitleStyle is invalid which is: ${subtitleStyle}`, LogType.ERROR); return; } - printConsoleLog('Calling Native method updateSubtitleStyle()'); KalturaPlayerModule.updateSubtitleStyle(subtitleStyle); }); - _defineProperty(KalturaPlayerAPI, "updateResizeMode", mode => { printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()'); KalturaPlayerModule.updateResizeMode(mode); }); - _defineProperty(KalturaPlayerAPI, "updateAbrSettings", abrSettings => { if (!abrSettings) { printConsoleLog(`abrSettings is invalid which is: ${abrSettings}`, LogType.ERROR); return; } - printConsoleLog('Calling Native method updateABRSettings()'); KalturaPlayerModule.updateAbrSettings(abrSettings); }); - _defineProperty(KalturaPlayerAPI, "resetAbrSettings", () => { printConsoleLog('Calling Native method resetABRSettings()'); KalturaPlayerModule.resetAbrSettings(); }); - _defineProperty(KalturaPlayerAPI, "updateLowLatencyConfig", lowLatencyConfig => { if (!lowLatencyConfig) { printConsoleLog(`lowLatencyConfig is invalid which is: ${lowLatencyConfig}`, LogType.ERROR); return; } - printConsoleLog('Calling Native method updateLowLatencyConfig()'); KalturaPlayerModule.updateLLConfig(lowLatencyConfig); }); - _defineProperty(KalturaPlayerAPI, "resetLowLatencyConfig", () => { printConsoleLog('Calling Native method resetLowLatencyConfig()'); KalturaPlayerModule.resetLLConfig(); }); - _defineProperty(KalturaPlayerAPI, "getCurrentPosition", async () => { printConsoleLog('Calling Native method getCurrentPosition()'); return await getCurrentPosition(); }); - _defineProperty(KalturaPlayerAPI, "isPlaying", async () => { printConsoleLog('Calling Native method isPlaying'); return await isPlaying(); }); - _defineProperty(KalturaPlayerAPI, "isLive", async () => { printConsoleLog('Calling Native method isLive'); return await isLive(); }); - _defineProperty(KalturaPlayerAPI, "requestThumbnailInfo", async positionMs => { printConsoleLog('requestThumbnailInfo'); - if (positionMs < 0) { printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR); return; } - return await getThumbnailInfo(positionMs); }); - -_defineProperty(KalturaPlayerAPI, "enableDebugLogs", enabled => { - if (enabled == null) { +_defineProperty(KalturaPlayerAPI, "enableDebugLogs", function (enabled) { + let logLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _consts.LOG_LEVEL.DEBUG; + if (enabled == null || logLevel == null) { return; } - debugLogs = enabled; + if (debugLogs && logLevel != _consts.LOG_LEVEL.OFF) { + KalturaPlayerModule.setLogLevel(logLevel); + } else { + KalturaPlayerModule.setLogLevel(_consts.LOG_LEVEL.OFF); + } }); - async function setupKalturaPlayer(playerType, options, id) { try { const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(playerType, id, options); @@ -381,10 +325,9 @@ async function setupKalturaPlayer(playerType, options, id) { return kalturaPlayerSetup; } catch (exception) { printConsoleLog(`setupKalturaPlayer Exception: ${exception}`, LogType.ERROR); - return exception; + return Promise.reject(exception); } } - async function loadMediaKalturaPlayer(id, asset) { try { const loadMedia = await KalturaPlayerModule.load(id, asset); @@ -392,10 +335,9 @@ async function loadMediaKalturaPlayer(id, asset) { return loadMedia; } catch (exception) { printConsoleLog(`loadMediaKalturaPlayer Exception: ${exception}`, LogType.ERROR); - return exception; + return Promise.reject(exception); } } - async function getCurrentPosition() { try { const currentPosition = await KalturaPlayerModule.getCurrentPosition(); @@ -406,7 +348,6 @@ async function getCurrentPosition() { return POSITION_UNSET; } } - async function isPlaying() { try { const isPlayerPlaying = await KalturaPlayerModule.isPlaying(); @@ -417,7 +358,6 @@ async function isPlaying() { return false; } } - async function isLive() { try { const isPlayerLive = await KalturaPlayerModule.isLive(); @@ -428,7 +368,6 @@ async function isLive() { return false; } } - async function getThumbnailInfo(position) { try { const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position); @@ -436,13 +375,11 @@ async function getThumbnailInfo(position) { return thumbnailInfo; } catch (exception) { printConsoleLog(`Exception: ${exception}`, LogType.ERROR); - return exception; + return Promise.reject(exception); } } - function printConsoleLog(message) { let logType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : LogType.LOG; - if (debugLogs) { switch (logType) { case LogType.LOG: @@ -450,19 +387,16 @@ function printConsoleLog(message) { console.log(message); break; } - case LogType.WARN: { console.warn(message); break; } - case LogType.ERROR: { console.error(message); break; } - default: { console.log(message); @@ -470,9 +404,7 @@ function printConsoleLog(message) { } } } - var LogType; - (function (LogType) { LogType[LogType["LOG"] = 0] = "LOG"; LogType[LogType["WARN"] = 1] = "WARN"; diff --git a/lib/commonjs/index.js.map b/lib/commonjs/index.js.map index 40513f5..9b215a1 100644 --- a/lib/commonjs/index.js.map +++ b/lib/commonjs/index.js.map @@ -1 +1 @@ -{"version":3,"names":["RNKalturaPlayer","requireNativeComponent","KalturaPlayerModule","NativeModules","POSITION_UNSET","debugLogs","KalturaPlayer","React","Component","componentDidMount","printConsoleLog","componentWillUnmount","render","props","nativeRef","nativeComponentRef","propTypes","style","PropTypes","object","KalturaPlayerAPI","playerType","options","id","LogType","ERROR","setupKalturaPlayer","asset","loadMediaKalturaPlayer","addPlayerView","removePlayerView","addKalturaPlayerListeners","removeKalturaPlayerListeners","onApplicationPaused","onApplicationResumed","configs","stringifiedJson","JSON","stringify","updatePluginConfigs","play","pause","stop","destroy","replay","position","seekTo","trackId","changeTrack","rate","changePlaybackRate","vol","setVolume","isAutoPlay","setAutoplay","KS","setKS","seekToLiveDefaultPosition","subtitleStyle","updateSubtitleStyle","mode","updateResizeMode","abrSettings","updateAbrSettings","resetAbrSettings","lowLatencyConfig","updateLLConfig","resetLLConfig","getCurrentPosition","isPlaying","isLive","positionMs","getThumbnailInfo","enabled","kalturaPlayerSetup","setUpPlayer","exception","loadMedia","load","currentPosition","isPlayerPlaying","isPlayerLive","thumbnailInfo","requestThumbnailInfo","message","logType","LOG","console","log","WARN","warn","error"],"sources":["index.tsx"],"sourcesContent":["import { requireNativeComponent, NativeModules, ViewStyle } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PlayerEvents } from './events/PlayerEvents';\nimport { AdEvents } from './events/AdEvents';\nimport { AnalyticsEvents } from './events/AnalyticsEvents';\nimport {\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n} from './consts';\n\nexport {\n PlayerEvents,\n AdEvents,\n AnalyticsEvents,\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n};\n\nconst RNKalturaPlayer = requireNativeComponent('KalturaPlayerView');\nconst { KalturaPlayerModule } = NativeModules;\n\nconst POSITION_UNSET: number = -1;\nvar debugLogs = false;\n\ninterface KalturaPlayerProps {\n style: ViewStyle;\n}\n\nexport class KalturaPlayer extends React.Component {\n nativeComponentRef: any;\n\n static propTypes: {\n style: object;\n };\n\n componentDidMount() {\n printConsoleLog('componentDidMount from Library.');\n }\n\n componentWillUnmount() {\n printConsoleLog('componentWillUnmount from Library');\n }\n\n render() {\n return (\n (this.nativeComponentRef = nativeRef)}\n />\n );\n }\n}\n\nKalturaPlayer.propTypes = {\n style: PropTypes.object,\n};\n\nexport class KalturaPlayerAPI {\n /**\n * This method creates a Player instance internally (Basic, OVP/OTT Player)\n * With this, it take the PlayerInitOptions which are having essential Player settings values\n *\n * @param playerType The Player Type, Basic/OVP/OTT.\n * @param options PlayerInitOptions JSON String.\n * @param id PartnerId (Don't pass this parameter for BasicPlayer. For OVP/OTT player this value\n * should be always greater than 0 and should be valid otherwise, we will not be able to featch the details\n * for the mediaId or the entryId)\n */\n static setup = async (\n playerType: PLAYER_TYPE,\n options: string,\n id: number = 0\n ) => {\n if (playerType == null) {\n printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR);\n return;\n }\n\n if (!options) {\n printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Setting up the Player');\n return await setupKalturaPlayer(playerType, options, id);\n };\n\n /**\n * Load the media with the given\n *\n * assetId OR mediaId OR entryID for OVP/OTT Kaltura Player\n *\n * playbackURL for Basic Kaltura Player\n *\n * @param id Playback URL for Kaltura Basic Player OR\n * MediaId for Kaltura OTT Player OR\n * EntryId for Kaltura OVP Player\n * @param asset Media Asset JSON String\n */\n static loadMedia = async (id: string, asset: string) => {\n if (!id || !asset) {\n printConsoleLog(\n `loadMedia, invalid id = ${id} or asset = ${asset}`,\n LogType.ERROR\n );\n return;\n }\n\n printConsoleLog(\n `Loading the media. assetId is: ${id} and media asset is: ${asset}`\n );\n\n return await loadMediaKalturaPlayer(id, asset);\n };\n\n /**\n * Adds the Native Player View to the Player if not attached\n * Ideally this API should be called after calling {@link removePlayerView}\n */\n static addPlayerView = () => {\n printConsoleLog('Calling Native method addPlayerView()');\n KalturaPlayerModule.addPlayerView();\n };\n\n /**\n * Removes the Native Player View from the Player if it is attached\n * Ideally this API should be called after calling {@link addPlayerView}\n */\n static removePlayerView = () => {\n printConsoleLog('Calling Native method removePlayerView()');\n KalturaPlayerModule.removePlayerView();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static addListeners = () => {\n printConsoleLog('Calling Native method addListeners()');\n KalturaPlayerModule.addKalturaPlayerListeners();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static removeListeners = () => {\n printConsoleLog('Calling Native method removeListeners()');\n KalturaPlayerModule.removeKalturaPlayerListeners();\n };\n\n /**\n * Should be called when the application is in background\n */\n static onApplicationPaused = () => {\n printConsoleLog('Calling Native method onApplicationPaused()');\n KalturaPlayerModule.onApplicationPaused();\n };\n\n /**\n * Should be called when the application comes back to\n * foreground\n */\n static onApplicationResumed = () => {\n printConsoleLog('Calling Native method onApplicationResumed()');\n KalturaPlayerModule.onApplicationResumed();\n };\n\n /**\n * Update Plugin Configs\n *\n * @param configs Updated Plugin Configs (YouboraConfig JSON, IMAConfig JSON etc)\n */\n static updatePluginConfigs = (configs: object) => {\n if (!configs) {\n printConsoleLog(\n `updatePluginConfig, config is invalid: ${configs}`,\n LogType.ERROR\n );\n return;\n }\n\n const stringifiedJson = JSON.stringify(configs);\n printConsoleLog(`Updated Plugin is: ${stringifiedJson}`);\n\n KalturaPlayerModule.updatePluginConfigs(stringifiedJson);\n };\n\n /**\n * Play the player if it is not playing\n */\n static play = () => {\n printConsoleLog('Calling Native method play()');\n KalturaPlayerModule.play();\n };\n\n /**\n * Pause the player if it is playing\n */\n static pause = () => {\n printConsoleLog('Calling Native method pause()');\n KalturaPlayerModule.pause();\n };\n\n /**\n * Stops the player to the initial state\n */\n static stop = () => {\n printConsoleLog('Calling Native method stop()');\n KalturaPlayerModule.stop();\n };\n\n /**\n * Destroy the Kaltura Player instance\n */\n static destroy = () => {\n printConsoleLog('Calling Native method destroy()');\n KalturaPlayerModule.destroy();\n };\n\n /**\n * Replays the media from the beginning\n */\n static replay = () => {\n printConsoleLog('Calling Native method replay()');\n KalturaPlayerModule.replay();\n };\n\n /**\n * Seek the player to the specified position\n * @param position in miliseconds (Ms)\n */\n static seekTo = (position: number) => {\n printConsoleLog(`Calling Native method seekTo() position is: ${position}`);\n KalturaPlayerModule.seekTo(position);\n };\n\n /**\n * Change a specific track (Video, Audio or Text track)\n * @param trackId Unique track ID which was sent in `tracksAvailable` event\n */\n static changeTrack = (trackId: string) => {\n if (!trackId) {\n printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method changeTrack()');\n KalturaPlayerModule.changeTrack(trackId);\n };\n\n /**\n * Change the playback rate (ff or slow motion). Default is 1.0f\n * @param rate Desired playback rate (Ex: 0.5f, 1.5f 2.0f etc)\n */\n static setPlaybackRate = (rate: number) => {\n printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`);\n KalturaPlayerModule.changePlaybackRate(rate);\n };\n\n /**\n * Change the volume of the current audio track.\n * Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume.\n * If the volume parameter is higher then 1.0, it will be converted to 1.0.\n * If the volume parameter is lower then 0.0, it be converted to 0.0.\n *\n * @param vol - volume to set.\n */\n static setVolume = (vol: number) => {\n printConsoleLog('Calling Native method setVolume()');\n KalturaPlayerModule.setVolume(vol);\n };\n\n /**\n * Set the media to play automatically at the start (load)\n * if `false`, user will have to click on UI play button\n *\n * @param isAutoPlay media should be autoplayed at the start or not\n */\n static setAutoPlay = (isAutoPlay: boolean) => {\n printConsoleLog('Calling Native method setAutoPlay()');\n KalturaPlayerModule.setAutoplay(isAutoPlay);\n };\n\n /**\n * Set the KS for the media (only for OVP/OTT users)\n * Call this before calling {@link loadMedia}\n * @param KS Kaltura Secret key\n */\n static setKS = (KS: string) => {\n if (!KS) {\n printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method setKS()');\n KalturaPlayerModule.setKS(KS);\n };\n\n /**\n * NOOP\n * @param index\n */\n //static setZIndex = (index: number) => {\n // printConsoleLog('Calling Native method setZIndex()');\n //};\n\n /**\n * Only for Live Media.\n * Seek player to Live Default Position.\n */\n static seekToLiveDefaultPosition = () => {\n printConsoleLog('Calling Native method seekToLiveDefaultPosition()');\n KalturaPlayerModule.seekToLiveDefaultPosition();\n };\n\n /**\n * Update the existing subtitle styling\n */\n static updateSubtitleStyle = (subtitleStyle: string) => {\n if (!subtitleStyle) {\n printConsoleLog(\n `subtitleStyle is invalid which is: ${subtitleStyle}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateSubtitleStyle()');\n KalturaPlayerModule.updateSubtitleStyle(subtitleStyle);\n };\n\n /**\n * Update the Resize Mode\n */\n static updateResizeMode = (mode: PLAYER_RESIZE_MODES) => {\n printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()');\n KalturaPlayerModule.updateResizeMode(mode);\n };\n\n /**\n * Update the ABR Settings\n */\n static updateAbrSettings = (abrSettings: string) => {\n if (!abrSettings) {\n printConsoleLog(\n `abrSettings is invalid which is: ${abrSettings}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateABRSettings()');\n KalturaPlayerModule.updateAbrSettings(abrSettings);\n };\n\n /**\n * Reset the ABR Settings\n */\n static resetAbrSettings = () => {\n printConsoleLog('Calling Native method resetABRSettings()');\n KalturaPlayerModule.resetAbrSettings();\n };\n\n /**\n * Update the Low Latency Config\n * Only for Live Media\n */\n static updateLowLatencyConfig = (lowLatencyConfig: string) => {\n if (!lowLatencyConfig) {\n printConsoleLog(\n `lowLatencyConfig is invalid which is: ${lowLatencyConfig}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateLowLatencyConfig()');\n KalturaPlayerModule.updateLLConfig(lowLatencyConfig);\n };\n\n /**\n * Reset the Low Latency Config\n * Only for Live Media\n */\n static resetLowLatencyConfig = () => {\n printConsoleLog('Calling Native method resetLowLatencyConfig()');\n KalturaPlayerModule.resetLLConfig();\n };\n\n /**\n * Get the current playback position for Content and Ad\n * @returns number: Position of the player or {@link POSITION_UNSET}\n */\n static getCurrentPosition = async () => {\n printConsoleLog('Calling Native method getCurrentPosition()');\n return await getCurrentPosition();\n };\n\n /**\n * Checks if Player is currently playing or not\n * @returns boolean\n */\n static isPlaying = async () => {\n printConsoleLog('Calling Native method isPlaying');\n return await isPlaying();\n };\n\n /**\n * Checks if the stream is Live or Not\n * @returns boolean\n */\n static isLive = async () => {\n printConsoleLog('Calling Native method isLive');\n return await isLive();\n };\n\n /**\n * Get the Information for a thumbnail image by position.\n *\n * @param positionMs - relevant image for given player position.\n * @returns ThumbnailInfo JSON object\n */\n static requestThumbnailInfo = async (positionMs: number) => {\n printConsoleLog('requestThumbnailInfo');\n if (positionMs < 0) {\n printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR);\n return;\n }\n return await getThumbnailInfo(positionMs);\n };\n\n /**\n * Enable the console logs for the JS bridge\n * By default it is disabled.\n * @param enabled enable the debug logs\n * @returns if `enabled` is `null` then don't do anything\n */\n static enableDebugLogs = (enabled: boolean) => {\n if (enabled == null) {\n return;\n }\n debugLogs = enabled;\n };\n}\n\nasync function setupKalturaPlayer(\n playerType: PLAYER_TYPE,\n options: string,\n id: number\n) {\n try {\n const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(\n playerType,\n id,\n options\n );\n printConsoleLog(`Player is created: ${kalturaPlayerSetup}`);\n return kalturaPlayerSetup;\n } catch (exception) {\n printConsoleLog(\n `setupKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return exception;\n }\n}\n\nasync function loadMediaKalturaPlayer(id: string, asset: string) {\n try {\n const loadMedia = await KalturaPlayerModule.load(id, asset);\n printConsoleLog(`Media Loaded ${loadMedia}`);\n return loadMedia;\n } catch (exception) {\n printConsoleLog(\n `loadMediaKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return exception;\n }\n}\n\nasync function getCurrentPosition() {\n try {\n const currentPosition = await KalturaPlayerModule.getCurrentPosition();\n printConsoleLog(`Current Position: ${currentPosition}`);\n return currentPosition;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return POSITION_UNSET;\n }\n}\n\nasync function isPlaying() {\n try {\n const isPlayerPlaying = await KalturaPlayerModule.isPlaying();\n printConsoleLog(`isPlayerPlaying ${isPlayerPlaying}`);\n return isPlayerPlaying;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function isLive() {\n try {\n const isPlayerLive = await KalturaPlayerModule.isLive();\n printConsoleLog(`isPlayerLive ${isPlayerLive}`);\n return isPlayerLive;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function getThumbnailInfo(position: number) {\n try {\n const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position);\n printConsoleLog(`getThumbnailInfo ${JSON.stringify(thumbnailInfo)}`);\n return thumbnailInfo;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return exception;\n }\n}\n\nfunction printConsoleLog(message: String, logType: LogType = LogType.LOG) {\n if (debugLogs) {\n switch (logType) {\n case LogType.LOG: {\n console.log(message);\n break;\n }\n case LogType.WARN: {\n console.warn(message);\n break;\n }\n case LogType.ERROR: {\n console.error(message);\n break;\n }\n default: {\n console.log(message);\n }\n }\n }\n}\n\nenum LogType {\n LOG,\n WARN,\n ERROR,\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["RNKalturaPlayer","requireNativeComponent","KalturaPlayerModule","NativeModules","POSITION_UNSET","debugLogs","KalturaPlayer","React","Component","componentDidMount","printConsoleLog","componentWillUnmount","render","props","nativeRef","nativeComponentRef","propTypes","style","PropTypes","object","KalturaPlayerAPI","playerType","options","id","LogType","ERROR","PLAYER_TYPE","BASIC","setupKalturaPlayer","asset","loadMediaKalturaPlayer","addPlayerView","removePlayerView","addKalturaPlayerListeners","removeKalturaPlayerListeners","onApplicationPaused","onApplicationResumed","configs","stringifiedJson","JSON","stringify","updatePluginConfigs","play","pause","stop","destroy","replay","position","seekTo","trackId","changeTrack","rate","changePlaybackRate","vol","setVolume","isAutoPlay","setAutoplay","KS","setKS","seekToLiveDefaultPosition","subtitleStyle","updateSubtitleStyle","mode","updateResizeMode","abrSettings","updateAbrSettings","resetAbrSettings","lowLatencyConfig","updateLLConfig","resetLLConfig","getCurrentPosition","isPlaying","isLive","positionMs","getThumbnailInfo","enabled","logLevel","LOG_LEVEL","DEBUG","OFF","setLogLevel","kalturaPlayerSetup","setUpPlayer","exception","Promise","reject","loadMedia","load","currentPosition","isPlayerPlaying","isPlayerLive","thumbnailInfo","requestThumbnailInfo","message","logType","LOG","console","log","WARN","warn","error"],"sources":["index.tsx"],"sourcesContent":["import { requireNativeComponent, NativeModules, ViewStyle } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PlayerEvents } from './events/PlayerEvents';\nimport { AdEvents } from './events/AdEvents';\nimport { AnalyticsEvents } from './events/AnalyticsEvents';\nimport {\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n} from './consts';\n\nexport {\n PlayerEvents,\n AdEvents,\n AnalyticsEvents,\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n};\n\nconst RNKalturaPlayer = requireNativeComponent('KalturaPlayerView');\nconst { KalturaPlayerModule } = NativeModules;\n\nconst POSITION_UNSET: number = -1;\nvar debugLogs = false;\n\ninterface KalturaPlayerProps {\n style: ViewStyle;\n}\n\nexport class KalturaPlayer extends React.Component {\n nativeComponentRef: any;\n\n static propTypes: {\n style: object;\n };\n\n componentDidMount() {\n printConsoleLog('componentDidMount from Library.');\n }\n\n componentWillUnmount() {\n printConsoleLog('componentWillUnmount from Library');\n }\n\n render() {\n return (\n (this.nativeComponentRef = nativeRef)}\n />\n );\n }\n}\n\nKalturaPlayer.propTypes = {\n style: PropTypes.object,\n};\n\nexport class KalturaPlayerAPI {\n /**\n * This method creates a Player instance internally (Basic, OVP/OTT Player)\n * With this, it take the PlayerInitOptions which are having essential Player settings values\n *\n * @param playerType The Player Type, Basic/OVP/OTT.\n * @param options PlayerInitOptions JSON String.\n * @param id PartnerId (Don't pass this parameter for BasicPlayer. For OVP/OTT player this value\n * should be always greater than 0 and should be valid otherwise, we will not be able to featch the details\n * for the mediaId or the entryId)\n */\n static setup = async (\n playerType: PLAYER_TYPE,\n options: string,\n id: number = 0\n ) => {\n if (playerType == null) {\n printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR);\n return;\n }\n\n if (!options && playerType != PLAYER_TYPE.BASIC) {\n printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Setting up the Player');\n return await setupKalturaPlayer(playerType, options, id);\n };\n\n /**\n * Load the media with the given\n *\n * assetId OR mediaId OR entryID for OVP/OTT Kaltura Player\n *\n * playbackURL for Basic Kaltura Player\n *\n * @param id Playback URL for Kaltura Basic Player OR\n * MediaId for Kaltura OTT Player OR\n * EntryId for Kaltura OVP Player\n * @param asset Media Asset JSON String\n */\n static loadMedia = async (id: string, asset: string) => {\n if (!id) {\n printConsoleLog(\n `loadMedia, invalid id = ${id}`,\n LogType.ERROR\n );\n return;\n }\n\n printConsoleLog(\n `Loading the media. assetId is: ${id} and media asset is: ${asset}`\n );\n\n return await loadMediaKalturaPlayer(id, asset);\n };\n\n /**\n * Adds the Native Player View to the Player if not attached\n * Ideally this API should be called after calling {@link removePlayerView}\n */\n static addPlayerView = () => {\n printConsoleLog('Calling Native method addPlayerView()');\n KalturaPlayerModule.addPlayerView();\n };\n\n /**\n * Removes the Native Player View from the Player if it is attached\n * Ideally this API should be called after calling {@link addPlayerView}\n */\n static removePlayerView = () => {\n printConsoleLog('Calling Native method removePlayerView()');\n KalturaPlayerModule.removePlayerView();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static addListeners = () => {\n printConsoleLog('Calling Native method addListeners()');\n KalturaPlayerModule.addKalturaPlayerListeners();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static removeListeners = () => {\n printConsoleLog('Calling Native method removeListeners()');\n KalturaPlayerModule.removeKalturaPlayerListeners();\n };\n\n /**\n * Should be called when the application is in background\n */\n static onApplicationPaused = () => {\n printConsoleLog('Calling Native method onApplicationPaused()');\n KalturaPlayerModule.onApplicationPaused();\n };\n\n /**\n * Should be called when the application comes back to\n * foreground\n */\n static onApplicationResumed = () => {\n printConsoleLog('Calling Native method onApplicationResumed()');\n KalturaPlayerModule.onApplicationResumed();\n };\n\n /**\n * Update Plugin Configs\n *\n * @param configs Updated Plugin Configs (YouboraConfig JSON, IMAConfig JSON etc)\n */\n static updatePluginConfigs = (configs: object) => {\n if (!configs) {\n printConsoleLog(\n `updatePluginConfig, config is invalid: ${configs}`,\n LogType.ERROR\n );\n return;\n }\n\n const stringifiedJson = JSON.stringify(configs);\n printConsoleLog(`Updated Plugin is: ${stringifiedJson}`);\n\n KalturaPlayerModule.updatePluginConfigs(stringifiedJson);\n };\n\n /**\n * Play the player if it is not playing\n */\n static play = () => {\n printConsoleLog('Calling Native method play()');\n KalturaPlayerModule.play();\n };\n\n /**\n * Pause the player if it is playing\n */\n static pause = () => {\n printConsoleLog('Calling Native method pause()');\n KalturaPlayerModule.pause();\n };\n\n /**\n * Stops the player to the initial state\n */\n static stop = () => {\n printConsoleLog('Calling Native method stop()');\n KalturaPlayerModule.stop();\n };\n\n /**\n * Destroy the Kaltura Player instance\n */\n static destroy = () => {\n printConsoleLog('Calling Native method destroy()');\n KalturaPlayerModule.destroy();\n };\n\n /**\n * Replays the media from the beginning\n */\n static replay = () => {\n printConsoleLog('Calling Native method replay()');\n KalturaPlayerModule.replay();\n };\n\n /**\n * Seek the player to the specified position\n * @param position in miliseconds (Ms)\n */\n static seekTo = (position: number) => {\n printConsoleLog(`Calling Native method seekTo() position is: ${position}`);\n KalturaPlayerModule.seekTo(position);\n };\n\n /**\n * Change a specific track (Video, Audio or Text track)\n * @param trackId Unique track ID which was sent in `tracksAvailable` event\n */\n static changeTrack = (trackId: string) => {\n if (!trackId) {\n printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method changeTrack()');\n KalturaPlayerModule.changeTrack(trackId);\n };\n\n /**\n * Change the playback rate (ff or slow motion). Default is 1.0f\n * @param rate Desired playback rate (Ex: 0.5f, 1.5f 2.0f etc)\n */\n static setPlaybackRate = (rate: number) => {\n printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`);\n KalturaPlayerModule.changePlaybackRate(rate);\n };\n\n /**\n * Change the volume of the current audio track.\n * Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume.\n * If the volume parameter is higher then 1.0, it will be converted to 1.0.\n * If the volume parameter is lower then 0.0, it be converted to 0.0.\n *\n * @param vol - volume to set.\n */\n static setVolume = (vol: number) => {\n printConsoleLog('Calling Native method setVolume()');\n KalturaPlayerModule.setVolume(vol);\n };\n\n /**\n * Set the media to play automatically at the start (load)\n * if `false`, user will have to click on UI play button\n *\n * @param isAutoPlay media should be autoplayed at the start or not\n */\n static setAutoPlay = (isAutoPlay: boolean) => {\n printConsoleLog('Calling Native method setAutoPlay()');\n KalturaPlayerModule.setAutoplay(isAutoPlay);\n };\n\n /**\n * Set the KS for the media (only for OVP/OTT users)\n * Call this before calling {@link loadMedia}\n * @param KS Kaltura Secret key\n */\n static setKS = (KS: string) => {\n if (!KS) {\n printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method setKS()');\n KalturaPlayerModule.setKS(KS);\n };\n\n /**\n * NOOP\n * @param index\n */\n //static setZIndex = (index: number) => {\n // printConsoleLog('Calling Native method setZIndex()');\n //};\n\n /**\n * Only for Live Media.\n * Seek player to Live Default Position.\n */\n static seekToLiveDefaultPosition = () => {\n printConsoleLog('Calling Native method seekToLiveDefaultPosition()');\n KalturaPlayerModule.seekToLiveDefaultPosition();\n };\n\n /**\n * Update the existing subtitle styling\n */\n static updateSubtitleStyle = (subtitleStyle: string) => {\n if (!subtitleStyle) {\n printConsoleLog(\n `subtitleStyle is invalid which is: ${subtitleStyle}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateSubtitleStyle()');\n KalturaPlayerModule.updateSubtitleStyle(subtitleStyle);\n };\n\n /**\n * Update the Resize Mode\n */\n static updateResizeMode = (mode: PLAYER_RESIZE_MODES) => {\n printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()');\n KalturaPlayerModule.updateResizeMode(mode);\n };\n\n /**\n * Update the ABR Settings\n */\n static updateAbrSettings = (abrSettings: string) => {\n if (!abrSettings) {\n printConsoleLog(\n `abrSettings is invalid which is: ${abrSettings}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateABRSettings()');\n KalturaPlayerModule.updateAbrSettings(abrSettings);\n };\n\n /**\n * Reset the ABR Settings\n */\n static resetAbrSettings = () => {\n printConsoleLog('Calling Native method resetABRSettings()');\n KalturaPlayerModule.resetAbrSettings();\n };\n\n /**\n * Update the Low Latency Config\n * Only for Live Media\n */\n static updateLowLatencyConfig = (lowLatencyConfig: string) => {\n if (!lowLatencyConfig) {\n printConsoleLog(\n `lowLatencyConfig is invalid which is: ${lowLatencyConfig}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateLowLatencyConfig()');\n KalturaPlayerModule.updateLLConfig(lowLatencyConfig);\n };\n\n /**\n * Reset the Low Latency Config\n * Only for Live Media\n */\n static resetLowLatencyConfig = () => {\n printConsoleLog('Calling Native method resetLowLatencyConfig()');\n KalturaPlayerModule.resetLLConfig();\n };\n\n /**\n * Get the current playback position for Content and Ad\n * @returns number: Position of the player or {@link POSITION_UNSET}\n */\n static getCurrentPosition = async () => {\n printConsoleLog('Calling Native method getCurrentPosition()');\n return await getCurrentPosition();\n };\n\n /**\n * Checks if Player is currently playing or not\n * @returns boolean\n */\n static isPlaying = async () => {\n printConsoleLog('Calling Native method isPlaying');\n return await isPlaying();\n };\n\n /**\n * Checks if the stream is Live or Not\n * @returns boolean\n */\n static isLive = async () => {\n printConsoleLog('Calling Native method isLive');\n return await isLive();\n };\n\n /**\n * Get the Information for a thumbnail image by position.\n *\n * @param positionMs - relevant image for given player position.\n * @returns ThumbnailInfo JSON object\n */\n static requestThumbnailInfo = async (positionMs: number) => {\n printConsoleLog('requestThumbnailInfo');\n if (positionMs < 0) {\n printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR);\n return;\n }\n return await getThumbnailInfo(positionMs);\n };\n\n /**\n * Enable the console logs for the JS bridge and Player.\n * By default it is disabled. \n * \n * For logLevel options {@link LOG_LEVEL}\n * \n * @param enabled enable the debug logs. Just set it to `false` to disable all the logs.\n * @param logLevel Default is `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs.\n * \n * @returns if `enabled` is `null` then don't do anything\n */\n static enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG) => {\n if (enabled == null || logLevel == null) {\n return;\n }\n\n debugLogs = enabled;\n\n if (debugLogs && logLevel != LOG_LEVEL.OFF) {\n KalturaPlayerModule.setLogLevel(logLevel);\n } else {\n KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF);\n }\n };\n}\n\nasync function setupKalturaPlayer(\n playerType: PLAYER_TYPE,\n options: string,\n id: number\n) {\n try {\n const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(\n playerType,\n id,\n options\n );\n printConsoleLog(`Player is created: ${kalturaPlayerSetup}`);\n return kalturaPlayerSetup;\n } catch (exception) {\n printConsoleLog(\n `setupKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function loadMediaKalturaPlayer(id: string, asset: string) {\n try {\n const loadMedia = await KalturaPlayerModule.load(id, asset);\n printConsoleLog(`Media Loaded ${loadMedia}`);\n return loadMedia;\n } catch (exception) {\n printConsoleLog(\n `loadMediaKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function getCurrentPosition() {\n try {\n const currentPosition = await KalturaPlayerModule.getCurrentPosition();\n printConsoleLog(`Current Position: ${currentPosition}`);\n return currentPosition;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return POSITION_UNSET;\n }\n}\n\nasync function isPlaying() {\n try {\n const isPlayerPlaying = await KalturaPlayerModule.isPlaying();\n printConsoleLog(`isPlayerPlaying ${isPlayerPlaying}`);\n return isPlayerPlaying;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function isLive() {\n try {\n const isPlayerLive = await KalturaPlayerModule.isLive();\n printConsoleLog(`isPlayerLive ${isPlayerLive}`);\n return isPlayerLive;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function getThumbnailInfo(position: number) {\n try {\n const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position);\n printConsoleLog(`getThumbnailInfo ${JSON.stringify(thumbnailInfo)}`);\n return thumbnailInfo;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return Promise.reject(exception);\n }\n}\n\nfunction printConsoleLog(message: String, logType: LogType = LogType.LOG) {\n if (debugLogs) {\n switch (logType) {\n case LogType.LOG: {\n console.log(message);\n break;\n }\n case LogType.WARN: {\n console.warn(message);\n break;\n }\n case LogType.ERROR: {\n console.error(message);\n break;\n }\n default: {\n console.log(message);\n }\n }\n }\n}\n\nenum LogType {\n LOG,\n WARN,\n ERROR,\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/lib/module/consts.js b/lib/module/consts.js index 2e582a6..556dff1 100644 --- a/lib/module/consts.js +++ b/lib/module/consts.js @@ -1,13 +1,10 @@ export let PLAYER_TYPE; - (function (PLAYER_TYPE) { PLAYER_TYPE["OVP"] = "ovp"; PLAYER_TYPE["OTT"] = "ott"; PLAYER_TYPE["BASIC"] = "basic"; })(PLAYER_TYPE || (PLAYER_TYPE = {})); - export let MEDIA_FORMAT; - (function (MEDIA_FORMAT) { MEDIA_FORMAT["DASH"] = "dash"; MEDIA_FORMAT["HLS"] = "hls"; @@ -16,17 +13,13 @@ export let MEDIA_FORMAT; MEDIA_FORMAT["MP3"] = "mp3"; MEDIA_FORMAT["UDP"] = "udp"; })(MEDIA_FORMAT || (MEDIA_FORMAT = {})); - export let MEDIA_ENTRY_TYPE; - (function (MEDIA_ENTRY_TYPE) { MEDIA_ENTRY_TYPE["VOD"] = "Vod"; MEDIA_ENTRY_TYPE["LIVE"] = "Live"; MEDIA_ENTRY_TYPE["DVRLIVE"] = "DvrLive"; })(MEDIA_ENTRY_TYPE || (MEDIA_ENTRY_TYPE = {})); - export let DRM_SCHEME; - (function (DRM_SCHEME) { DRM_SCHEME["WIDEVINE_CENC"] = "WidevineCENC"; DRM_SCHEME["PLAYREADY_CENC"] = "PlayReadyCENC"; @@ -34,9 +27,7 @@ export let DRM_SCHEME; DRM_SCHEME["PLAYREADY_CLASSIC"] = "PlayReadyClassic"; DRM_SCHEME["FAIRPLAY"] = "FairPlay"; })(DRM_SCHEME || (DRM_SCHEME = {})); - export let PLAYER_PLUGIN; - (function (PLAYER_PLUGIN) { PLAYER_PLUGIN["IMA"] = "ima"; PLAYER_PLUGIN["IMADAI"] = "imadai"; @@ -45,9 +36,7 @@ export let PLAYER_PLUGIN; PLAYER_PLUGIN["OTT_ANALYTICS"] = "ottAnalytics"; PLAYER_PLUGIN["BROADPEAK"] = "broadpeak"; })(PLAYER_PLUGIN || (PLAYER_PLUGIN = {})); - export let PLAYER_RESIZE_MODES; - (function (PLAYER_RESIZE_MODES) { PLAYER_RESIZE_MODES["FIT"] = "fit"; PLAYER_RESIZE_MODES["FIXED_WIDTH"] = "fixedWidth"; @@ -55,21 +44,18 @@ export let PLAYER_RESIZE_MODES; PLAYER_RESIZE_MODES["FILL"] = "fill"; PLAYER_RESIZE_MODES["ZOOM"] = "zoom"; })(PLAYER_RESIZE_MODES || (PLAYER_RESIZE_MODES = {})); - export let WAKEMODE; + /** * Subtitle Style Settings helper * constants */ - (function (WAKEMODE) { WAKEMODE["NONE"] = "NONE"; WAKEMODE["LOCAL"] = "LOCAL"; WAKEMODE["NETWORK"] = "NETWORK"; })(WAKEMODE || (WAKEMODE = {})); - export let SUBTITLE_STYLE; - (function (SUBTITLE_STYLE) { SUBTITLE_STYLE["EDGE_TYPE_NONE"] = "EDGE_TYPE_NONE"; SUBTITLE_STYLE["EDGE_TYPE_OUTLINE"] = "EDGE_TYPE_OUTLINE"; @@ -95,17 +81,13 @@ export let SUBTITLE_STYLE; SUBTITLE_STYLE["HORIZONTAL_ALIGNMENT_CENTER"] = "ALIGN_CENTER"; SUBTITLE_STYLE["HORIZONTAL_ALIGNMENT_OPPOSITE"] = "ALIGN_OPPOSITE"; })(SUBTITLE_STYLE || (SUBTITLE_STYLE = {})); - export let SUBTITLE_PREFERENCE; - (function (SUBTITLE_PREFERENCE) { SUBTITLE_PREFERENCE["OFF"] = "OFF"; SUBTITLE_PREFERENCE["INTERNAL"] = "INTERNAL"; SUBTITLE_PREFERENCE["EXTERNAL"] = "EXTERNAL"; })(SUBTITLE_PREFERENCE || (SUBTITLE_PREFERENCE = {})); - export let VIDEO_CODEC; - (function (VIDEO_CODEC) { VIDEO_CODEC["HEVC"] = "HEVC"; VIDEO_CODEC["AV1"] = "AV1"; @@ -113,18 +95,14 @@ export let VIDEO_CODEC; VIDEO_CODEC["VP8"] = "VP8"; VIDEO_CODEC["AVC"] = "AVC"; })(VIDEO_CODEC || (VIDEO_CODEC = {})); - export let AUDIO_CODEC; - (function (AUDIO_CODEC) { AUDIO_CODEC["AAC"] = "AAC"; AUDIO_CODEC["AC3"] = "AC3"; AUDIO_CODEC["E_AC3"] = "E_AC3"; AUDIO_CODEC["OPUS"] = "OPUS"; })(AUDIO_CODEC || (AUDIO_CODEC = {})); - export let VR_INTERACTION_MODE; - (function (VR_INTERACTION_MODE) { VR_INTERACTION_MODE["MOTION"] = "Motion"; VR_INTERACTION_MODE["TOUCH"] = "Touch"; @@ -132,17 +110,13 @@ export let VR_INTERACTION_MODE; VR_INTERACTION_MODE["CARD_BOARD_MOTION"] = "CardboardMotion"; VR_INTERACTION_MODE["CARD_BOARD_MOTION_WITH_TOUCH"] = "CardboardMotionWithTouch"; })(VR_INTERACTION_MODE || (VR_INTERACTION_MODE = {})); - export let TRACK_SELECTION_MODE; - (function (TRACK_SELECTION_MODE) { TRACK_SELECTION_MODE["OFF"] = "OFF"; TRACK_SELECTION_MODE["AUTO"] = "AUTO"; TRACK_SELECTION_MODE["SELECTION"] = "SELECTION"; })(TRACK_SELECTION_MODE || (TRACK_SELECTION_MODE = {})); - export let KALTURA_STREAMER_TYPE; - (function (KALTURA_STREAMER_TYPE) { KALTURA_STREAMER_TYPE["APPLE_HTTP"] = "applehttp"; KALTURA_STREAMER_TYPE["MPEG_DASH"] = "mpegdash"; @@ -151,53 +125,60 @@ export let KALTURA_STREAMER_TYPE; KALTURA_STREAMER_TYPE["MULTICAST"] = "multicast"; KALTURA_STREAMER_TYPE["NONE"] = "none"; })(KALTURA_STREAMER_TYPE || (KALTURA_STREAMER_TYPE = {})); - export let KALTURA_URL_TYPE; - (function (KALTURA_URL_TYPE) { KALTURA_URL_TYPE["PLAYMANIFEST"] = "PLAYMANIFEST"; KALTURA_URL_TYPE["DIRECT"] = "DIRECT"; })(KALTURA_URL_TYPE || (KALTURA_URL_TYPE = {})); - export let KALTURA_PLAYBACK_CONTEXT_TYPE; - (function (KALTURA_PLAYBACK_CONTEXT_TYPE) { KALTURA_PLAYBACK_CONTEXT_TYPE["TRAILER"] = "TRAILER"; KALTURA_PLAYBACK_CONTEXT_TYPE["CATCHUP"] = "CATCHUP"; KALTURA_PLAYBACK_CONTEXT_TYPE["START_OVER"] = "START_OVER"; KALTURA_PLAYBACK_CONTEXT_TYPE["PLAYBACK"] = "PLAYBACK"; })(KALTURA_PLAYBACK_CONTEXT_TYPE || (KALTURA_PLAYBACK_CONTEXT_TYPE = {})); - export let KALTURA_ASSET_TYPE; - (function (KALTURA_ASSET_TYPE) { KALTURA_ASSET_TYPE["MEDIA"] = "media"; KALTURA_ASSET_TYPE["EPG"] = "epg"; KALTURA_ASSET_TYPE["RECORDING"] = "recording"; })(KALTURA_ASSET_TYPE || (KALTURA_ASSET_TYPE = {})); - export let KALTURA_LIVE_STREAMING_TYPE; - (function (KALTURA_LIVE_STREAMING_TYPE) { KALTURA_LIVE_STREAMING_TYPE["CATCHUP"] = "catchup"; KALTURA_LIVE_STREAMING_TYPE["START_OVER"] = "startOver"; KALTURA_LIVE_STREAMING_TYPE["TRICK_PLAY"] = "trickPlay"; })(KALTURA_LIVE_STREAMING_TYPE || (KALTURA_LIVE_STREAMING_TYPE = {})); - export let KALTURA_ASSET_REFERENCE_TYPE; - (function (KALTURA_ASSET_REFERENCE_TYPE) { KALTURA_ASSET_REFERENCE_TYPE["MEDIA"] = "media"; KALTURA_ASSET_REFERENCE_TYPE["INTERNAL_EPG"] = "epg_internal"; KALTURA_ASSET_REFERENCE_TYPE["EXTERNAL_EPG"] = "epg_external"; KALTURA_ASSET_REFERENCE_TYPE["NPVR"] = "npvr"; })(KALTURA_ASSET_REFERENCE_TYPE || (KALTURA_ASSET_REFERENCE_TYPE = {})); - export let MULTICAST_EXTRACTOR_MODE; - (function (MULTICAST_EXTRACTOR_MODE) { MULTICAST_EXTRACTOR_MODE["MODE_MULTI_PMT"] = "MODE_MULTI_PMT"; MULTICAST_EXTRACTOR_MODE["MODE_SINGLE_PMT"] = "MODE_SINGLE_PMT"; MULTICAST_EXTRACTOR_MODE["MODE_HLS"] = "MODE_HLS"; })(MULTICAST_EXTRACTOR_MODE || (MULTICAST_EXTRACTOR_MODE = {})); +export let IMA_AD_TAG_TYPE; +(function (IMA_AD_TAG_TYPE) { + IMA_AD_TAG_TYPE["VMAP"] = "VMAP"; + IMA_AD_TAG_TYPE["VAST"] = "VAST"; +})(IMA_AD_TAG_TYPE || (IMA_AD_TAG_TYPE = {})); +export let IMADAI_STREAM_FORMAT; +(function (IMADAI_STREAM_FORMAT) { + IMADAI_STREAM_FORMAT["DASH"] = "DASH"; + IMADAI_STREAM_FORMAT["HLS"] = "HLS"; +})(IMADAI_STREAM_FORMAT || (IMADAI_STREAM_FORMAT = {})); +export let LOG_LEVEL; +(function (LOG_LEVEL) { + LOG_LEVEL["VERBOSE"] = "VERBOSE"; + LOG_LEVEL["DEBUG"] = "DEBUG"; + LOG_LEVEL["WARN"] = "WARN"; + LOG_LEVEL["INFO"] = "INFO"; + LOG_LEVEL["ERROR"] = "ERROR"; + LOG_LEVEL["OFF"] = "OFF"; +})(LOG_LEVEL || (LOG_LEVEL = {})); //# sourceMappingURL=consts.js.map \ No newline at end of file diff --git a/lib/module/consts.js.map b/lib/module/consts.js.map index a3ad31d..a4784ee 100644 --- a/lib/module/consts.js.map +++ b/lib/module/consts.js.map @@ -1 +1 @@ -{"version":3,"names":["PLAYER_TYPE","MEDIA_FORMAT","MEDIA_ENTRY_TYPE","DRM_SCHEME","PLAYER_PLUGIN","PLAYER_RESIZE_MODES","WAKEMODE","SUBTITLE_STYLE","SUBTITLE_PREFERENCE","VIDEO_CODEC","AUDIO_CODEC","VR_INTERACTION_MODE","TRACK_SELECTION_MODE","KALTURA_STREAMER_TYPE","KALTURA_URL_TYPE","KALTURA_PLAYBACK_CONTEXT_TYPE","KALTURA_ASSET_TYPE","KALTURA_LIVE_STREAMING_TYPE","KALTURA_ASSET_REFERENCE_TYPE","MULTICAST_EXTRACTOR_MODE"],"sources":["consts.tsx"],"sourcesContent":["export enum PLAYER_TYPE {\n OVP = 'ovp',\n OTT = 'ott',\n BASIC = 'basic'\n}\n\nexport enum MEDIA_FORMAT {\n DASH = 'dash',\n HLS = 'hls',\n WVM = 'wvm',\n MP4 = 'mp4',\n MP3 = 'mp3',\n UDP = 'udp'\n}\n\nexport enum MEDIA_ENTRY_TYPE {\n VOD = 'Vod',\n LIVE = 'Live',\n DVRLIVE = 'DvrLive'\n}\n\nexport enum DRM_SCHEME {\n WIDEVINE_CENC = 'WidevineCENC',\n PLAYREADY_CENC = 'PlayReadyCENC',\n WIDEVINE_CLASSIC = 'WidevineClassic',\n PLAYREADY_CLASSIC = 'PlayReadyClassic',\n FAIRPLAY = 'FairPlay'\n}\n\nexport enum PLAYER_PLUGIN {\n IMA = 'ima',\n IMADAI = 'imadai',\n YOUBORA = 'youbora',\n KAVA = 'kava',\n OTT_ANALYTICS = 'ottAnalytics',\n BROADPEAK = 'broadpeak'\n}\n\nexport enum PLAYER_RESIZE_MODES {\n FIT = 'fit',\n FIXED_WIDTH = 'fixedWidth',\n FIXED_HEIGHT = 'fixedHeight',\n FILL = 'fill',\n ZOOM = 'zoom'\n}\n\nexport enum WAKEMODE {\n NONE = 'NONE',\n LOCAL = 'LOCAL',\n NETWORK = 'NETWORK'\n}\n\n/**\n * Subtitle Style Settings helper\n * constants\n */\nexport enum SUBTITLE_STYLE {\n EDGE_TYPE_NONE = 'EDGE_TYPE_NONE',\n EDGE_TYPE_OUTLINE = 'EDGE_TYPE_OUTLINE',\n EDGE_TYPE_DROP_SHADOW = 'EDGE_TYPE_DROP_SHADOW',\n EDGE_TYPE_RAISED = 'EDGE_TYPE_RAISED',\n EDGE_TYPE_DEPRESSED = 'EDGE_TYPE_DEPRESSED',\n FRACTION_50 = 'SUBTITLE_FRACTION_50',\n FRACTION_75 = 'SUBTITLE_FRACTION_75',\n FRACTION_100 = 'SUBTITLE_FRACTION_100',\n FRACTION_125 = 'SUBTITLE_FRACTION_125',\n FRACTION_150 = 'SUBTITLE_FRACTION_150',\n FRACTION_200 = 'SUBTITLE_FRACTION_200',\n TYPEFACE_DEFAULT = 'DEFAULT',\n TYPEFACE_DEFAULT_BOLD = 'DEFAULT_BOLD',\n TYPEFACE_MONOSPACE = 'MONOSPACE',\n TYPEFACE_SERIF = 'SERIF',\n TYPEFACE_SANS_SERIF = 'SANS_SERIF',\n TYPEFACE_STYLE_NORMAL = 'NORMAL',\n TYPEFACE_STYLE_BOLD = 'BOLD',\n TYPEFACE_STYLE_ITALIC = 'ITALIC',\n TYPEFACE_STYLE_BOLD_ITALIC = 'BOLD_ITALIC',\n HORIZONTAL_ALIGNMENT_NORMAL = 'ALIGN_NORMAL',\n HORIZONTAL_ALIGNMENT_CENTER = 'ALIGN_CENTER',\n HORIZONTAL_ALIGNMENT_OPPOSITE = 'ALIGN_OPPOSITE'\n}\n\nexport enum SUBTITLE_PREFERENCE {\n OFF = 'OFF',\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL'\n}\n\nexport enum VIDEO_CODEC {\n HEVC = 'HEVC',\n AV1 = 'AV1',\n VP9 = 'VP9',\n VP8 = 'VP8',\n AVC = 'AVC'\n}\n\nexport enum AUDIO_CODEC {\n AAC = 'AAC',\n AC3 = 'AC3',\n E_AC3 = 'E_AC3',\n OPUS = 'OPUS'\n}\n\nexport enum VR_INTERACTION_MODE {\n MOTION = 'Motion',\n TOUCH = 'Touch',\n MOTION_WITH_TOUCH = 'MotionWithTouch',\n CARD_BOARD_MOTION = 'CardboardMotion',\n CARD_BOARD_MOTION_WITH_TOUCH = 'CardboardMotionWithTouch'\n}\n\nexport enum TRACK_SELECTION_MODE {\n OFF = 'OFF',\n AUTO = 'AUTO',\n SELECTION = 'SELECTION'\n}\n\nexport enum KALTURA_STREAMER_TYPE {\n APPLE_HTTP = 'applehttp',\n MPEG_DASH = 'mpegdash',\n URL = 'url',\n SMOTH_STREAMING = 'smothstreaming',\n MULTICAST = 'multicast',\n NONE = 'none'\n}\n\nexport enum KALTURA_URL_TYPE {\n PLAYMANIFEST = 'PLAYMANIFEST',\n DIRECT = 'DIRECT'\n}\n\nexport enum KALTURA_PLAYBACK_CONTEXT_TYPE {\n TRAILER = 'TRAILER',\n CATCHUP = 'CATCHUP',\n START_OVER = 'START_OVER',\n PLAYBACK = 'PLAYBACK'\n}\n\nexport enum KALTURA_ASSET_TYPE {\n MEDIA = 'media',\n EPG = 'epg',\n RECORDING = 'recording'\n}\n\nexport enum KALTURA_LIVE_STREAMING_TYPE {\n CATCHUP = 'catchup',\n START_OVER = 'startOver',\n TRICK_PLAY = 'trickPlay'\n}\n\nexport enum KALTURA_ASSET_REFERENCE_TYPE {\n MEDIA = 'media',\n INTERNAL_EPG = 'epg_internal',\n EXTERNAL_EPG = 'epg_external',\n NPVR = 'npvr'\n}\n\nexport enum MULTICAST_EXTRACTOR_MODE {\n MODE_MULTI_PMT = 'MODE_MULTI_PMT',\n MODE_SINGLE_PMT = 'MODE_SINGLE_PMT',\n MODE_HLS = 'MODE_HLS'\n}\n"],"mappings":"AAAA,WAAYA,WAAZ;;WAAYA,W;EAAAA,W;EAAAA,W;EAAAA,W;GAAAA,W,KAAAA,W;;AAMZ,WAAYC,YAAZ;;WAAYA,Y;EAAAA,Y;EAAAA,Y;EAAAA,Y;EAAAA,Y;EAAAA,Y;EAAAA,Y;GAAAA,Y,KAAAA,Y;;AASZ,WAAYC,gBAAZ;;WAAYA,gB;EAAAA,gB;EAAAA,gB;EAAAA,gB;GAAAA,gB,KAAAA,gB;;AAMZ,WAAYC,UAAZ;;WAAYA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;EAAAA,U;GAAAA,U,KAAAA,U;;AAQZ,WAAYC,aAAZ;;WAAYA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;EAAAA,a;GAAAA,a,KAAAA,a;;AASZ,WAAYC,mBAAZ;;WAAYA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;GAAAA,mB,KAAAA,mB;;AAQZ,WAAYC,QAAZ;AAMA;AACA;AACA;AACA;;WATYA,Q;EAAAA,Q;EAAAA,Q;EAAAA,Q;GAAAA,Q,KAAAA,Q;;AAUZ,WAAYC,cAAZ;;WAAYA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;EAAAA,c;GAAAA,c,KAAAA,c;;AA0BZ,WAAYC,mBAAZ;;WAAYA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;GAAAA,mB,KAAAA,mB;;AAMZ,WAAYC,WAAZ;;WAAYA,W;EAAAA,W;EAAAA,W;EAAAA,W;EAAAA,W;EAAAA,W;GAAAA,W,KAAAA,W;;AAQZ,WAAYC,WAAZ;;WAAYA,W;EAAAA,W;EAAAA,W;EAAAA,W;EAAAA,W;GAAAA,W,KAAAA,W;;AAOZ,WAAYC,mBAAZ;;WAAYA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;EAAAA,mB;GAAAA,mB,KAAAA,mB;;AAQZ,WAAYC,oBAAZ;;WAAYA,oB;EAAAA,oB;EAAAA,oB;EAAAA,oB;GAAAA,oB,KAAAA,oB;;AAMZ,WAAYC,qBAAZ;;WAAYA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;GAAAA,qB,KAAAA,qB;;AASZ,WAAYC,gBAAZ;;WAAYA,gB;EAAAA,gB;EAAAA,gB;GAAAA,gB,KAAAA,gB;;AAKZ,WAAYC,6BAAZ;;WAAYA,6B;EAAAA,6B;EAAAA,6B;EAAAA,6B;EAAAA,6B;GAAAA,6B,KAAAA,6B;;AAOZ,WAAYC,kBAAZ;;WAAYA,kB;EAAAA,kB;EAAAA,kB;EAAAA,kB;GAAAA,kB,KAAAA,kB;;AAMZ,WAAYC,2BAAZ;;WAAYA,2B;EAAAA,2B;EAAAA,2B;EAAAA,2B;GAAAA,2B,KAAAA,2B;;AAMZ,WAAYC,4BAAZ;;WAAYA,4B;EAAAA,4B;EAAAA,4B;EAAAA,4B;EAAAA,4B;GAAAA,4B,KAAAA,4B;;AAOZ,WAAYC,wBAAZ;;WAAYA,wB;EAAAA,wB;EAAAA,wB;EAAAA,wB;GAAAA,wB,KAAAA,wB"} \ No newline at end of file +{"version":3,"names":["PLAYER_TYPE","MEDIA_FORMAT","MEDIA_ENTRY_TYPE","DRM_SCHEME","PLAYER_PLUGIN","PLAYER_RESIZE_MODES","WAKEMODE","SUBTITLE_STYLE","SUBTITLE_PREFERENCE","VIDEO_CODEC","AUDIO_CODEC","VR_INTERACTION_MODE","TRACK_SELECTION_MODE","KALTURA_STREAMER_TYPE","KALTURA_URL_TYPE","KALTURA_PLAYBACK_CONTEXT_TYPE","KALTURA_ASSET_TYPE","KALTURA_LIVE_STREAMING_TYPE","KALTURA_ASSET_REFERENCE_TYPE","MULTICAST_EXTRACTOR_MODE","IMA_AD_TAG_TYPE","IMADAI_STREAM_FORMAT","LOG_LEVEL"],"sources":["consts.tsx"],"sourcesContent":["export enum PLAYER_TYPE {\n OVP = 'ovp',\n OTT = 'ott',\n BASIC = 'basic'\n}\n\nexport enum MEDIA_FORMAT {\n DASH = 'dash',\n HLS = 'hls',\n WVM = 'wvm',\n MP4 = 'mp4',\n MP3 = 'mp3',\n UDP = 'udp'\n}\n\nexport enum MEDIA_ENTRY_TYPE {\n VOD = 'Vod',\n LIVE = 'Live',\n DVRLIVE = 'DvrLive'\n}\n\nexport enum DRM_SCHEME {\n WIDEVINE_CENC = 'WidevineCENC',\n PLAYREADY_CENC = 'PlayReadyCENC',\n WIDEVINE_CLASSIC = 'WidevineClassic',\n PLAYREADY_CLASSIC = 'PlayReadyClassic',\n FAIRPLAY = 'FairPlay'\n}\n\nexport enum PLAYER_PLUGIN {\n IMA = 'ima',\n IMADAI = 'imadai',\n YOUBORA = 'youbora',\n KAVA = 'kava',\n OTT_ANALYTICS = 'ottAnalytics',\n BROADPEAK = 'broadpeak'\n}\n\nexport enum PLAYER_RESIZE_MODES {\n FIT = 'fit',\n FIXED_WIDTH = 'fixedWidth',\n FIXED_HEIGHT = 'fixedHeight',\n FILL = 'fill',\n ZOOM = 'zoom'\n}\n\nexport enum WAKEMODE {\n NONE = 'NONE',\n LOCAL = 'LOCAL',\n NETWORK = 'NETWORK'\n}\n\n/**\n * Subtitle Style Settings helper\n * constants\n */\nexport enum SUBTITLE_STYLE {\n EDGE_TYPE_NONE = 'EDGE_TYPE_NONE',\n EDGE_TYPE_OUTLINE = 'EDGE_TYPE_OUTLINE',\n EDGE_TYPE_DROP_SHADOW = 'EDGE_TYPE_DROP_SHADOW',\n EDGE_TYPE_RAISED = 'EDGE_TYPE_RAISED',\n EDGE_TYPE_DEPRESSED = 'EDGE_TYPE_DEPRESSED',\n FRACTION_50 = 'SUBTITLE_FRACTION_50',\n FRACTION_75 = 'SUBTITLE_FRACTION_75',\n FRACTION_100 = 'SUBTITLE_FRACTION_100',\n FRACTION_125 = 'SUBTITLE_FRACTION_125',\n FRACTION_150 = 'SUBTITLE_FRACTION_150',\n FRACTION_200 = 'SUBTITLE_FRACTION_200',\n TYPEFACE_DEFAULT = 'DEFAULT',\n TYPEFACE_DEFAULT_BOLD = 'DEFAULT_BOLD',\n TYPEFACE_MONOSPACE = 'MONOSPACE',\n TYPEFACE_SERIF = 'SERIF',\n TYPEFACE_SANS_SERIF = 'SANS_SERIF',\n TYPEFACE_STYLE_NORMAL = 'NORMAL',\n TYPEFACE_STYLE_BOLD = 'BOLD',\n TYPEFACE_STYLE_ITALIC = 'ITALIC',\n TYPEFACE_STYLE_BOLD_ITALIC = 'BOLD_ITALIC',\n HORIZONTAL_ALIGNMENT_NORMAL = 'ALIGN_NORMAL',\n HORIZONTAL_ALIGNMENT_CENTER = 'ALIGN_CENTER',\n HORIZONTAL_ALIGNMENT_OPPOSITE = 'ALIGN_OPPOSITE'\n}\n\nexport enum SUBTITLE_PREFERENCE {\n OFF = 'OFF',\n INTERNAL = 'INTERNAL',\n EXTERNAL = 'EXTERNAL'\n}\n\nexport enum VIDEO_CODEC {\n HEVC = 'HEVC',\n AV1 = 'AV1',\n VP9 = 'VP9',\n VP8 = 'VP8',\n AVC = 'AVC'\n}\n\nexport enum AUDIO_CODEC {\n AAC = 'AAC',\n AC3 = 'AC3',\n E_AC3 = 'E_AC3',\n OPUS = 'OPUS'\n}\n\nexport enum VR_INTERACTION_MODE {\n MOTION = 'Motion',\n TOUCH = 'Touch',\n MOTION_WITH_TOUCH = 'MotionWithTouch',\n CARD_BOARD_MOTION = 'CardboardMotion',\n CARD_BOARD_MOTION_WITH_TOUCH = 'CardboardMotionWithTouch'\n}\n\nexport enum TRACK_SELECTION_MODE {\n OFF = 'OFF',\n AUTO = 'AUTO',\n SELECTION = 'SELECTION'\n}\n\nexport enum KALTURA_STREAMER_TYPE {\n APPLE_HTTP = 'applehttp',\n MPEG_DASH = 'mpegdash',\n URL = 'url',\n SMOTH_STREAMING = 'smothstreaming',\n MULTICAST = 'multicast',\n NONE = 'none'\n}\n\nexport enum KALTURA_URL_TYPE {\n PLAYMANIFEST = 'PLAYMANIFEST',\n DIRECT = 'DIRECT'\n}\n\nexport enum KALTURA_PLAYBACK_CONTEXT_TYPE {\n TRAILER = 'TRAILER',\n CATCHUP = 'CATCHUP',\n START_OVER = 'START_OVER',\n PLAYBACK = 'PLAYBACK'\n}\n\nexport enum KALTURA_ASSET_TYPE {\n MEDIA = 'media',\n EPG = 'epg',\n RECORDING = 'recording'\n}\n\nexport enum KALTURA_LIVE_STREAMING_TYPE {\n CATCHUP = 'catchup',\n START_OVER = 'startOver',\n TRICK_PLAY = 'trickPlay'\n}\n\nexport enum KALTURA_ASSET_REFERENCE_TYPE {\n MEDIA = 'media',\n INTERNAL_EPG = 'epg_internal',\n EXTERNAL_EPG = 'epg_external',\n NPVR = 'npvr'\n}\n\nexport enum MULTICAST_EXTRACTOR_MODE {\n MODE_MULTI_PMT = 'MODE_MULTI_PMT',\n MODE_SINGLE_PMT = 'MODE_SINGLE_PMT',\n MODE_HLS = 'MODE_HLS'\n}\n\nexport enum IMA_AD_TAG_TYPE {\n VMAP = \"VMAP\",\n VAST = \"VAST\"\n}\n\nexport enum IMADAI_STREAM_FORMAT {\n DASH = \"DASH\",\n HLS = \"HLS\"\n}\n\nexport enum LOG_LEVEL {\n VERBOSE = \"VERBOSE\",\n DEBUG = \"DEBUG\",\n WARN = \"WARN\",\n INFO = \"INFO\",\n ERROR = \"ERROR\",\n OFF = \"OFF\"\n}\n"],"mappings":"AAAA,WAAYA,WAAW;AAItB,WAJWA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,KAAXA,WAAW;AAMvB,WAAYC,YAAY;AAOvB,WAPWA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;AAAA,GAAZA,YAAY,KAAZA,YAAY;AASxB,WAAYC,gBAAgB;AAI3B,WAJWA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;AAAA,GAAhBA,gBAAgB,KAAhBA,gBAAgB;AAM5B,WAAYC,UAAU;AAMrB,WANWA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;AAAA,GAAVA,UAAU,KAAVA,UAAU;AAQtB,WAAYC,aAAa;AAOxB,WAPWA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,KAAbA,aAAa;AASzB,WAAYC,mBAAmB;AAM9B,WANWA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAnBA,mBAAmB;AAQ/B,WAAYC,QAAQ;;AAMpB;AACA;AACA;AACA;AAHA,WANYA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,KAARA,QAAQ;AAUpB,WAAYC,cAAc;AAwBzB,WAxBWA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,KAAdA,cAAc;AA0B1B,WAAYC,mBAAmB;AAI9B,WAJWA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAnBA,mBAAmB;AAM/B,WAAYC,WAAW;AAMtB,WANWA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,KAAXA,WAAW;AAQvB,WAAYC,WAAW;AAKtB,WALWA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;AAAA,GAAXA,WAAW,KAAXA,WAAW;AAOvB,WAAYC,mBAAmB;AAM9B,WANWA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAnBA,mBAAmB;AAQ/B,WAAYC,oBAAoB;AAI/B,WAJWA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;AAAA,GAApBA,oBAAoB,KAApBA,oBAAoB;AAMhC,WAAYC,qBAAqB;AAOhC,WAPWA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;AAAA,GAArBA,qBAAqB,KAArBA,qBAAqB;AASjC,WAAYC,gBAAgB;AAG3B,WAHWA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;AAAA,GAAhBA,gBAAgB,KAAhBA,gBAAgB;AAK5B,WAAYC,6BAA6B;AAKxC,WALWA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;AAAA,GAA7BA,6BAA6B,KAA7BA,6BAA6B;AAOzC,WAAYC,kBAAkB;AAI7B,WAJWA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;AAAA,GAAlBA,kBAAkB,KAAlBA,kBAAkB;AAM9B,WAAYC,2BAA2B;AAItC,WAJWA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;EAA3BA,2BAA2B;AAAA,GAA3BA,2BAA2B,KAA3BA,2BAA2B;AAMvC,WAAYC,4BAA4B;AAKvC,WALWA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;EAA5BA,4BAA4B;AAAA,GAA5BA,4BAA4B,KAA5BA,4BAA4B;AAOxC,WAAYC,wBAAwB;AAInC,WAJWA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;AAAA,GAAxBA,wBAAwB,KAAxBA,wBAAwB;AAMpC,WAAYC,eAAe;AAG1B,WAHWA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAfA,eAAe;AAK3B,WAAYC,oBAAoB;AAG/B,WAHWA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;AAAA,GAApBA,oBAAoB,KAApBA,oBAAoB;AAKhC,WAAYC,SAAS;AAOpB,WAPWA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;AAAA,GAATA,SAAS,KAATA,SAAS"} \ No newline at end of file diff --git a/lib/module/events/AdEvents.js b/lib/module/events/AdEvents.js index 8fb3512..01dbfce 100644 --- a/lib/module/events/AdEvents.js +++ b/lib/module/events/AdEvents.js @@ -30,7 +30,7 @@ export const AdEvents = { AD_BUFFER_START: 'adBufferStart', AD_BUFFER_END: 'adBufferEnd', AD_PLAYBACK_INFO_UPDATED: 'adPlaybackInfoUpdated', - ERROR: 'error', + ERROR: 'adError', DAI_SOURCE_SELECTED: 'daiSourceSelected', AD_WATERFALLING: 'adWaterFalling', AD_WATERFALLING_FAILED: 'adWaterFallingFailed' diff --git a/lib/module/events/AdEvents.js.map b/lib/module/events/AdEvents.js.map index 5c7f2c7..c52dcd0 100644 --- a/lib/module/events/AdEvents.js.map +++ b/lib/module/events/AdEvents.js.map @@ -1 +1 @@ -{"version":3,"names":["AdEvents","AD_REQUESTED","AD_FIRST_PLAY","STARTED","PAUSED","RESUMED","COMPLETED","FIRST_QUARTILE","MIDPOINT","THIRD_QUARTILE","SKIPPED","SKIPPABLE_STATE_CHANGED","CLICKED","TAPPED","ICON_FALLBACK_IMAGE_CLOSED","ICON_TAPPED","AD_BREAK_READY","AD_PROGRESS","AD_BREAK_STARTED","AD_BREAK_ENDED","AD_BREAK_FETCH_ERROR","AD_BREAK_IGNORED","CUEPOINTS_CHANGED","PLAY_HEAD_CHANGED","LOADED","CONTENT_PAUSE_REQUESTED","CONTENT_RESUME_REQUESTED","ALL_ADS_COMPLETED","AD_BUFFER_START","AD_BUFFER_END","AD_PLAYBACK_INFO_UPDATED","ERROR","DAI_SOURCE_SELECTED","AD_WATERFALLING","AD_WATERFALLING_FAILED"],"sources":["AdEvents.tsx"],"sourcesContent":["export const AdEvents = {\n // TODO: Generate it using some script\n AD_REQUESTED: 'adRequested',\n AD_FIRST_PLAY: 'adFirstPlay',\n STARTED: 'started',\n PAUSED: 'paused',\n RESUMED: 'resumed',\n COMPLETED: 'completed',\n FIRST_QUARTILE: 'firstQuartile',\n MIDPOINT: 'midpoint',\n THIRD_QUARTILE: 'thirdQuartile',\n SKIPPED: 'skipped',\n SKIPPABLE_STATE_CHANGED: 'skippableStateChanged',\n CLICKED: 'adClickedEvent',\n TAPPED: 'tapped',\n ICON_FALLBACK_IMAGE_CLOSED: 'iconFallbackImageClosed',\n ICON_TAPPED: 'iconTapped',\n AD_BREAK_READY: 'adBreakReady',\n AD_PROGRESS: 'adProgress',\n AD_BREAK_STARTED: 'adBreakStarted',\n AD_BREAK_ENDED: 'adBreakEnded',\n AD_BREAK_FETCH_ERROR: 'adBreakFetchError',\n AD_BREAK_IGNORED: 'adBreakIgnored',\n CUEPOINTS_CHANGED: 'cuepointsChanged',\n PLAY_HEAD_CHANGED: 'playHeadChanged',\n LOADED: 'loaded',\n CONTENT_PAUSE_REQUESTED: 'contentPauseRequested',\n CONTENT_RESUME_REQUESTED: 'contentResumeRequested',\n ALL_ADS_COMPLETED: 'allAdsCompleted',\n AD_BUFFER_START: 'adBufferStart',\n AD_BUFFER_END: 'adBufferEnd',\n AD_PLAYBACK_INFO_UPDATED: 'adPlaybackInfoUpdated',\n ERROR: 'error',\n DAI_SOURCE_SELECTED: 'daiSourceSelected',\n AD_WATERFALLING: 'adWaterFalling',\n AD_WATERFALLING_FAILED: 'adWaterFallingFailed'\n};\n"],"mappings":"AAAA,OAAO,MAAMA,QAAQ,GAAG;EACtB;EACAC,YAAY,EAAE,aAFQ;EAGtBC,aAAa,EAAE,aAHO;EAItBC,OAAO,EAAE,SAJa;EAKtBC,MAAM,EAAE,QALc;EAMtBC,OAAO,EAAE,SANa;EAOtBC,SAAS,EAAE,WAPW;EAQtBC,cAAc,EAAE,eARM;EAStBC,QAAQ,EAAE,UATY;EAUtBC,cAAc,EAAE,eAVM;EAWtBC,OAAO,EAAE,SAXa;EAYtBC,uBAAuB,EAAE,uBAZH;EAatBC,OAAO,EAAE,gBAba;EActBC,MAAM,EAAE,QAdc;EAetBC,0BAA0B,EAAE,yBAfN;EAgBtBC,WAAW,EAAE,YAhBS;EAiBtBC,cAAc,EAAE,cAjBM;EAkBtBC,WAAW,EAAE,YAlBS;EAmBtBC,gBAAgB,EAAE,gBAnBI;EAoBtBC,cAAc,EAAE,cApBM;EAqBtBC,oBAAoB,EAAE,mBArBA;EAsBtBC,gBAAgB,EAAE,gBAtBI;EAuBtBC,iBAAiB,EAAE,kBAvBG;EAwBtBC,iBAAiB,EAAE,iBAxBG;EAyBtBC,MAAM,EAAE,QAzBc;EA0BtBC,uBAAuB,EAAE,uBA1BH;EA2BtBC,wBAAwB,EAAE,wBA3BJ;EA4BtBC,iBAAiB,EAAE,iBA5BG;EA6BtBC,eAAe,EAAE,eA7BK;EA8BtBC,aAAa,EAAE,aA9BO;EA+BtBC,wBAAwB,EAAE,uBA/BJ;EAgCtBC,KAAK,EAAE,OAhCe;EAiCtBC,mBAAmB,EAAE,mBAjCC;EAkCtBC,eAAe,EAAE,gBAlCK;EAmCtBC,sBAAsB,EAAE;AAnCF,CAAjB"} \ No newline at end of file +{"version":3,"names":["AdEvents","AD_REQUESTED","AD_FIRST_PLAY","STARTED","PAUSED","RESUMED","COMPLETED","FIRST_QUARTILE","MIDPOINT","THIRD_QUARTILE","SKIPPED","SKIPPABLE_STATE_CHANGED","CLICKED","TAPPED","ICON_FALLBACK_IMAGE_CLOSED","ICON_TAPPED","AD_BREAK_READY","AD_PROGRESS","AD_BREAK_STARTED","AD_BREAK_ENDED","AD_BREAK_FETCH_ERROR","AD_BREAK_IGNORED","CUEPOINTS_CHANGED","PLAY_HEAD_CHANGED","LOADED","CONTENT_PAUSE_REQUESTED","CONTENT_RESUME_REQUESTED","ALL_ADS_COMPLETED","AD_BUFFER_START","AD_BUFFER_END","AD_PLAYBACK_INFO_UPDATED","ERROR","DAI_SOURCE_SELECTED","AD_WATERFALLING","AD_WATERFALLING_FAILED"],"sources":["AdEvents.tsx"],"sourcesContent":["export const AdEvents = {\n // TODO: Generate it using some script\n AD_REQUESTED: 'adRequested',\n AD_FIRST_PLAY: 'adFirstPlay',\n STARTED: 'started',\n PAUSED: 'paused',\n RESUMED: 'resumed',\n COMPLETED: 'completed',\n FIRST_QUARTILE: 'firstQuartile',\n MIDPOINT: 'midpoint',\n THIRD_QUARTILE: 'thirdQuartile',\n SKIPPED: 'skipped',\n SKIPPABLE_STATE_CHANGED: 'skippableStateChanged',\n CLICKED: 'adClickedEvent',\n TAPPED: 'tapped',\n ICON_FALLBACK_IMAGE_CLOSED: 'iconFallbackImageClosed',\n ICON_TAPPED: 'iconTapped',\n AD_BREAK_READY: 'adBreakReady',\n AD_PROGRESS: 'adProgress',\n AD_BREAK_STARTED: 'adBreakStarted',\n AD_BREAK_ENDED: 'adBreakEnded',\n AD_BREAK_FETCH_ERROR: 'adBreakFetchError',\n AD_BREAK_IGNORED: 'adBreakIgnored',\n CUEPOINTS_CHANGED: 'cuepointsChanged',\n PLAY_HEAD_CHANGED: 'playHeadChanged',\n LOADED: 'loaded',\n CONTENT_PAUSE_REQUESTED: 'contentPauseRequested',\n CONTENT_RESUME_REQUESTED: 'contentResumeRequested',\n ALL_ADS_COMPLETED: 'allAdsCompleted',\n AD_BUFFER_START: 'adBufferStart',\n AD_BUFFER_END: 'adBufferEnd',\n AD_PLAYBACK_INFO_UPDATED: 'adPlaybackInfoUpdated',\n ERROR: 'adError',\n DAI_SOURCE_SELECTED: 'daiSourceSelected',\n AD_WATERFALLING: 'adWaterFalling',\n AD_WATERFALLING_FAILED: 'adWaterFallingFailed'\n};\n"],"mappings":"AAAA,OAAO,MAAMA,QAAQ,GAAG;EACtB;EACAC,YAAY,EAAE,aAAa;EAC3BC,aAAa,EAAE,aAAa;EAC5BC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,WAAW;EACtBC,cAAc,EAAE,eAAe;EAC/BC,QAAQ,EAAE,UAAU;EACpBC,cAAc,EAAE,eAAe;EAC/BC,OAAO,EAAE,SAAS;EAClBC,uBAAuB,EAAE,uBAAuB;EAChDC,OAAO,EAAE,gBAAgB;EACzBC,MAAM,EAAE,QAAQ;EAChBC,0BAA0B,EAAE,yBAAyB;EACrDC,WAAW,EAAE,YAAY;EACzBC,cAAc,EAAE,cAAc;EAC9BC,WAAW,EAAE,YAAY;EACzBC,gBAAgB,EAAE,gBAAgB;EAClCC,cAAc,EAAE,cAAc;EAC9BC,oBAAoB,EAAE,mBAAmB;EACzCC,gBAAgB,EAAE,gBAAgB;EAClCC,iBAAiB,EAAE,kBAAkB;EACrCC,iBAAiB,EAAE,iBAAiB;EACpCC,MAAM,EAAE,QAAQ;EAChBC,uBAAuB,EAAE,uBAAuB;EAChDC,wBAAwB,EAAE,wBAAwB;EAClDC,iBAAiB,EAAE,iBAAiB;EACpCC,eAAe,EAAE,eAAe;EAChCC,aAAa,EAAE,aAAa;EAC5BC,wBAAwB,EAAE,uBAAuB;EACjDC,KAAK,EAAE,SAAS;EAChBC,mBAAmB,EAAE,mBAAmB;EACxCC,eAAe,EAAE,gBAAgB;EACjCC,sBAAsB,EAAE;AAC1B,CAAC"} \ No newline at end of file diff --git a/lib/module/events/AnalyticsEvents.js b/lib/module/events/AnalyticsEvents.js index 313f044..e6cf0f1 100644 --- a/lib/module/events/AnalyticsEvents.js +++ b/lib/module/events/AnalyticsEvents.js @@ -1,6 +1,8 @@ export const AnalyticsEvents = { PHOENIX_CONCURRENCY_ERROR: 'concurrencyError', PHOENIX_BOOKMARK_ERROR: 'bookmarkError', - PHOENIX_ERROR: 'error' + PHOENIX_ERROR: 'error', + SOURCE_URL_SWITCHED: "sourceUrlSwitched", + CDN_SWITCHED: "cdnSwitched" }; //# sourceMappingURL=AnalyticsEvents.js.map \ No newline at end of file diff --git a/lib/module/events/AnalyticsEvents.js.map b/lib/module/events/AnalyticsEvents.js.map index a889195..7f1fb56 100644 --- a/lib/module/events/AnalyticsEvents.js.map +++ b/lib/module/events/AnalyticsEvents.js.map @@ -1 +1 @@ -{"version":3,"names":["AnalyticsEvents","PHOENIX_CONCURRENCY_ERROR","PHOENIX_BOOKMARK_ERROR","PHOENIX_ERROR"],"sources":["AnalyticsEvents.tsx"],"sourcesContent":["export const AnalyticsEvents = {\n PHOENIX_CONCURRENCY_ERROR: 'concurrencyError',\n PHOENIX_BOOKMARK_ERROR: 'bookmarkError',\n PHOENIX_ERROR: 'error'\n};\n"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG;EAC7BC,yBAAyB,EAAE,kBADE;EAE7BC,sBAAsB,EAAE,eAFK;EAG7BC,aAAa,EAAE;AAHc,CAAxB"} \ No newline at end of file +{"version":3,"names":["AnalyticsEvents","PHOENIX_CONCURRENCY_ERROR","PHOENIX_BOOKMARK_ERROR","PHOENIX_ERROR","SOURCE_URL_SWITCHED","CDN_SWITCHED"],"sources":["AnalyticsEvents.tsx"],"sourcesContent":["export const AnalyticsEvents = {\n PHOENIX_CONCURRENCY_ERROR: 'concurrencyError',\n PHOENIX_BOOKMARK_ERROR: 'bookmarkError',\n PHOENIX_ERROR: 'error',\n SOURCE_URL_SWITCHED: \"sourceUrlSwitched\",\n CDN_SWITCHED: \"cdnSwitched\"\n};\n"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG;EAC7BC,yBAAyB,EAAE,kBAAkB;EAC7CC,sBAAsB,EAAE,eAAe;EACvCC,aAAa,EAAE,OAAO;EACtBC,mBAAmB,EAAE,mBAAmB;EACxCC,YAAY,EAAE;AAChB,CAAC"} \ No newline at end of file diff --git a/lib/module/events/PlayerEvents.js b/lib/module/events/PlayerEvents.js index 1762f90..2135ccc 100644 --- a/lib/module/events/PlayerEvents.js +++ b/lib/module/events/PlayerEvents.js @@ -2,6 +2,7 @@ export const PlayerEvents = { // TODO: All the "" string needs to be added on Native android layer // TODO: Generate it using some script // TODO: Add pending events + STATE_CHANGED: 'stateChanged', CAN_PLAY: 'canPlay', // Sent when enough data is available that the media can be played, at least for a couple of frames. This corresponds to the HAVE_ENOUGH_DATA readyState. diff --git a/lib/module/events/PlayerEvents.js.map b/lib/module/events/PlayerEvents.js.map index 870697d..f320f43 100644 --- a/lib/module/events/PlayerEvents.js.map +++ b/lib/module/events/PlayerEvents.js.map @@ -1 +1 @@ -{"version":3,"names":["PlayerEvents","STATE_CHANGED","CAN_PLAY","DURATION_CHANGE","ENDED","ERROR","LOADED_METADATA","PAUSE","PLAY","PLAYING","SEEKED","SEEKING","TRACKS_AVAILABLE","REPLAY","PLAYBACK_INFO_UPDATED","VOLUME_CHANGED","STOPPED","METADATA_AVAILABLE","EVENT_STREAM_CHANGED","SOURCE_SELECTED","PLAYHEAD_UPDATED","VIDEO_TRACK_CHANGED","AUDIO_TRACK_CHANGED","TEXT_TRACK_CHANGED","IMAGE_TRACK_CHANGED","PLAYBACK_RATE_CHANGED","CONNECTION_ACQUIRED","VIDEO_FRAMES_DROPPED","OUTPUT_BUFFER_COUNT_UPDATE","BYTES_LOADED","SUBTITLE_STYLE_CHANGED","ASPECT_RATIO_RESIZE_MODE_CHANGED","LOAD_TIME_RANGES","DRM_INITIALIZED"],"sources":["PlayerEvents.tsx"],"sourcesContent":["export const PlayerEvents = {\n // TODO: All the \"\" string needs to be added on Native android layer\n // TODO: Generate it using some script\n // TODO: Add pending events\n\n STATE_CHANGED: 'stateChanged',\n CAN_PLAY: 'canPlay', // Sent when enough data is available that the media can be played, at least for a couple of frames. This corresponds to the HAVE_ENOUGH_DATA readyState.\n DURATION_CHANGE: 'durationChanged', // The metadata has loaded or changed, indicating a change in duration of the media. This is sent, for example, when the media has loaded enough that the duration is known.\n ENDED: 'ended', // Sent when playback completes.\n ERROR: 'error', // Sent when an error occurs. The element's error attribute contains more information. See Error handling for details.\n LOADED_METADATA: 'loadedMetadata', // The media's metadata has finished loading; all attributes now contain as much useful information as they're going to.\n PAUSE: 'pause', // Sent when playback is paused.\n PLAY: 'play', // Sent when playback of the media starts after having been paused; that is, when playback is resumed after a prior pause event.\n PLAYING: 'playing', // Sent when the media begins to play (either for the first time, after having been paused, or after ending and then restarting).\n SEEKED: 'seeked', // Sent when a seek operation completes.\n SEEKING: 'seeking', // Sent when a seek operation begins.\n TRACKS_AVAILABLE: 'tracksAvailable', // Sent when track info is available.\n REPLAY: 'replay', //Sent when replay happened.\n PLAYBACK_INFO_UPDATED: 'playbackInfoUpdated', // Sent event that notify about changes in the playback parameters. When bitrate of the video or audio track changes or new media loaded. Holds the PlaybackInfo.java object with relevant data.\n VOLUME_CHANGED: 'volumeChanged', // Sent when volume is changed.\n STOPPED: 'stopped', // sent when stop player api is called\n METADATA_AVAILABLE: 'metadataAvailable', // Sent when there is metadata available for this entry.\n EVENT_STREAM_CHANGED: 'eventStreamChanged', //Send event streams received from manifest\n SOURCE_SELECTED: 'sourceSelected', // Sent when the source was selected.\n PLAYHEAD_UPDATED: 'playheadUpdated', //Send player position every 100 Milisec\n VIDEO_TRACK_CHANGED: 'videoTrackChanged',\n AUDIO_TRACK_CHANGED: 'audioTrackChanged',\n TEXT_TRACK_CHANGED: 'textTrackChanged',\n IMAGE_TRACK_CHANGED: 'imageTrackChanged',\n PLAYBACK_RATE_CHANGED: 'playbackRateChanged',\n CONNECTION_ACQUIRED: 'connectionAcquired',\n VIDEO_FRAMES_DROPPED: 'videoFramesDropped', // Video frames were dropped, see PlayerEvent.VideoFramesDropped\n OUTPUT_BUFFER_COUNT_UPDATE: 'outputBufferCountUpdate',\n BYTES_LOADED: 'bytesLoaded', // Bytes were downloaded from the network\n SUBTITLE_STYLE_CHANGED: 'subtitlesStyleChanged', // Subtitle style is changed.\n ASPECT_RATIO_RESIZE_MODE_CHANGED: 'surfaceAspectRationSizeModeChanged', //Send when updating the Surface Vide Aspect Ratio size mode.\n LOAD_TIME_RANGES: 'loadedTimeRanges',\n DRM_INITIALIZED: 'drmInitialized'\n};\n"],"mappings":"AAAA,OAAO,MAAMA,YAAY,GAAG;EAC1B;EACA;EACA;EAEAC,aAAa,EAAE,cALW;EAM1BC,QAAQ,EAAE,SANgB;EAML;EACrBC,eAAe,EAAE,iBAPS;EAOU;EACpCC,KAAK,EAAE,OARmB;EAQV;EAChBC,KAAK,EAAE,OATmB;EASV;EAChBC,eAAe,EAAE,gBAVS;EAUS;EACnCC,KAAK,EAAE,OAXmB;EAWV;EAChBC,IAAI,EAAE,MAZoB;EAYZ;EACdC,OAAO,EAAE,SAbiB;EAaN;EACpBC,MAAM,EAAE,QAdkB;EAcR;EAClBC,OAAO,EAAE,SAfiB;EAeN;EACpBC,gBAAgB,EAAE,iBAhBQ;EAgBW;EACrCC,MAAM,EAAE,QAjBkB;EAiBR;EAClBC,qBAAqB,EAAE,qBAlBG;EAkBoB;EAC9CC,cAAc,EAAE,eAnBU;EAmBO;EACjCC,OAAO,EAAE,SApBiB;EAoBN;EACpBC,kBAAkB,EAAE,mBArBM;EAqBe;EACzCC,oBAAoB,EAAE,oBAtBI;EAsBkB;EAC5CC,eAAe,EAAE,gBAvBS;EAuBS;EACnCC,gBAAgB,EAAE,iBAxBQ;EAwBW;EACrCC,mBAAmB,EAAE,mBAzBK;EA0B1BC,mBAAmB,EAAE,mBA1BK;EA2B1BC,kBAAkB,EAAE,kBA3BM;EA4B1BC,mBAAmB,EAAE,mBA5BK;EA6B1BC,qBAAqB,EAAE,qBA7BG;EA8B1BC,mBAAmB,EAAE,oBA9BK;EA+B1BC,oBAAoB,EAAE,oBA/BI;EA+BkB;EAC5CC,0BAA0B,EAAE,yBAhCF;EAiC1BC,YAAY,EAAE,aAjCY;EAiCG;EAC7BC,sBAAsB,EAAE,uBAlCE;EAkCuB;EACjDC,gCAAgC,EAAE,oCAnCR;EAmC8C;EACxEC,gBAAgB,EAAE,kBApCQ;EAqC1BC,eAAe,EAAE;AArCS,CAArB"} \ No newline at end of file +{"version":3,"names":["PlayerEvents","STATE_CHANGED","CAN_PLAY","DURATION_CHANGE","ENDED","ERROR","LOADED_METADATA","PAUSE","PLAY","PLAYING","SEEKED","SEEKING","TRACKS_AVAILABLE","REPLAY","PLAYBACK_INFO_UPDATED","VOLUME_CHANGED","STOPPED","METADATA_AVAILABLE","EVENT_STREAM_CHANGED","SOURCE_SELECTED","PLAYHEAD_UPDATED","VIDEO_TRACK_CHANGED","AUDIO_TRACK_CHANGED","TEXT_TRACK_CHANGED","IMAGE_TRACK_CHANGED","PLAYBACK_RATE_CHANGED","CONNECTION_ACQUIRED","VIDEO_FRAMES_DROPPED","OUTPUT_BUFFER_COUNT_UPDATE","BYTES_LOADED","SUBTITLE_STYLE_CHANGED","ASPECT_RATIO_RESIZE_MODE_CHANGED","LOAD_TIME_RANGES","DRM_INITIALIZED"],"sources":["PlayerEvents.tsx"],"sourcesContent":["export const PlayerEvents = {\n // TODO: All the \"\" string needs to be added on Native android layer\n // TODO: Generate it using some script\n // TODO: Add pending events\n\n STATE_CHANGED: 'stateChanged',\n CAN_PLAY: 'canPlay', // Sent when enough data is available that the media can be played, at least for a couple of frames. This corresponds to the HAVE_ENOUGH_DATA readyState.\n DURATION_CHANGE: 'durationChanged', // The metadata has loaded or changed, indicating a change in duration of the media. This is sent, for example, when the media has loaded enough that the duration is known.\n ENDED: 'ended', // Sent when playback completes.\n ERROR: 'error', // Sent when an error occurs. The element's error attribute contains more information. See Error handling for details.\n LOADED_METADATA: 'loadedMetadata', // The media's metadata has finished loading; all attributes now contain as much useful information as they're going to.\n PAUSE: 'pause', // Sent when playback is paused.\n PLAY: 'play', // Sent when playback of the media starts after having been paused; that is, when playback is resumed after a prior pause event.\n PLAYING: 'playing', // Sent when the media begins to play (either for the first time, after having been paused, or after ending and then restarting).\n SEEKED: 'seeked', // Sent when a seek operation completes.\n SEEKING: 'seeking', // Sent when a seek operation begins.\n TRACKS_AVAILABLE: 'tracksAvailable', // Sent when track info is available.\n REPLAY: 'replay', //Sent when replay happened.\n PLAYBACK_INFO_UPDATED: 'playbackInfoUpdated', // Sent event that notify about changes in the playback parameters. When bitrate of the video or audio track changes or new media loaded. Holds the PlaybackInfo.java object with relevant data.\n VOLUME_CHANGED: 'volumeChanged', // Sent when volume is changed.\n STOPPED: 'stopped', // sent when stop player api is called\n METADATA_AVAILABLE: 'metadataAvailable', // Sent when there is metadata available for this entry.\n EVENT_STREAM_CHANGED: 'eventStreamChanged', //Send event streams received from manifest\n SOURCE_SELECTED: 'sourceSelected', // Sent when the source was selected.\n PLAYHEAD_UPDATED: 'playheadUpdated', //Send player position every 100 Milisec\n VIDEO_TRACK_CHANGED: 'videoTrackChanged',\n AUDIO_TRACK_CHANGED: 'audioTrackChanged',\n TEXT_TRACK_CHANGED: 'textTrackChanged',\n IMAGE_TRACK_CHANGED: 'imageTrackChanged',\n PLAYBACK_RATE_CHANGED: 'playbackRateChanged',\n CONNECTION_ACQUIRED: 'connectionAcquired',\n VIDEO_FRAMES_DROPPED: 'videoFramesDropped', // Video frames were dropped, see PlayerEvent.VideoFramesDropped\n OUTPUT_BUFFER_COUNT_UPDATE: 'outputBufferCountUpdate',\n BYTES_LOADED: 'bytesLoaded', // Bytes were downloaded from the network\n SUBTITLE_STYLE_CHANGED: 'subtitlesStyleChanged', // Subtitle style is changed.\n ASPECT_RATIO_RESIZE_MODE_CHANGED: 'surfaceAspectRationSizeModeChanged', //Send when updating the Surface Vide Aspect Ratio size mode.\n LOAD_TIME_RANGES: 'loadedTimeRanges',\n DRM_INITIALIZED: 'drmInitialized'\n};\n"],"mappings":"AAAA,OAAO,MAAMA,YAAY,GAAG;EAC1B;EACA;EACA;;EAEAC,aAAa,EAAE,cAAc;EAC7BC,QAAQ,EAAE,SAAS;EAAE;EACrBC,eAAe,EAAE,iBAAiB;EAAE;EACpCC,KAAK,EAAE,OAAO;EAAE;EAChBC,KAAK,EAAE,OAAO;EAAE;EAChBC,eAAe,EAAE,gBAAgB;EAAE;EACnCC,KAAK,EAAE,OAAO;EAAE;EAChBC,IAAI,EAAE,MAAM;EAAE;EACdC,OAAO,EAAE,SAAS;EAAE;EACpBC,MAAM,EAAE,QAAQ;EAAE;EAClBC,OAAO,EAAE,SAAS;EAAE;EACpBC,gBAAgB,EAAE,iBAAiB;EAAE;EACrCC,MAAM,EAAE,QAAQ;EAAE;EAClBC,qBAAqB,EAAE,qBAAqB;EAAE;EAC9CC,cAAc,EAAE,eAAe;EAAE;EACjCC,OAAO,EAAE,SAAS;EAAE;EACpBC,kBAAkB,EAAE,mBAAmB;EAAE;EACzCC,oBAAoB,EAAE,oBAAoB;EAAE;EAC5CC,eAAe,EAAE,gBAAgB;EAAE;EACnCC,gBAAgB,EAAE,iBAAiB;EAAE;EACrCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,mBAAmB;EACxCC,kBAAkB,EAAE,kBAAkB;EACtCC,mBAAmB,EAAE,mBAAmB;EACxCC,qBAAqB,EAAE,qBAAqB;EAC5CC,mBAAmB,EAAE,oBAAoB;EACzCC,oBAAoB,EAAE,oBAAoB;EAAE;EAC5CC,0BAA0B,EAAE,yBAAyB;EACrDC,YAAY,EAAE,aAAa;EAAE;EAC7BC,sBAAsB,EAAE,uBAAuB;EAAE;EACjDC,gCAAgC,EAAE,oCAAoC;EAAE;EACxEC,gBAAgB,EAAE,kBAAkB;EACpCC,eAAe,EAAE;AACnB,CAAC"} \ No newline at end of file diff --git a/lib/module/index.js b/lib/module/index.js index ea3b313..905275c 100644 --- a/lib/module/index.js +++ b/lib/module/index.js @@ -1,15 +1,13 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - import { requireNativeComponent, NativeModules } from 'react-native'; import React from 'react'; import PropTypes from 'prop-types'; import { PlayerEvents } from './events/PlayerEvents'; import { AdEvents } from './events/AdEvents'; import { AnalyticsEvents } from './events/AnalyticsEvents'; -import { PLAYER_TYPE, MEDIA_FORMAT, MEDIA_ENTRY_TYPE, DRM_SCHEME, PLAYER_PLUGIN, PLAYER_RESIZE_MODES, WAKEMODE, SUBTITLE_STYLE, SUBTITLE_PREFERENCE, VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE } from './consts'; -export { PlayerEvents, AdEvents, AnalyticsEvents, PLAYER_TYPE, MEDIA_FORMAT, MEDIA_ENTRY_TYPE, DRM_SCHEME, PLAYER_PLUGIN, PLAYER_RESIZE_MODES, WAKEMODE, SUBTITLE_STYLE, SUBTITLE_PREFERENCE, VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE }; +import { PLAYER_TYPE, MEDIA_FORMAT, MEDIA_ENTRY_TYPE, DRM_SCHEME, PLAYER_PLUGIN, PLAYER_RESIZE_MODES, WAKEMODE, SUBTITLE_STYLE, SUBTITLE_PREFERENCE, VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE, LOG_LEVEL } from './consts'; +export { PlayerEvents, AdEvents, AnalyticsEvents, PLAYER_TYPE, MEDIA_FORMAT, MEDIA_ENTRY_TYPE, DRM_SCHEME, PLAYER_PLUGIN, PLAYER_RESIZE_MODES, WAKEMODE, SUBTITLE_STYLE, SUBTITLE_PREFERENCE, VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE, LOG_LEVEL }; const RNKalturaPlayer = requireNativeComponent('KalturaPlayerView'); const { KalturaPlayerModule @@ -19,250 +17,203 @@ var debugLogs = false; export class KalturaPlayer extends React.Component { constructor() { super(...arguments); - _defineProperty(this, "nativeComponentRef", void 0); } - componentDidMount() { printConsoleLog('componentDidMount from Library.'); } - componentWillUnmount() { printConsoleLog('componentWillUnmount from Library'); } - render() { return /*#__PURE__*/React.createElement(RNKalturaPlayer, _extends({}, this.props, { ref: nativeRef => this.nativeComponentRef = nativeRef })); } - } - _defineProperty(KalturaPlayer, "propTypes", void 0); - KalturaPlayer.propTypes = { style: PropTypes.object }; export class KalturaPlayerAPI {} - _defineProperty(KalturaPlayerAPI, "setup", async function (playerType, options) { let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - if (playerType == null) { printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR); return; } - - if (!options) { + if (!options && playerType != PLAYER_TYPE.BASIC) { printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR); return; } - printConsoleLog('Setting up the Player'); return await setupKalturaPlayer(playerType, options, id); }); - _defineProperty(KalturaPlayerAPI, "loadMedia", async (id, asset) => { - if (!id || !asset) { - printConsoleLog(`loadMedia, invalid id = ${id} or asset = ${asset}`, LogType.ERROR); + if (!id) { + printConsoleLog(`loadMedia, invalid id = ${id}`, LogType.ERROR); return; } - printConsoleLog(`Loading the media. assetId is: ${id} and media asset is: ${asset}`); return await loadMediaKalturaPlayer(id, asset); }); - _defineProperty(KalturaPlayerAPI, "addPlayerView", () => { printConsoleLog('Calling Native method addPlayerView()'); KalturaPlayerModule.addPlayerView(); }); - _defineProperty(KalturaPlayerAPI, "removePlayerView", () => { printConsoleLog('Calling Native method removePlayerView()'); KalturaPlayerModule.removePlayerView(); }); - _defineProperty(KalturaPlayerAPI, "addListeners", () => { printConsoleLog('Calling Native method addListeners()'); KalturaPlayerModule.addKalturaPlayerListeners(); }); - _defineProperty(KalturaPlayerAPI, "removeListeners", () => { printConsoleLog('Calling Native method removeListeners()'); KalturaPlayerModule.removeKalturaPlayerListeners(); }); - _defineProperty(KalturaPlayerAPI, "onApplicationPaused", () => { printConsoleLog('Calling Native method onApplicationPaused()'); KalturaPlayerModule.onApplicationPaused(); }); - _defineProperty(KalturaPlayerAPI, "onApplicationResumed", () => { printConsoleLog('Calling Native method onApplicationResumed()'); KalturaPlayerModule.onApplicationResumed(); }); - _defineProperty(KalturaPlayerAPI, "updatePluginConfigs", configs => { if (!configs) { printConsoleLog(`updatePluginConfig, config is invalid: ${configs}`, LogType.ERROR); return; } - const stringifiedJson = JSON.stringify(configs); printConsoleLog(`Updated Plugin is: ${stringifiedJson}`); KalturaPlayerModule.updatePluginConfigs(stringifiedJson); }); - _defineProperty(KalturaPlayerAPI, "play", () => { printConsoleLog('Calling Native method play()'); KalturaPlayerModule.play(); }); - _defineProperty(KalturaPlayerAPI, "pause", () => { printConsoleLog('Calling Native method pause()'); KalturaPlayerModule.pause(); }); - _defineProperty(KalturaPlayerAPI, "stop", () => { printConsoleLog('Calling Native method stop()'); KalturaPlayerModule.stop(); }); - _defineProperty(KalturaPlayerAPI, "destroy", () => { printConsoleLog('Calling Native method destroy()'); KalturaPlayerModule.destroy(); }); - _defineProperty(KalturaPlayerAPI, "replay", () => { printConsoleLog('Calling Native method replay()'); KalturaPlayerModule.replay(); }); - _defineProperty(KalturaPlayerAPI, "seekTo", position => { printConsoleLog(`Calling Native method seekTo() position is: ${position}`); KalturaPlayerModule.seekTo(position); }); - _defineProperty(KalturaPlayerAPI, "changeTrack", trackId => { if (!trackId) { printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR); return; } - printConsoleLog('Calling Native method changeTrack()'); KalturaPlayerModule.changeTrack(trackId); }); - _defineProperty(KalturaPlayerAPI, "setPlaybackRate", rate => { printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`); KalturaPlayerModule.changePlaybackRate(rate); }); - _defineProperty(KalturaPlayerAPI, "setVolume", vol => { printConsoleLog('Calling Native method setVolume()'); KalturaPlayerModule.setVolume(vol); }); - _defineProperty(KalturaPlayerAPI, "setAutoPlay", isAutoPlay => { printConsoleLog('Calling Native method setAutoPlay()'); KalturaPlayerModule.setAutoplay(isAutoPlay); }); - _defineProperty(KalturaPlayerAPI, "setKS", KS => { if (!KS) { printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR); return; } - printConsoleLog('Calling Native method setKS()'); KalturaPlayerModule.setKS(KS); }); - _defineProperty(KalturaPlayerAPI, "seekToLiveDefaultPosition", () => { printConsoleLog('Calling Native method seekToLiveDefaultPosition()'); KalturaPlayerModule.seekToLiveDefaultPosition(); }); - _defineProperty(KalturaPlayerAPI, "updateSubtitleStyle", subtitleStyle => { if (!subtitleStyle) { printConsoleLog(`subtitleStyle is invalid which is: ${subtitleStyle}`, LogType.ERROR); return; } - printConsoleLog('Calling Native method updateSubtitleStyle()'); KalturaPlayerModule.updateSubtitleStyle(subtitleStyle); }); - _defineProperty(KalturaPlayerAPI, "updateResizeMode", mode => { printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()'); KalturaPlayerModule.updateResizeMode(mode); }); - _defineProperty(KalturaPlayerAPI, "updateAbrSettings", abrSettings => { if (!abrSettings) { printConsoleLog(`abrSettings is invalid which is: ${abrSettings}`, LogType.ERROR); return; } - printConsoleLog('Calling Native method updateABRSettings()'); KalturaPlayerModule.updateAbrSettings(abrSettings); }); - _defineProperty(KalturaPlayerAPI, "resetAbrSettings", () => { printConsoleLog('Calling Native method resetABRSettings()'); KalturaPlayerModule.resetAbrSettings(); }); - _defineProperty(KalturaPlayerAPI, "updateLowLatencyConfig", lowLatencyConfig => { if (!lowLatencyConfig) { printConsoleLog(`lowLatencyConfig is invalid which is: ${lowLatencyConfig}`, LogType.ERROR); return; } - printConsoleLog('Calling Native method updateLowLatencyConfig()'); KalturaPlayerModule.updateLLConfig(lowLatencyConfig); }); - _defineProperty(KalturaPlayerAPI, "resetLowLatencyConfig", () => { printConsoleLog('Calling Native method resetLowLatencyConfig()'); KalturaPlayerModule.resetLLConfig(); }); - _defineProperty(KalturaPlayerAPI, "getCurrentPosition", async () => { printConsoleLog('Calling Native method getCurrentPosition()'); return await getCurrentPosition(); }); - _defineProperty(KalturaPlayerAPI, "isPlaying", async () => { printConsoleLog('Calling Native method isPlaying'); return await isPlaying(); }); - _defineProperty(KalturaPlayerAPI, "isLive", async () => { printConsoleLog('Calling Native method isLive'); return await isLive(); }); - _defineProperty(KalturaPlayerAPI, "requestThumbnailInfo", async positionMs => { printConsoleLog('requestThumbnailInfo'); - if (positionMs < 0) { printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR); return; } - return await getThumbnailInfo(positionMs); }); - -_defineProperty(KalturaPlayerAPI, "enableDebugLogs", enabled => { - if (enabled == null) { +_defineProperty(KalturaPlayerAPI, "enableDebugLogs", function (enabled) { + let logLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : LOG_LEVEL.DEBUG; + if (enabled == null || logLevel == null) { return; } - debugLogs = enabled; + if (debugLogs && logLevel != LOG_LEVEL.OFF) { + KalturaPlayerModule.setLogLevel(logLevel); + } else { + KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF); + } }); - async function setupKalturaPlayer(playerType, options, id) { try { const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(playerType, id, options); @@ -270,10 +221,9 @@ async function setupKalturaPlayer(playerType, options, id) { return kalturaPlayerSetup; } catch (exception) { printConsoleLog(`setupKalturaPlayer Exception: ${exception}`, LogType.ERROR); - return exception; + return Promise.reject(exception); } } - async function loadMediaKalturaPlayer(id, asset) { try { const loadMedia = await KalturaPlayerModule.load(id, asset); @@ -281,10 +231,9 @@ async function loadMediaKalturaPlayer(id, asset) { return loadMedia; } catch (exception) { printConsoleLog(`loadMediaKalturaPlayer Exception: ${exception}`, LogType.ERROR); - return exception; + return Promise.reject(exception); } } - async function getCurrentPosition() { try { const currentPosition = await KalturaPlayerModule.getCurrentPosition(); @@ -295,7 +244,6 @@ async function getCurrentPosition() { return POSITION_UNSET; } } - async function isPlaying() { try { const isPlayerPlaying = await KalturaPlayerModule.isPlaying(); @@ -306,7 +254,6 @@ async function isPlaying() { return false; } } - async function isLive() { try { const isPlayerLive = await KalturaPlayerModule.isLive(); @@ -317,7 +264,6 @@ async function isLive() { return false; } } - async function getThumbnailInfo(position) { try { const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position); @@ -325,13 +271,11 @@ async function getThumbnailInfo(position) { return thumbnailInfo; } catch (exception) { printConsoleLog(`Exception: ${exception}`, LogType.ERROR); - return exception; + return Promise.reject(exception); } } - function printConsoleLog(message) { let logType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : LogType.LOG; - if (debugLogs) { switch (logType) { case LogType.LOG: @@ -339,19 +283,16 @@ function printConsoleLog(message) { console.log(message); break; } - case LogType.WARN: { console.warn(message); break; } - case LogType.ERROR: { console.error(message); break; } - default: { console.log(message); @@ -359,9 +300,7 @@ function printConsoleLog(message) { } } } - var LogType; - (function (LogType) { LogType[LogType["LOG"] = 0] = "LOG"; LogType[LogType["WARN"] = 1] = "WARN"; diff --git a/lib/module/index.js.map b/lib/module/index.js.map index 3ba95b6..df9bcfb 100644 --- a/lib/module/index.js.map +++ b/lib/module/index.js.map @@ -1 +1 @@ -{"version":3,"names":["requireNativeComponent","NativeModules","React","PropTypes","PlayerEvents","AdEvents","AnalyticsEvents","PLAYER_TYPE","MEDIA_FORMAT","MEDIA_ENTRY_TYPE","DRM_SCHEME","PLAYER_PLUGIN","PLAYER_RESIZE_MODES","WAKEMODE","SUBTITLE_STYLE","SUBTITLE_PREFERENCE","VIDEO_CODEC","AUDIO_CODEC","VR_INTERACTION_MODE","RNKalturaPlayer","KalturaPlayerModule","POSITION_UNSET","debugLogs","KalturaPlayer","Component","componentDidMount","printConsoleLog","componentWillUnmount","render","props","nativeRef","nativeComponentRef","propTypes","style","object","KalturaPlayerAPI","playerType","options","id","LogType","ERROR","setupKalturaPlayer","asset","loadMediaKalturaPlayer","addPlayerView","removePlayerView","addKalturaPlayerListeners","removeKalturaPlayerListeners","onApplicationPaused","onApplicationResumed","configs","stringifiedJson","JSON","stringify","updatePluginConfigs","play","pause","stop","destroy","replay","position","seekTo","trackId","changeTrack","rate","changePlaybackRate","vol","setVolume","isAutoPlay","setAutoplay","KS","setKS","seekToLiveDefaultPosition","subtitleStyle","updateSubtitleStyle","mode","updateResizeMode","abrSettings","updateAbrSettings","resetAbrSettings","lowLatencyConfig","updateLLConfig","resetLLConfig","getCurrentPosition","isPlaying","isLive","positionMs","getThumbnailInfo","enabled","kalturaPlayerSetup","setUpPlayer","exception","loadMedia","load","currentPosition","isPlayerPlaying","isPlayerLive","thumbnailInfo","requestThumbnailInfo","message","logType","LOG","console","log","WARN","warn","error"],"sources":["index.tsx"],"sourcesContent":["import { requireNativeComponent, NativeModules, ViewStyle } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PlayerEvents } from './events/PlayerEvents';\nimport { AdEvents } from './events/AdEvents';\nimport { AnalyticsEvents } from './events/AnalyticsEvents';\nimport {\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n} from './consts';\n\nexport {\n PlayerEvents,\n AdEvents,\n AnalyticsEvents,\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n};\n\nconst RNKalturaPlayer = requireNativeComponent('KalturaPlayerView');\nconst { KalturaPlayerModule } = NativeModules;\n\nconst POSITION_UNSET: number = -1;\nvar debugLogs = false;\n\ninterface KalturaPlayerProps {\n style: ViewStyle;\n}\n\nexport class KalturaPlayer extends React.Component {\n nativeComponentRef: any;\n\n static propTypes: {\n style: object;\n };\n\n componentDidMount() {\n printConsoleLog('componentDidMount from Library.');\n }\n\n componentWillUnmount() {\n printConsoleLog('componentWillUnmount from Library');\n }\n\n render() {\n return (\n (this.nativeComponentRef = nativeRef)}\n />\n );\n }\n}\n\nKalturaPlayer.propTypes = {\n style: PropTypes.object,\n};\n\nexport class KalturaPlayerAPI {\n /**\n * This method creates a Player instance internally (Basic, OVP/OTT Player)\n * With this, it take the PlayerInitOptions which are having essential Player settings values\n *\n * @param playerType The Player Type, Basic/OVP/OTT.\n * @param options PlayerInitOptions JSON String.\n * @param id PartnerId (Don't pass this parameter for BasicPlayer. For OVP/OTT player this value\n * should be always greater than 0 and should be valid otherwise, we will not be able to featch the details\n * for the mediaId or the entryId)\n */\n static setup = async (\n playerType: PLAYER_TYPE,\n options: string,\n id: number = 0\n ) => {\n if (playerType == null) {\n printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR);\n return;\n }\n\n if (!options) {\n printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Setting up the Player');\n return await setupKalturaPlayer(playerType, options, id);\n };\n\n /**\n * Load the media with the given\n *\n * assetId OR mediaId OR entryID for OVP/OTT Kaltura Player\n *\n * playbackURL for Basic Kaltura Player\n *\n * @param id Playback URL for Kaltura Basic Player OR\n * MediaId for Kaltura OTT Player OR\n * EntryId for Kaltura OVP Player\n * @param asset Media Asset JSON String\n */\n static loadMedia = async (id: string, asset: string) => {\n if (!id || !asset) {\n printConsoleLog(\n `loadMedia, invalid id = ${id} or asset = ${asset}`,\n LogType.ERROR\n );\n return;\n }\n\n printConsoleLog(\n `Loading the media. assetId is: ${id} and media asset is: ${asset}`\n );\n\n return await loadMediaKalturaPlayer(id, asset);\n };\n\n /**\n * Adds the Native Player View to the Player if not attached\n * Ideally this API should be called after calling {@link removePlayerView}\n */\n static addPlayerView = () => {\n printConsoleLog('Calling Native method addPlayerView()');\n KalturaPlayerModule.addPlayerView();\n };\n\n /**\n * Removes the Native Player View from the Player if it is attached\n * Ideally this API should be called after calling {@link addPlayerView}\n */\n static removePlayerView = () => {\n printConsoleLog('Calling Native method removePlayerView()');\n KalturaPlayerModule.removePlayerView();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static addListeners = () => {\n printConsoleLog('Calling Native method addListeners()');\n KalturaPlayerModule.addKalturaPlayerListeners();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static removeListeners = () => {\n printConsoleLog('Calling Native method removeListeners()');\n KalturaPlayerModule.removeKalturaPlayerListeners();\n };\n\n /**\n * Should be called when the application is in background\n */\n static onApplicationPaused = () => {\n printConsoleLog('Calling Native method onApplicationPaused()');\n KalturaPlayerModule.onApplicationPaused();\n };\n\n /**\n * Should be called when the application comes back to\n * foreground\n */\n static onApplicationResumed = () => {\n printConsoleLog('Calling Native method onApplicationResumed()');\n KalturaPlayerModule.onApplicationResumed();\n };\n\n /**\n * Update Plugin Configs\n *\n * @param configs Updated Plugin Configs (YouboraConfig JSON, IMAConfig JSON etc)\n */\n static updatePluginConfigs = (configs: object) => {\n if (!configs) {\n printConsoleLog(\n `updatePluginConfig, config is invalid: ${configs}`,\n LogType.ERROR\n );\n return;\n }\n\n const stringifiedJson = JSON.stringify(configs);\n printConsoleLog(`Updated Plugin is: ${stringifiedJson}`);\n\n KalturaPlayerModule.updatePluginConfigs(stringifiedJson);\n };\n\n /**\n * Play the player if it is not playing\n */\n static play = () => {\n printConsoleLog('Calling Native method play()');\n KalturaPlayerModule.play();\n };\n\n /**\n * Pause the player if it is playing\n */\n static pause = () => {\n printConsoleLog('Calling Native method pause()');\n KalturaPlayerModule.pause();\n };\n\n /**\n * Stops the player to the initial state\n */\n static stop = () => {\n printConsoleLog('Calling Native method stop()');\n KalturaPlayerModule.stop();\n };\n\n /**\n * Destroy the Kaltura Player instance\n */\n static destroy = () => {\n printConsoleLog('Calling Native method destroy()');\n KalturaPlayerModule.destroy();\n };\n\n /**\n * Replays the media from the beginning\n */\n static replay = () => {\n printConsoleLog('Calling Native method replay()');\n KalturaPlayerModule.replay();\n };\n\n /**\n * Seek the player to the specified position\n * @param position in miliseconds (Ms)\n */\n static seekTo = (position: number) => {\n printConsoleLog(`Calling Native method seekTo() position is: ${position}`);\n KalturaPlayerModule.seekTo(position);\n };\n\n /**\n * Change a specific track (Video, Audio or Text track)\n * @param trackId Unique track ID which was sent in `tracksAvailable` event\n */\n static changeTrack = (trackId: string) => {\n if (!trackId) {\n printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method changeTrack()');\n KalturaPlayerModule.changeTrack(trackId);\n };\n\n /**\n * Change the playback rate (ff or slow motion). Default is 1.0f\n * @param rate Desired playback rate (Ex: 0.5f, 1.5f 2.0f etc)\n */\n static setPlaybackRate = (rate: number) => {\n printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`);\n KalturaPlayerModule.changePlaybackRate(rate);\n };\n\n /**\n * Change the volume of the current audio track.\n * Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume.\n * If the volume parameter is higher then 1.0, it will be converted to 1.0.\n * If the volume parameter is lower then 0.0, it be converted to 0.0.\n *\n * @param vol - volume to set.\n */\n static setVolume = (vol: number) => {\n printConsoleLog('Calling Native method setVolume()');\n KalturaPlayerModule.setVolume(vol);\n };\n\n /**\n * Set the media to play automatically at the start (load)\n * if `false`, user will have to click on UI play button\n *\n * @param isAutoPlay media should be autoplayed at the start or not\n */\n static setAutoPlay = (isAutoPlay: boolean) => {\n printConsoleLog('Calling Native method setAutoPlay()');\n KalturaPlayerModule.setAutoplay(isAutoPlay);\n };\n\n /**\n * Set the KS for the media (only for OVP/OTT users)\n * Call this before calling {@link loadMedia}\n * @param KS Kaltura Secret key\n */\n static setKS = (KS: string) => {\n if (!KS) {\n printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method setKS()');\n KalturaPlayerModule.setKS(KS);\n };\n\n /**\n * NOOP\n * @param index\n */\n //static setZIndex = (index: number) => {\n // printConsoleLog('Calling Native method setZIndex()');\n //};\n\n /**\n * Only for Live Media.\n * Seek player to Live Default Position.\n */\n static seekToLiveDefaultPosition = () => {\n printConsoleLog('Calling Native method seekToLiveDefaultPosition()');\n KalturaPlayerModule.seekToLiveDefaultPosition();\n };\n\n /**\n * Update the existing subtitle styling\n */\n static updateSubtitleStyle = (subtitleStyle: string) => {\n if (!subtitleStyle) {\n printConsoleLog(\n `subtitleStyle is invalid which is: ${subtitleStyle}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateSubtitleStyle()');\n KalturaPlayerModule.updateSubtitleStyle(subtitleStyle);\n };\n\n /**\n * Update the Resize Mode\n */\n static updateResizeMode = (mode: PLAYER_RESIZE_MODES) => {\n printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()');\n KalturaPlayerModule.updateResizeMode(mode);\n };\n\n /**\n * Update the ABR Settings\n */\n static updateAbrSettings = (abrSettings: string) => {\n if (!abrSettings) {\n printConsoleLog(\n `abrSettings is invalid which is: ${abrSettings}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateABRSettings()');\n KalturaPlayerModule.updateAbrSettings(abrSettings);\n };\n\n /**\n * Reset the ABR Settings\n */\n static resetAbrSettings = () => {\n printConsoleLog('Calling Native method resetABRSettings()');\n KalturaPlayerModule.resetAbrSettings();\n };\n\n /**\n * Update the Low Latency Config\n * Only for Live Media\n */\n static updateLowLatencyConfig = (lowLatencyConfig: string) => {\n if (!lowLatencyConfig) {\n printConsoleLog(\n `lowLatencyConfig is invalid which is: ${lowLatencyConfig}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateLowLatencyConfig()');\n KalturaPlayerModule.updateLLConfig(lowLatencyConfig);\n };\n\n /**\n * Reset the Low Latency Config\n * Only for Live Media\n */\n static resetLowLatencyConfig = () => {\n printConsoleLog('Calling Native method resetLowLatencyConfig()');\n KalturaPlayerModule.resetLLConfig();\n };\n\n /**\n * Get the current playback position for Content and Ad\n * @returns number: Position of the player or {@link POSITION_UNSET}\n */\n static getCurrentPosition = async () => {\n printConsoleLog('Calling Native method getCurrentPosition()');\n return await getCurrentPosition();\n };\n\n /**\n * Checks if Player is currently playing or not\n * @returns boolean\n */\n static isPlaying = async () => {\n printConsoleLog('Calling Native method isPlaying');\n return await isPlaying();\n };\n\n /**\n * Checks if the stream is Live or Not\n * @returns boolean\n */\n static isLive = async () => {\n printConsoleLog('Calling Native method isLive');\n return await isLive();\n };\n\n /**\n * Get the Information for a thumbnail image by position.\n *\n * @param positionMs - relevant image for given player position.\n * @returns ThumbnailInfo JSON object\n */\n static requestThumbnailInfo = async (positionMs: number) => {\n printConsoleLog('requestThumbnailInfo');\n if (positionMs < 0) {\n printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR);\n return;\n }\n return await getThumbnailInfo(positionMs);\n };\n\n /**\n * Enable the console logs for the JS bridge\n * By default it is disabled.\n * @param enabled enable the debug logs\n * @returns if `enabled` is `null` then don't do anything\n */\n static enableDebugLogs = (enabled: boolean) => {\n if (enabled == null) {\n return;\n }\n debugLogs = enabled;\n };\n}\n\nasync function setupKalturaPlayer(\n playerType: PLAYER_TYPE,\n options: string,\n id: number\n) {\n try {\n const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(\n playerType,\n id,\n options\n );\n printConsoleLog(`Player is created: ${kalturaPlayerSetup}`);\n return kalturaPlayerSetup;\n } catch (exception) {\n printConsoleLog(\n `setupKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return exception;\n }\n}\n\nasync function loadMediaKalturaPlayer(id: string, asset: string) {\n try {\n const loadMedia = await KalturaPlayerModule.load(id, asset);\n printConsoleLog(`Media Loaded ${loadMedia}`);\n return loadMedia;\n } catch (exception) {\n printConsoleLog(\n `loadMediaKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return exception;\n }\n}\n\nasync function getCurrentPosition() {\n try {\n const currentPosition = await KalturaPlayerModule.getCurrentPosition();\n printConsoleLog(`Current Position: ${currentPosition}`);\n return currentPosition;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return POSITION_UNSET;\n }\n}\n\nasync function isPlaying() {\n try {\n const isPlayerPlaying = await KalturaPlayerModule.isPlaying();\n printConsoleLog(`isPlayerPlaying ${isPlayerPlaying}`);\n return isPlayerPlaying;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function isLive() {\n try {\n const isPlayerLive = await KalturaPlayerModule.isLive();\n printConsoleLog(`isPlayerLive ${isPlayerLive}`);\n return isPlayerLive;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function getThumbnailInfo(position: number) {\n try {\n const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position);\n printConsoleLog(`getThumbnailInfo ${JSON.stringify(thumbnailInfo)}`);\n return thumbnailInfo;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return exception;\n }\n}\n\nfunction printConsoleLog(message: String, logType: LogType = LogType.LOG) {\n if (debugLogs) {\n switch (logType) {\n case LogType.LOG: {\n console.log(message);\n break;\n }\n case LogType.WARN: {\n console.warn(message);\n break;\n }\n case LogType.ERROR: {\n console.error(message);\n break;\n }\n default: {\n console.log(message);\n }\n }\n }\n}\n\nenum LogType {\n LOG,\n WARN,\n ERROR,\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["requireNativeComponent","NativeModules","React","PropTypes","PlayerEvents","AdEvents","AnalyticsEvents","PLAYER_TYPE","MEDIA_FORMAT","MEDIA_ENTRY_TYPE","DRM_SCHEME","PLAYER_PLUGIN","PLAYER_RESIZE_MODES","WAKEMODE","SUBTITLE_STYLE","SUBTITLE_PREFERENCE","VIDEO_CODEC","AUDIO_CODEC","VR_INTERACTION_MODE","LOG_LEVEL","RNKalturaPlayer","KalturaPlayerModule","POSITION_UNSET","debugLogs","KalturaPlayer","Component","componentDidMount","printConsoleLog","componentWillUnmount","render","props","nativeRef","nativeComponentRef","propTypes","style","object","KalturaPlayerAPI","playerType","options","id","LogType","ERROR","BASIC","setupKalturaPlayer","asset","loadMediaKalturaPlayer","addPlayerView","removePlayerView","addKalturaPlayerListeners","removeKalturaPlayerListeners","onApplicationPaused","onApplicationResumed","configs","stringifiedJson","JSON","stringify","updatePluginConfigs","play","pause","stop","destroy","replay","position","seekTo","trackId","changeTrack","rate","changePlaybackRate","vol","setVolume","isAutoPlay","setAutoplay","KS","setKS","seekToLiveDefaultPosition","subtitleStyle","updateSubtitleStyle","mode","updateResizeMode","abrSettings","updateAbrSettings","resetAbrSettings","lowLatencyConfig","updateLLConfig","resetLLConfig","getCurrentPosition","isPlaying","isLive","positionMs","getThumbnailInfo","enabled","logLevel","DEBUG","OFF","setLogLevel","kalturaPlayerSetup","setUpPlayer","exception","Promise","reject","loadMedia","load","currentPosition","isPlayerPlaying","isPlayerLive","thumbnailInfo","requestThumbnailInfo","message","logType","LOG","console","log","WARN","warn","error"],"sources":["index.tsx"],"sourcesContent":["import { requireNativeComponent, NativeModules, ViewStyle } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PlayerEvents } from './events/PlayerEvents';\nimport { AdEvents } from './events/AdEvents';\nimport { AnalyticsEvents } from './events/AnalyticsEvents';\nimport {\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n} from './consts';\n\nexport {\n PlayerEvents,\n AdEvents,\n AnalyticsEvents,\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n};\n\nconst RNKalturaPlayer = requireNativeComponent('KalturaPlayerView');\nconst { KalturaPlayerModule } = NativeModules;\n\nconst POSITION_UNSET: number = -1;\nvar debugLogs = false;\n\ninterface KalturaPlayerProps {\n style: ViewStyle;\n}\n\nexport class KalturaPlayer extends React.Component {\n nativeComponentRef: any;\n\n static propTypes: {\n style: object;\n };\n\n componentDidMount() {\n printConsoleLog('componentDidMount from Library.');\n }\n\n componentWillUnmount() {\n printConsoleLog('componentWillUnmount from Library');\n }\n\n render() {\n return (\n (this.nativeComponentRef = nativeRef)}\n />\n );\n }\n}\n\nKalturaPlayer.propTypes = {\n style: PropTypes.object,\n};\n\nexport class KalturaPlayerAPI {\n /**\n * This method creates a Player instance internally (Basic, OVP/OTT Player)\n * With this, it take the PlayerInitOptions which are having essential Player settings values\n *\n * @param playerType The Player Type, Basic/OVP/OTT.\n * @param options PlayerInitOptions JSON String.\n * @param id PartnerId (Don't pass this parameter for BasicPlayer. For OVP/OTT player this value\n * should be always greater than 0 and should be valid otherwise, we will not be able to featch the details\n * for the mediaId or the entryId)\n */\n static setup = async (\n playerType: PLAYER_TYPE,\n options: string,\n id: number = 0\n ) => {\n if (playerType == null) {\n printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR);\n return;\n }\n\n if (!options && playerType != PLAYER_TYPE.BASIC) {\n printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Setting up the Player');\n return await setupKalturaPlayer(playerType, options, id);\n };\n\n /**\n * Load the media with the given\n *\n * assetId OR mediaId OR entryID for OVP/OTT Kaltura Player\n *\n * playbackURL for Basic Kaltura Player\n *\n * @param id Playback URL for Kaltura Basic Player OR\n * MediaId for Kaltura OTT Player OR\n * EntryId for Kaltura OVP Player\n * @param asset Media Asset JSON String\n */\n static loadMedia = async (id: string, asset: string) => {\n if (!id) {\n printConsoleLog(\n `loadMedia, invalid id = ${id}`,\n LogType.ERROR\n );\n return;\n }\n\n printConsoleLog(\n `Loading the media. assetId is: ${id} and media asset is: ${asset}`\n );\n\n return await loadMediaKalturaPlayer(id, asset);\n };\n\n /**\n * Adds the Native Player View to the Player if not attached\n * Ideally this API should be called after calling {@link removePlayerView}\n */\n static addPlayerView = () => {\n printConsoleLog('Calling Native method addPlayerView()');\n KalturaPlayerModule.addPlayerView();\n };\n\n /**\n * Removes the Native Player View from the Player if it is attached\n * Ideally this API should be called after calling {@link addPlayerView}\n */\n static removePlayerView = () => {\n printConsoleLog('Calling Native method removePlayerView()');\n KalturaPlayerModule.removePlayerView();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static addListeners = () => {\n printConsoleLog('Calling Native method addListeners()');\n KalturaPlayerModule.addKalturaPlayerListeners();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static removeListeners = () => {\n printConsoleLog('Calling Native method removeListeners()');\n KalturaPlayerModule.removeKalturaPlayerListeners();\n };\n\n /**\n * Should be called when the application is in background\n */\n static onApplicationPaused = () => {\n printConsoleLog('Calling Native method onApplicationPaused()');\n KalturaPlayerModule.onApplicationPaused();\n };\n\n /**\n * Should be called when the application comes back to\n * foreground\n */\n static onApplicationResumed = () => {\n printConsoleLog('Calling Native method onApplicationResumed()');\n KalturaPlayerModule.onApplicationResumed();\n };\n\n /**\n * Update Plugin Configs\n *\n * @param configs Updated Plugin Configs (YouboraConfig JSON, IMAConfig JSON etc)\n */\n static updatePluginConfigs = (configs: object) => {\n if (!configs) {\n printConsoleLog(\n `updatePluginConfig, config is invalid: ${configs}`,\n LogType.ERROR\n );\n return;\n }\n\n const stringifiedJson = JSON.stringify(configs);\n printConsoleLog(`Updated Plugin is: ${stringifiedJson}`);\n\n KalturaPlayerModule.updatePluginConfigs(stringifiedJson);\n };\n\n /**\n * Play the player if it is not playing\n */\n static play = () => {\n printConsoleLog('Calling Native method play()');\n KalturaPlayerModule.play();\n };\n\n /**\n * Pause the player if it is playing\n */\n static pause = () => {\n printConsoleLog('Calling Native method pause()');\n KalturaPlayerModule.pause();\n };\n\n /**\n * Stops the player to the initial state\n */\n static stop = () => {\n printConsoleLog('Calling Native method stop()');\n KalturaPlayerModule.stop();\n };\n\n /**\n * Destroy the Kaltura Player instance\n */\n static destroy = () => {\n printConsoleLog('Calling Native method destroy()');\n KalturaPlayerModule.destroy();\n };\n\n /**\n * Replays the media from the beginning\n */\n static replay = () => {\n printConsoleLog('Calling Native method replay()');\n KalturaPlayerModule.replay();\n };\n\n /**\n * Seek the player to the specified position\n * @param position in miliseconds (Ms)\n */\n static seekTo = (position: number) => {\n printConsoleLog(`Calling Native method seekTo() position is: ${position}`);\n KalturaPlayerModule.seekTo(position);\n };\n\n /**\n * Change a specific track (Video, Audio or Text track)\n * @param trackId Unique track ID which was sent in `tracksAvailable` event\n */\n static changeTrack = (trackId: string) => {\n if (!trackId) {\n printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method changeTrack()');\n KalturaPlayerModule.changeTrack(trackId);\n };\n\n /**\n * Change the playback rate (ff or slow motion). Default is 1.0f\n * @param rate Desired playback rate (Ex: 0.5f, 1.5f 2.0f etc)\n */\n static setPlaybackRate = (rate: number) => {\n printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`);\n KalturaPlayerModule.changePlaybackRate(rate);\n };\n\n /**\n * Change the volume of the current audio track.\n * Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume.\n * If the volume parameter is higher then 1.0, it will be converted to 1.0.\n * If the volume parameter is lower then 0.0, it be converted to 0.0.\n *\n * @param vol - volume to set.\n */\n static setVolume = (vol: number) => {\n printConsoleLog('Calling Native method setVolume()');\n KalturaPlayerModule.setVolume(vol);\n };\n\n /**\n * Set the media to play automatically at the start (load)\n * if `false`, user will have to click on UI play button\n *\n * @param isAutoPlay media should be autoplayed at the start or not\n */\n static setAutoPlay = (isAutoPlay: boolean) => {\n printConsoleLog('Calling Native method setAutoPlay()');\n KalturaPlayerModule.setAutoplay(isAutoPlay);\n };\n\n /**\n * Set the KS for the media (only for OVP/OTT users)\n * Call this before calling {@link loadMedia}\n * @param KS Kaltura Secret key\n */\n static setKS = (KS: string) => {\n if (!KS) {\n printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method setKS()');\n KalturaPlayerModule.setKS(KS);\n };\n\n /**\n * NOOP\n * @param index\n */\n //static setZIndex = (index: number) => {\n // printConsoleLog('Calling Native method setZIndex()');\n //};\n\n /**\n * Only for Live Media.\n * Seek player to Live Default Position.\n */\n static seekToLiveDefaultPosition = () => {\n printConsoleLog('Calling Native method seekToLiveDefaultPosition()');\n KalturaPlayerModule.seekToLiveDefaultPosition();\n };\n\n /**\n * Update the existing subtitle styling\n */\n static updateSubtitleStyle = (subtitleStyle: string) => {\n if (!subtitleStyle) {\n printConsoleLog(\n `subtitleStyle is invalid which is: ${subtitleStyle}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateSubtitleStyle()');\n KalturaPlayerModule.updateSubtitleStyle(subtitleStyle);\n };\n\n /**\n * Update the Resize Mode\n */\n static updateResizeMode = (mode: PLAYER_RESIZE_MODES) => {\n printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()');\n KalturaPlayerModule.updateResizeMode(mode);\n };\n\n /**\n * Update the ABR Settings\n */\n static updateAbrSettings = (abrSettings: string) => {\n if (!abrSettings) {\n printConsoleLog(\n `abrSettings is invalid which is: ${abrSettings}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateABRSettings()');\n KalturaPlayerModule.updateAbrSettings(abrSettings);\n };\n\n /**\n * Reset the ABR Settings\n */\n static resetAbrSettings = () => {\n printConsoleLog('Calling Native method resetABRSettings()');\n KalturaPlayerModule.resetAbrSettings();\n };\n\n /**\n * Update the Low Latency Config\n * Only for Live Media\n */\n static updateLowLatencyConfig = (lowLatencyConfig: string) => {\n if (!lowLatencyConfig) {\n printConsoleLog(\n `lowLatencyConfig is invalid which is: ${lowLatencyConfig}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateLowLatencyConfig()');\n KalturaPlayerModule.updateLLConfig(lowLatencyConfig);\n };\n\n /**\n * Reset the Low Latency Config\n * Only for Live Media\n */\n static resetLowLatencyConfig = () => {\n printConsoleLog('Calling Native method resetLowLatencyConfig()');\n KalturaPlayerModule.resetLLConfig();\n };\n\n /**\n * Get the current playback position for Content and Ad\n * @returns number: Position of the player or {@link POSITION_UNSET}\n */\n static getCurrentPosition = async () => {\n printConsoleLog('Calling Native method getCurrentPosition()');\n return await getCurrentPosition();\n };\n\n /**\n * Checks if Player is currently playing or not\n * @returns boolean\n */\n static isPlaying = async () => {\n printConsoleLog('Calling Native method isPlaying');\n return await isPlaying();\n };\n\n /**\n * Checks if the stream is Live or Not\n * @returns boolean\n */\n static isLive = async () => {\n printConsoleLog('Calling Native method isLive');\n return await isLive();\n };\n\n /**\n * Get the Information for a thumbnail image by position.\n *\n * @param positionMs - relevant image for given player position.\n * @returns ThumbnailInfo JSON object\n */\n static requestThumbnailInfo = async (positionMs: number) => {\n printConsoleLog('requestThumbnailInfo');\n if (positionMs < 0) {\n printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR);\n return;\n }\n return await getThumbnailInfo(positionMs);\n };\n\n /**\n * Enable the console logs for the JS bridge and Player.\n * By default it is disabled. \n * \n * For logLevel options {@link LOG_LEVEL}\n * \n * @param enabled enable the debug logs. Just set it to `false` to disable all the logs.\n * @param logLevel Default is `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs.\n * \n * @returns if `enabled` is `null` then don't do anything\n */\n static enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG) => {\n if (enabled == null || logLevel == null) {\n return;\n }\n\n debugLogs = enabled;\n\n if (debugLogs && logLevel != LOG_LEVEL.OFF) {\n KalturaPlayerModule.setLogLevel(logLevel);\n } else {\n KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF);\n }\n };\n}\n\nasync function setupKalturaPlayer(\n playerType: PLAYER_TYPE,\n options: string,\n id: number\n) {\n try {\n const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(\n playerType,\n id,\n options\n );\n printConsoleLog(`Player is created: ${kalturaPlayerSetup}`);\n return kalturaPlayerSetup;\n } catch (exception) {\n printConsoleLog(\n `setupKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function loadMediaKalturaPlayer(id: string, asset: string) {\n try {\n const loadMedia = await KalturaPlayerModule.load(id, asset);\n printConsoleLog(`Media Loaded ${loadMedia}`);\n return loadMedia;\n } catch (exception) {\n printConsoleLog(\n `loadMediaKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function getCurrentPosition() {\n try {\n const currentPosition = await KalturaPlayerModule.getCurrentPosition();\n printConsoleLog(`Current Position: ${currentPosition}`);\n return currentPosition;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return POSITION_UNSET;\n }\n}\n\nasync function isPlaying() {\n try {\n const isPlayerPlaying = await KalturaPlayerModule.isPlaying();\n printConsoleLog(`isPlayerPlaying ${isPlayerPlaying}`);\n return isPlayerPlaying;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function isLive() {\n try {\n const isPlayerLive = await KalturaPlayerModule.isLive();\n printConsoleLog(`isPlayerLive ${isPlayerLive}`);\n return isPlayerLive;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function getThumbnailInfo(position: number) {\n try {\n const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position);\n printConsoleLog(`getThumbnailInfo ${JSON.stringify(thumbnailInfo)}`);\n return thumbnailInfo;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return Promise.reject(exception);\n }\n}\n\nfunction printConsoleLog(message: String, logType: LogType = LogType.LOG) {\n if (debugLogs) {\n switch (logType) {\n case LogType.LOG: {\n console.log(message);\n break;\n }\n case LogType.WARN: {\n console.warn(message);\n break;\n }\n case LogType.ERROR: {\n console.error(message);\n break;\n }\n default: {\n console.log(message);\n }\n }\n }\n}\n\nenum LogType {\n LOG,\n WARN,\n ERROR,\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/lib/typescript/consts.d.ts b/lib/typescript/consts.d.ts index fd7268c..bbf92c4 100644 --- a/lib/typescript/consts.d.ts +++ b/lib/typescript/consts.d.ts @@ -141,3 +141,19 @@ export declare enum MULTICAST_EXTRACTOR_MODE { MODE_SINGLE_PMT = "MODE_SINGLE_PMT", MODE_HLS = "MODE_HLS" } +export declare enum IMA_AD_TAG_TYPE { + VMAP = "VMAP", + VAST = "VAST" +} +export declare enum IMADAI_STREAM_FORMAT { + DASH = "DASH", + HLS = "HLS" +} +export declare enum LOG_LEVEL { + VERBOSE = "VERBOSE", + DEBUG = "DEBUG", + WARN = "WARN", + INFO = "INFO", + ERROR = "ERROR", + OFF = "OFF" +} diff --git a/lib/typescript/events/AnalyticsEvents.d.ts b/lib/typescript/events/AnalyticsEvents.d.ts index 4185174..390f19b 100644 --- a/lib/typescript/events/AnalyticsEvents.d.ts +++ b/lib/typescript/events/AnalyticsEvents.d.ts @@ -2,4 +2,6 @@ export declare const AnalyticsEvents: { PHOENIX_CONCURRENCY_ERROR: string; PHOENIX_BOOKMARK_ERROR: string; PHOENIX_ERROR: string; + SOURCE_URL_SWITCHED: string; + CDN_SWITCHED: string; }; diff --git a/lib/typescript/index.d.ts b/lib/typescript/index.d.ts index 875912b..8a2c716 100644 --- a/lib/typescript/index.d.ts +++ b/lib/typescript/index.d.ts @@ -3,8 +3,8 @@ import React from 'react'; import { PlayerEvents } from './events/PlayerEvents'; import { AdEvents } from './events/AdEvents'; import { AnalyticsEvents } from './events/AnalyticsEvents'; -import { PLAYER_TYPE, MEDIA_FORMAT, MEDIA_ENTRY_TYPE, DRM_SCHEME, PLAYER_PLUGIN, PLAYER_RESIZE_MODES, WAKEMODE, SUBTITLE_STYLE, SUBTITLE_PREFERENCE, VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE } from './consts'; -export { PlayerEvents, AdEvents, AnalyticsEvents, PLAYER_TYPE, MEDIA_FORMAT, MEDIA_ENTRY_TYPE, DRM_SCHEME, PLAYER_PLUGIN, PLAYER_RESIZE_MODES, WAKEMODE, SUBTITLE_STYLE, SUBTITLE_PREFERENCE, VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE, }; +import { PLAYER_TYPE, MEDIA_FORMAT, MEDIA_ENTRY_TYPE, DRM_SCHEME, PLAYER_PLUGIN, PLAYER_RESIZE_MODES, WAKEMODE, SUBTITLE_STYLE, SUBTITLE_PREFERENCE, VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE, LOG_LEVEL } from './consts'; +export { PlayerEvents, AdEvents, AnalyticsEvents, PLAYER_TYPE, MEDIA_FORMAT, MEDIA_ENTRY_TYPE, DRM_SCHEME, PLAYER_PLUGIN, PLAYER_RESIZE_MODES, WAKEMODE, SUBTITLE_STYLE, SUBTITLE_PREFERENCE, VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE, LOG_LEVEL, }; interface KalturaPlayerProps { style: ViewStyle; } @@ -190,10 +190,15 @@ export declare class KalturaPlayerAPI { */ static requestThumbnailInfo: (positionMs: number) => Promise; /** - * Enable the console logs for the JS bridge + * Enable the console logs for the JS bridge and Player. * By default it is disabled. - * @param enabled enable the debug logs + * + * For logLevel options {@link LOG_LEVEL} + * + * @param enabled enable the debug logs. Just set it to `false` to disable all the logs. + * @param logLevel Default is `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs. + * * @returns if `enabled` is `null` then don't do anything */ - static enableDebugLogs: (enabled: boolean) => void; + static enableDebugLogs: (enabled: boolean, logLevel?: LOG_LEVEL) => void; } diff --git a/package.json b/package.json index 9851e79..4f54c54 100644 --- a/package.json +++ b/package.json @@ -51,12 +51,12 @@ "registry": "https://registry.npmjs.org/" }, "peerDependencies": { - "react-native": "^0.66.3" + "react-native": ">=0.66.3" }, "dependencies": { "prop-types": "^15.8.1", "react": "17.0.2", - "react-native": "^0.66.3" + "react-native": ">=0.66.3" }, "devDependencies": { "@babel/core": "^7.14.0", diff --git a/yarn.lock b/yarn.lock index 10ed8b7..0f257a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,7 +29,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.4.tgz#95c86de137bf0317f3a570e1b6e996b427299747" integrity sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw== -"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.18.5", "@babel/core@^7.7.5": +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.18.5", "@babel/core@^7.7.5": version "7.19.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== @@ -50,6 +50,27 @@ json5 "^2.2.1" semver "^6.3.0" +"@babel/core@^7.13.16": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.6.tgz#7122ae4f5c5a37c0946c066149abd8e75f81540f" + integrity sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.19.6" + "@babel/helper-compilation-targets" "^7.19.3" + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helpers" "^7.19.4" + "@babel/parser" "^7.19.6" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.6" + "@babel/types" "^7.19.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + "@babel/eslint-parser@^7.18.2": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4" @@ -68,6 +89,15 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" +"@babel/generator@^7.19.6", "@babel/generator@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.0.tgz#0bfc5379e0efb05ca6092091261fcdf7ec36249d" + integrity sha512-GUPcXxWibClgmYJuIwC2Bc2Lg+8b9VjaJ+HlNdACEVt+Wlr1eoU1OPZjZRm7Hzl0gaTsUZNQfeihvZJhG7oc3w== + dependencies: + "@babel/types" "^7.20.0" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" @@ -181,6 +211,20 @@ "@babel/traverse" "^7.19.0" "@babel/types" "^7.19.0" +"@babel/helper-module-transforms@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz#6c52cc3ac63b70952d33ee987cbee1c9368b533f" + integrity sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.19.4" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.19.6" + "@babel/types" "^7.19.4" + "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" @@ -214,7 +258,7 @@ "@babel/traverse" "^7.19.1" "@babel/types" "^7.19.0" -"@babel/helper-simple-access@^7.18.6": +"@babel/helper-simple-access@^7.18.6", "@babel/helper-simple-access@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz#be553f4951ac6352df2567f7daa19a0ee15668e7" integrity sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg== @@ -269,6 +313,15 @@ "@babel/traverse" "^7.19.4" "@babel/types" "^7.19.4" +"@babel/helpers@^7.19.4": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.0.tgz#27c8ffa8cc32a2ed3762fba48886e7654dbcf77f" + integrity sha512-aGMjYraN0zosCEthoGLdqot1oRsmxVTQRHadsUPz5QM44Zej2PYRz7XiDE7GqnkZnNtLbOuxqoZw42vkU7+XEQ== + dependencies: + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.0" + "@babel/types" "^7.20.0" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -278,11 +331,16 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.19.4": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3", "@babel/parser@^7.19.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.4.tgz#03c4339d2b8971eb3beca5252bafd9b9f79db3dc" integrity sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA== +"@babel/parser@^7.13.16", "@babel/parser@^7.19.6", "@babel/parser@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.0.tgz#b26133c888da4d79b0d3edcf42677bcadc783046" + integrity sha512-G9VgAhEaICnz8iiJeGJQyVl6J2nTjbW0xeisva0PK6XcKsga7BIaqm4ZF8Rg1Wbaqmy6znspNqhPaPkyukujzg== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -299,7 +357,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@^7.19.1": +"@babel/plugin-proposal-async-generator-functions@^7.0.0", "@babel/plugin-proposal-async-generator-functions@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== @@ -309,7 +367,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.17.12", "@babel/plugin-proposal-class-properties@^7.18.6": +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.17.12", "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -366,7 +424,7 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.1.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -401,7 +459,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.1.0", "@babel/plugin-proposal-optional-chaining@^7.18.9": +"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== @@ -712,7 +770,7 @@ "@babel/helper-plugin-utils" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.1.0", "@babel/plugin-transform-modules-commonjs@^7.18.6": +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== @@ -722,6 +780,15 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-commonjs@^7.13.8": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" + integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== + dependencies: + "@babel/helper-module-transforms" "^7.19.6" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-simple-access" "^7.19.4" + "@babel/plugin-transform-modules-systemjs@^7.19.0": version "7.19.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" @@ -741,7 +808,7 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": +"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== @@ -756,13 +823,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-object-assign@^7.0.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.18.6.tgz#7830b4b6f83e1374a5afb9f6111bcfaea872cdd2" - integrity sha512-mQisZ3JfqWh2gVXvfqYCAAyRs6+7oev+myBsTwW5RnPhYXOTuCEw2oe3YgxlXMViXUS53lG8koulI7mJ+8JE+A== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" @@ -832,7 +892,7 @@ "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-regenerator@^7.0.0", "@babel/plugin-transform-regenerator@^7.18.6": +"@babel/plugin-transform-regenerator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== @@ -1000,7 +1060,7 @@ core-js-compat "^3.25.1" semver "^6.3.0" -"@babel/preset-flow@^7.0.0", "@babel/preset-flow@^7.17.12": +"@babel/preset-flow@^7.13.13", "@babel/preset-flow@^7.17.12": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.18.6.tgz#83f7602ba566e72a9918beefafef8ef16d2810cb" integrity sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ== @@ -1032,7 +1092,7 @@ "@babel/plugin-transform-react-jsx-development" "^7.18.6" "@babel/plugin-transform-react-pure-annotations" "^7.18.6" -"@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.17.12": +"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.17.12": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== @@ -1041,7 +1101,7 @@ "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-transform-typescript" "^7.18.6" -"@babel/register@^7.0.0": +"@babel/register@^7.13.16": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c" integrity sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw== @@ -1052,6 +1112,13 @@ pirates "^4.0.5" source-map-support "^0.5.16" +"@babel/runtime@^7.0.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.0.tgz#824a9ef325ffde6f78056059db3168c08785e24a" + integrity sha512-NDYdls71fTXoU8TZHfbBWg7DiZfNzClcKui/+kyi6ppD2L1qnWW3VV6CjtaBXSUGGhiTWJ6ereOIkUvenif66Q== + dependencies: + regenerator-runtime "^0.13.10" + "@babel/runtime@^7.11.2", "@babel/runtime@^7.17.9", "@babel/runtime@^7.8.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.4.tgz#a42f814502ee467d55b38dd1c256f53a7b885c78" @@ -1084,6 +1151,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.19.6", "@babel/traverse@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.0.tgz#538c4c6ce6255f5666eba02252a7b59fc2d5ed98" + integrity sha512-5+cAXQNARgjRUK0JWu2UBwja4JLSO/rBMPJzpsKb+oBF5xlUuCfljQepS4XypBQoiigL0VQjTZy6WiONtUdScQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.0" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.0" + "@babel/types" "^7.20.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.19.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.19.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.4.tgz#0dd5c91c573a202d600490a35b33246fed8a41c7" @@ -1093,6 +1176,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.0.tgz#52c94cf8a7e24e89d2a194c25c35b17a64871479" + integrity sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1345,12 +1437,12 @@ slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/create-cache-key-function@^27.0.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz#7448fae15602ea95c828f5eceed35c202a820b31" - integrity sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ== +"@jest/create-cache-key-function@^29.0.3": + version "29.2.1" + resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.2.1.tgz#5f168051001ffea318b720cd6062daaf0b074913" + integrity sha512-///wxGQUyP0GCr3L1OcqIzhsKvN2gOyqWsRxs56XGCdD8EEuoKg857G9nC+zcWIpIsG+3J5UnEbhe3LJw8CNmQ== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.2.1" "@jest/environment@^26.6.2": version "26.6.2" @@ -1415,6 +1507,13 @@ optionalDependencies: node-notifier "^8.0.0" +"@jest/schemas@^29.0.0": + version "29.0.0" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" + integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== + dependencies: + "@sinclair/typebox" "^0.24.1" + "@jest/source-map@^26.6.2": version "26.6.2" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" @@ -1488,6 +1587,18 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@jest/types@^29.2.1": + version "29.2.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.2.1.tgz#ec9c683094d4eb754e41e2119d8bdaef01cf6da0" + integrity sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw== + dependencies: + "@jest/schemas" "^29.0.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" @@ -1556,142 +1667,166 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@react-native-community/cli-debugger-ui@^6.0.0-rc.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-6.0.0.tgz#ef9eb1268d85c1bd3caf2c4d36dc350bb080f254" - integrity sha512-onf6vtvqSzOr6bNEWhPzgcJP2UQhA0VY6c8tXwNczIONC/ahnN93LPBB/uXDbn9d/kLMvE7oUJiqRadZWHk6aA== +"@react-native-community/cli-clean@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-9.2.1.tgz#198c5dd39c432efb5374582073065ff75d67d018" + integrity sha512-dyNWFrqRe31UEvNO+OFWmQ4hmqA07bR9Ief/6NnGwx67IO9q83D5PEAf/o96ML6jhSbDwCmpPKhPwwBbsyM3mQ== + dependencies: + "@react-native-community/cli-tools" "^9.2.1" + chalk "^4.1.2" + execa "^1.0.0" + prompts "^2.4.0" + +"@react-native-community/cli-config@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-9.2.1.tgz#54eb026d53621ccf3a9df8b189ac24f6e56b8750" + integrity sha512-gHJlBBXUgDN9vrr3aWkRqnYrPXZLztBDQoY97Mm5Yo6MidsEpYo2JIP6FH4N/N2p1TdjxJL4EFtdd/mBpiR2MQ== + dependencies: + "@react-native-community/cli-tools" "^9.2.1" + cosmiconfig "^5.1.0" + deepmerge "^3.2.0" + glob "^7.1.3" + joi "^17.2.1" + +"@react-native-community/cli-debugger-ui@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-9.0.0.tgz#ea5c5dad6008bccd840d858e160d42bb2ced8793" + integrity sha512-7hH05ZwU9Tp0yS6xJW0bqcZPVt0YCK7gwj7gnRu1jDNN2kughf6Lg0Ys29rAvtZ7VO1PK5c1O+zs7yFnylQDUA== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-hermes@^6.3.0": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-6.3.1.tgz#a4c3b4b07a1775f7012baf6d5a0b059da2ffac00" - integrity sha512-+tMJsEsVX0WyylnoFE7uPoMu1aTAChaA62Y32dwWgAa1Fx6YrpPkC9d6wvYSBe9md/4mTtRher+ooBcuov6JHw== +"@react-native-community/cli-doctor@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-9.2.1.tgz#04859a93f0ea87d78cc7050362b6ce2b1c54fd36" + integrity sha512-RpUax0pkKumXJ5hcRG0Qd+oYWsA2RFeMWKY+Npg8q05Cwd1rqDQfWGprkHC576vz26+FPuvwEagoAf6fR2bvJA== + dependencies: + "@react-native-community/cli-config" "^9.2.1" + "@react-native-community/cli-platform-ios" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" + chalk "^4.1.2" + command-exists "^1.2.8" + envinfo "^7.7.2" + execa "^1.0.0" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + node-stream-zip "^1.9.1" + ora "^5.4.1" + prompts "^2.4.0" + semver "^6.3.0" + strip-ansi "^5.2.0" + sudo-prompt "^9.0.0" + wcwidth "^1.0.1" + +"@react-native-community/cli-hermes@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-9.2.1.tgz#c4aeadc4aa2b55cd0dd931a1a1c1909fd426f31a" + integrity sha512-723/NMb7egXzJrbWT1uEkN2hOpw+OOtWTG2zKJ3j7KKgUd8u/pP+/z5jO8xVrq+eYJEMjDK0FBEo1Xj7maR4Sw== dependencies: - "@react-native-community/cli-platform-android" "^6.3.1" - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-platform-android" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-platform-android@^6.0.0", "@react-native-community/cli-platform-android@^6.3.1": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-6.3.1.tgz#8d35c809ddaf3b6c5d4ef9ff9c814a25a55259aa" - integrity sha512-n5A64RI1ty4ScZCel/3JYY9Anl857dPsUZ86Dwc1GxrbflSB5/+hcCMg5DCNcnJRa4Hdv95SAR5pMmtAjOXApA== +"@react-native-community/cli-platform-android@9.2.1", "@react-native-community/cli-platform-android@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-9.2.1.tgz#cd73cb6bbaeb478cafbed10bd12dfc01b484d488" + integrity sha512-VamCZ8nido3Q3Orhj6pBIx48itORNPLJ7iTfy3nucD1qISEDih3DOzCaQCtmqdEBgUkNkNl0O+cKgq5A3th3Zg== dependencies: - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" execa "^1.0.0" fs-extra "^8.1.0" glob "^7.1.3" - jetifier "^1.6.2" - lodash "^4.17.15" logkitty "^0.7.1" slash "^3.0.0" - xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^6.0.0": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-6.2.1.tgz#852a7dc520071ac55fead3c78daa6a0060dde72f" - integrity sha512-5vwLRfTbIVUsO86AUPmR5vkp+7t4gTH2+SwRo0DKqBGBQ3hraA3dlWu0nzh99eQKQhCiFLB1WJPAi3zY03lK4w== +"@react-native-community/cli-platform-ios@9.2.1", "@react-native-community/cli-platform-ios@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.2.1.tgz#d90740472216ffae5527dfc5f49063ede18a621f" + integrity sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg== dependencies: - "@react-native-community/cli-tools" "^6.2.1" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" + execa "^1.0.0" glob "^7.1.3" - js-yaml "^3.13.1" - lodash "^4.17.15" - ora "^3.4.0" - plist "^3.0.2" - xcode "^2.0.0" + ora "^5.4.1" -"@react-native-community/cli-plugin-metro@^6.4.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-6.4.0.tgz#70b7908d6b548481f37ed58167f9460d325ae21c" - integrity sha512-lcrNODvHd3ZVhiEshXAjyBoqP44rjhkytkOSUpnZHAcmMLiguxDmvhWeWqbwu3XqSX/f0gVKmfj81t+opI1bSw== +"@react-native-community/cli-plugin-metro@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-9.2.1.tgz#0ec207e78338e0cc0a3cbe1b43059c24afc66158" + integrity sha512-byBGBH6jDfUvcHGFA45W/sDwMlliv7flJ8Ns9foCh3VsIeYYPoDjjK7SawE9cPqRdMAD4SY7EVwqJnOtRbwLiQ== dependencies: - "@react-native-community/cli-server-api" "^6.4.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-server-api" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" chalk "^4.1.2" - metro "^0.66.1" - metro-config "^0.66.1" - metro-core "^0.66.1" - metro-react-native-babel-transformer "^0.66.1" - metro-resolver "^0.66.1" - metro-runtime "^0.66.1" + metro "0.72.3" + metro-config "0.72.3" + metro-core "0.72.3" + metro-react-native-babel-transformer "0.72.3" + metro-resolver "0.72.3" + metro-runtime "0.72.3" readline "^1.3.0" -"@react-native-community/cli-server-api@^6.4.0": - version "6.4.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-6.4.3.tgz#b52444454f40bfb54a84ab52bf42e9f8002917f5" - integrity sha512-Ywy2x+PhIUZXgE74YiCYXylSVnuEBcq5cNfYLR3AwOvrILjh03smXfCca8s2V2LWUlzmWN6+L85FJGsT92MUJA== +"@react-native-community/cli-server-api@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-9.2.1.tgz#41ac5916b21d324bccef447f75600c03b2f54fbe" + integrity sha512-EI+9MUxEbWBQhWw2PkhejXfkcRqPl+58+whlXJvKHiiUd7oVbewFs0uLW0yZffUutt4FGx6Uh88JWEgwOzAdkw== dependencies: - "@react-native-community/cli-debugger-ui" "^6.0.0-rc.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-debugger-ui" "^9.0.0" + "@react-native-community/cli-tools" "^9.2.1" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.0" - nocache "^2.1.0" + nocache "^3.0.1" pretty-format "^26.6.2" serve-static "^1.13.1" - ws "^1.1.0" + ws "^7.5.1" -"@react-native-community/cli-tools@^6.2.0", "@react-native-community/cli-tools@^6.2.1": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-6.2.1.tgz#6f7ada6559846b49fb9fcfed522399b232976ada" - integrity sha512-7RbOkZLT/3YG8CAYYM70ajRKIOgVxK/b4t9KNsPq+2uen99MGezfeglC8s1cs3vBNVVxCo0a2JbXg18bUd8eqA== +"@react-native-community/cli-tools@^9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-9.2.1.tgz#c332324b1ea99f9efdc3643649bce968aa98191c" + integrity sha512-bHmL/wrKmBphz25eMtoJQgwwmeCylbPxqFJnFSbkqJPXQz3ManQ6q/gVVMqFyz7D3v+riaus/VXz3sEDa97uiQ== dependencies: appdirsjs "^1.2.4" chalk "^4.1.2" - lodash "^4.17.15" + find-up "^5.0.0" mime "^2.4.1" node-fetch "^2.6.0" open "^6.2.0" + ora "^5.4.1" semver "^6.3.0" shell-quote "^1.7.3" -"@react-native-community/cli-types@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-6.0.0.tgz#90269fbdc7229d5e3b8f2f3e029a94083551040d" - integrity sha512-K493Fk2DMJC0ZM8s8gnfseKxGasIhuDaCUDeLZcoCSFlrjKEuEs1BKKEJiev0CARhKEXKOyyp/uqYM9nWhisNw== +"@react-native-community/cli-types@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-9.1.0.tgz#dcd6a0022f62790fe1f67417f4690db938746aab" + integrity sha512-KDybF9XHvafLEILsbiKwz5Iobd+gxRaPyn4zSaAerBxedug4er5VUWa8Szy+2GeYKZzMh/gsb1o9lCToUwdT/g== dependencies: - ora "^3.4.0" + joi "^17.2.1" -"@react-native-community/cli@^6.0.0": - version "6.4.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-6.4.0.tgz#0b61a4b5f11293b0b79a0e78f80777387a9529a9" - integrity sha512-UNvYnWaALa4mJEaWdLY3fVK+csZzx/Ja/FGvXISPJ9W9lrKvGtyXkidViUCPbPtMsJUi7teA4uIShHn0mbGmnQ== - dependencies: - "@react-native-community/cli-debugger-ui" "^6.0.0-rc.0" - "@react-native-community/cli-hermes" "^6.3.0" - "@react-native-community/cli-plugin-metro" "^6.4.0" - "@react-native-community/cli-server-api" "^6.4.0" - "@react-native-community/cli-tools" "^6.2.0" - "@react-native-community/cli-types" "^6.0.0" - appdirsjs "^1.2.4" +"@react-native-community/cli@9.2.1": + version "9.2.1" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-9.2.1.tgz#15cc32531fc323d4232d57b1f2d7c571816305ac" + integrity sha512-feMYS5WXXKF4TSWnCXozHxtWq36smyhGaENXlkiRESfYZ1mnCUlPfOanNCAvNvBqdyh9d4o0HxhYKX1g9l6DCQ== + dependencies: + "@react-native-community/cli-clean" "^9.2.1" + "@react-native-community/cli-config" "^9.2.1" + "@react-native-community/cli-debugger-ui" "^9.0.0" + "@react-native-community/cli-doctor" "^9.2.1" + "@react-native-community/cli-hermes" "^9.2.1" + "@react-native-community/cli-plugin-metro" "^9.2.1" + "@react-native-community/cli-server-api" "^9.2.1" + "@react-native-community/cli-tools" "^9.2.1" + "@react-native-community/cli-types" "^9.1.0" chalk "^4.1.2" - command-exists "^1.2.8" - commander "^2.19.0" - cosmiconfig "^5.1.0" - deepmerge "^3.2.0" - envinfo "^7.7.2" + commander "^9.4.0" execa "^1.0.0" find-up "^4.1.0" fs-extra "^8.1.0" - glob "^7.1.3" graceful-fs "^4.1.3" - joi "^17.2.1" - leven "^3.1.0" - lodash "^4.17.15" - minimist "^1.2.0" - node-stream-zip "^1.9.1" - ora "^3.4.0" - pretty-format "^26.6.2" prompts "^2.4.0" semver "^6.3.0" - serve-static "^1.13.1" - strip-ansi "^5.2.0" - sudo-prompt "^9.0.0" - wcwidth "^1.0.1" "@react-native-community/eslint-config@*": version "3.1.0" @@ -1722,10 +1857,10 @@ resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/normalize-color@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-1.0.0.tgz#c52a99d4fe01049102d47dc45d40cbde4f720ab6" - integrity sha512-xUNRvNmCl3UGCPbbHvfyFMnpvLPoOjDCcp5bT9m2k+TF/ZBklEQwhPZlkrxRx2NhgFh1X3a5uL7mJ7ZR+8G7Qg== +"@react-native/normalize-color@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567" + integrity sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw== "@react-native/polyfills@2.0.0": version "2.0.0" @@ -1749,6 +1884,11 @@ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== +"@sinclair/typebox@^0.24.1": + version "0.24.51" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" + integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== + "@sinonjs/commons@^1.7.0": version "1.8.3" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" @@ -1924,6 +2064,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yargs@^17.0.8": + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" + integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== + dependencies: + "@types/yargs-parser" "*" + "@typescript-eslint/eslint-plugin@^5.30.5": version "5.40.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.40.0.tgz#0159bb71410eec563968288a17bd4478cdb685bd" @@ -2267,12 +2414,10 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@^2.4.0: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" +async@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== asynckit@^0.4.0: version "0.4.0" @@ -2429,7 +2574,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.1.2, base64-js@^1.5.1: +base64-js@^1.1.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -2447,24 +2592,14 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -big-integer@1.6.x: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== - -bplist-creator@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" - integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg== - dependencies: - stream-buffers "2.2.x" - -bplist-parser@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.1.tgz#e1c90b2ca2a9f9474cc72f6862bbf3fee8341fd1" - integrity sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA== +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== dependencies: - big-integer "1.6.x" + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" brace-expansion@^1.1.7: version "1.1.11" @@ -2531,6 +2666,14 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -2622,7 +2765,7 @@ chalk@4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: +chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2631,7 +2774,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2649,6 +2792,11 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^3.2.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.5.0.tgz#bfac2a29263de4c829d806b1ab478e35091e171f" + integrity sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw== + cjs-module-lexer@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" @@ -2669,14 +2817,14 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: - restore-cursor "^2.0.0" + restore-cursor "^3.1.0" -cli-spinners@^2.0.0: +cli-spinners@^2.5.0: version "2.7.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== @@ -2760,11 +2908,6 @@ colorette@^1.0.7: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -colors@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -2777,10 +2920,10 @@ command-exists@^1.2.8: resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== -commander@^2.19.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^9.4.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd" + integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw== commander@~2.13.0: version "2.13.0" @@ -3983,7 +4126,7 @@ globby@^11.0.1, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -4070,15 +4213,17 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hermes-engine@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.9.0.tgz#84d9cfe84e8f6b1b2020d6e71b350cec84ed982f" - integrity sha512-r7U+Y4P2Qg/igFVZN+DpT7JFfXUn1MM4dFne8aW+cCrF6RRymof+VqrUHs1kl07j8h8V2CNesU19RKgWbr3qPw== +hermes-estree@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.8.0.tgz#530be27243ca49f008381c1f3e8b18fb26bf9ec0" + integrity sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q== -hermes-parser@0.4.7: - version "0.4.7" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.4.7.tgz#410f5129d57183784d205a0538e6fbdcf614c9ea" - integrity sha512-jc+zCtXbtwTiXoMAoXOHepxAaGVFIp89wwE9qcdwnMd/uGVEtPoY8FaFSsx0ThPvyKirdR2EsIIDVrpbSXz1Ag== +hermes-parser@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.8.0.tgz#116dceaba32e45b16d6aefb5c4c830eaeba2d257" + integrity sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA== + dependencies: + hermes-estree "0.8.0" hermes-profile-transformer@^0.0.6: version "0.0.6" @@ -4156,6 +4301,11 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -4213,7 +4363,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -4414,6 +4564,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: dependencies: is-extglob "^2.1.1" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -4535,6 +4690,11 @@ is-unc-path@^1.0.0: dependencies: unc-path-regex "^0.1.2" +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -4743,7 +4903,7 @@ jest-get-type@^26.3.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-haste-map@^26.5.2, jest-haste-map@^26.6.2: +jest-haste-map@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== @@ -4839,6 +4999,11 @@ jest-regex-util@^26.0.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== +jest-regex-util@^27.0.6: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + jest-resolve-dependencies@^26.6.3: version "26.6.3" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" @@ -4929,6 +5094,14 @@ jest-serializer@^26.6.2: "@types/node" "*" graceful-fs "^4.2.4" +jest-serializer@^27.0.6: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + jest-snapshot@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" @@ -4963,6 +5136,18 @@ jest-util@^26.6.2: is-ci "^2.0.0" micromatch "^4.0.2" +jest-util@^27.2.0: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + jest-validate@^26.5.2, jest-validate@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" @@ -4988,7 +5173,7 @@ jest-watcher@^26.6.2: jest-util "^26.6.2" string-length "^4.0.1" -jest-worker@^26.0.0, jest-worker@^26.6.2: +jest-worker@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -4997,6 +5182,15 @@ jest-worker@^26.0.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.2.0: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@^26.6.3: version "26.6.3" resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" @@ -5006,11 +5200,6 @@ jest@^26.6.3: import-local "^3.0.2" jest-cli "^26.6.3" -jetifier@^1.6.2: - version "1.6.8" - resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-1.6.8.tgz#e88068697875cbda98c32472902c4d3756247798" - integrity sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw== - jetifier@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-2.0.0.tgz#699391367ca1fe7bc4da5f8bf691eb117758e4cb" @@ -5045,29 +5234,29 @@ jsc-android@^250230.2.1: resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250230.2.1.tgz#3790313a970586a03ab0ad47defbc84df54f1b83" integrity sha512-KmxeBlRjwoqCnBBKGsihFtvsBHyUFlBxJPK4FzeYcIuBfdjv6jFys44JITAgSTbQD+vIdwMEfyZklsuQX0yI1Q== -jscodeshift@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.11.0.tgz#4f95039408f3f06b0e39bb4d53bc3139f5330e2f" - integrity sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g== - dependencies: - "@babel/core" "^7.1.6" - "@babel/parser" "^7.1.6" - "@babel/plugin-proposal-class-properties" "^7.1.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.1.0" - "@babel/plugin-proposal-optional-chaining" "^7.1.0" - "@babel/plugin-transform-modules-commonjs" "^7.1.0" - "@babel/preset-flow" "^7.0.0" - "@babel/preset-typescript" "^7.1.0" - "@babel/register" "^7.0.0" +jscodeshift@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef" + integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ== + dependencies: + "@babel/core" "^7.13.16" + "@babel/parser" "^7.13.16" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/preset-flow" "^7.13.13" + "@babel/preset-typescript" "^7.13.0" + "@babel/register" "^7.13.16" babel-core "^7.0.0-bridge.0" - colors "^1.1.2" + chalk "^4.1.2" flow-parser "0.*" graceful-fs "^4.2.4" micromatch "^3.1.10" neo-async "^2.5.0" node-dir "^0.1.17" - recast "^0.20.3" - temp "^0.8.1" + recast "^0.20.4" + temp "^0.8.4" write-file-atomic "^2.3.0" jsdom@^16.4.0: @@ -5288,17 +5477,18 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0: +lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: - chalk "^2.0.1" + chalk "^4.1.0" + is-unicode-supported "^0.1.0" logkitty@^0.7.1: version "0.7.1" @@ -5367,6 +5557,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +memoize-one@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -5394,93 +5589,98 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -metro-babel-register@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-babel-register/-/metro-babel-register-0.66.2.tgz#c6bbe36c7a77590687ccd74b425dc020d17d05af" - integrity sha512-3F+vsVubUPJYKfVMeol8/7pd8CC287Rw92QYzJD8LEmI980xcgwMUEVBZ0UIAUwlLgiJG/f4Mwhuji2EeBXrPg== - dependencies: - "@babel/core" "^7.14.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-proposal-optional-chaining" "^7.0.0" - "@babel/plugin-syntax-class-properties" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/register" "^7.0.0" - escape-string-regexp "^1.0.5" - -metro-babel-transformer@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.66.2.tgz#fce0a3e314d28a5e7141c135665e1cc9b8e7ce86" - integrity sha512-aJ/7fc/Xkofw8Fqa51OTDhBzBz26mmpIWrXAZcPdQ8MSTt883EWncxeCEjasc79NJ89BRi7sOkkaWZo2sXlKvw== +metro-babel-transformer@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.72.3.tgz#2c60493a4eb7a8d20cc059f05e0e505dc1684d01" + integrity sha512-PTOR2zww0vJbWeeM3qN90WKENxCLzv9xrwWaNtwVlhcV8/diNdNe82sE1xIxLFI6OQuAVwNMv1Y7VsO2I7Ejrw== dependencies: "@babel/core" "^7.14.0" - hermes-parser "0.4.7" - metro-source-map "0.66.2" + hermes-parser "0.8.0" + metro-source-map "0.72.3" nullthrows "^1.1.1" -metro-cache-key@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.66.2.tgz#d6463d2a53e887a38419d523962cc24ea0e780b4" - integrity sha512-WtkNmRt41qOpHh1MkNA4nLiQ/m7iGL90ysSKD+fcLqlUnOBKJptPQm0ZUv8Kfqk18ddWX2KmsSbq+Sf3I6XohQ== +metro-cache-key@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.72.3.tgz#dcc3055b6cb7e35b84b4fe736a148affb4ecc718" + integrity sha512-kQzmF5s3qMlzqkQcDwDxrOaVxJ2Bh6WRXWdzPnnhsq9LcD3B3cYqQbRBS+3tSuXmathb4gsOdhWslOuIsYS8Rg== -metro-cache@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.66.2.tgz#e0af4e0a319898f7d42a980f7ee5da153fcfd019" - integrity sha512-5QCYJtJOHoBSbL3H4/Fpl36oA697C3oYHqsce+Hk/dh2qtODUGpS3gOBhvP1B8iB+H8jJMyR75lZq129LJEsIQ== +metro-cache@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.72.3.tgz#fd079f90b12a81dd5f1567c607c13b14ae282690" + integrity sha512-++eyZzwkXvijWRV3CkDbueaXXGlVzH9GA52QWqTgAOgSHYp5jWaDwLQ8qpsMkQzpwSyIF4LLK9aI3eA7Xa132A== dependencies: - metro-core "0.66.2" - mkdirp "^0.5.1" + metro-core "0.72.3" rimraf "^2.5.4" -metro-config@0.66.2, metro-config@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.66.2.tgz#e365acdb66ad0cda0182b9c9910760a97ee4293b" - integrity sha512-0C+PrKKIBNNzLZUKN/8ZDJS2U5FLMOTXDWbvBHIdqb6YXz8WplXR2+xlSlaSCCi5b+GR7cWFWUNeKA4GQS1/AQ== +metro-config@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.72.3.tgz#c2f1a89537c79cec516b1229aa0550dfa769e2ee" + integrity sha512-VEsAIVDkrIhgCByq8HKTWMBjJG6RlYwWSu1Gnv3PpHa0IyTjKJtB7wC02rbTjSaemcr82scldf2R+h6ygMEvsw== dependencies: cosmiconfig "^5.0.5" jest-validate "^26.5.2" - metro "0.66.2" - metro-cache "0.66.2" - metro-core "0.66.2" - metro-runtime "0.66.2" + metro "0.72.3" + metro-cache "0.72.3" + metro-core "0.72.3" + metro-runtime "0.72.3" -metro-core@0.66.2, metro-core@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.66.2.tgz#ead776a17b3e5a307e6dc22259db30bf5c7e8490" - integrity sha512-JieLZkef/516yxXYvQxWnf3OWw5rcgWRy76K8JV/wr/i8LGVGulPAXlIi445/QZzXVydzRVASKAEVqyxM5F4mA== +metro-core@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.72.3.tgz#e3a276d54ecc8fe667127347a1bfd3f8c0009ccb" + integrity sha512-KuYWBMmLB4+LxSMcZ1dmWabVExNCjZe3KysgoECAIV+wyIc2r4xANq15GhS94xYvX1+RqZrxU1pa0jQ5OK+/6A== dependencies: - jest-haste-map "^26.5.2" lodash.throttle "^4.1.1" - metro-resolver "0.66.2" + metro-resolver "0.72.3" -metro-hermes-compiler@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.66.2.tgz#30290748f83805faa601aa487632444915795823" - integrity sha512-nCVL1g9uR6vrw5+X1wjwZruRyMkndnzGRMqjqoljf+nGEqBTD607CR7elXw4fMWn/EM+1y0Vdq5altUu9LdgCA== +metro-file-map@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.72.3.tgz#94f6d4969480aa7f47cfe2c5f365ad4e85051f12" + integrity sha512-LhuRnuZ2i2uxkpFsz1XCDIQSixxBkBG7oICAFyLyEMDGbcfeY6/NexphfLdJLTghkaoJR5ARFMiIxUg9fIY/pA== + dependencies: + abort-controller "^3.0.0" + anymatch "^3.0.3" + debug "^2.2.0" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + invariant "^2.2.4" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.2.0" + jest-worker "^27.2.0" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + +metro-hermes-compiler@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.72.3.tgz#e9ab4d25419eedcc72c73842c8da681a4a7e691e" + integrity sha512-QWDQASMiXNW3j8uIQbzIzCdGYv5PpAX/ZiF4/lTWqKRWuhlkP4auhVY4eqdAKj5syPx45ggpjkVE0p8hAPDZYg== -metro-inspector-proxy@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.66.2.tgz#a83c76bd2f2fd7b9240be92acf9a8b1d1404547a" - integrity sha512-gnLc9121eznwP0iiA9tCBW8qZjwIsCgwHWMF1g1Qaki9le9tzeJv3dK4/lFNGxyfSaLO7vahQEhsEYsiRnTROg== +metro-inspector-proxy@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.72.3.tgz#8d7ff4240fc414af5b72d86dac2485647fc3cf09" + integrity sha512-UPFkaq2k93RaOi+eqqt7UUmqy2ywCkuxJLasQ55+xavTUS+TQSyeTnTczaYn+YKw+izLTLllGcvqnQcZiWYhGw== dependencies: connect "^3.6.5" debug "^2.2.0" - ws "^1.1.5" + ws "^7.5.1" yargs "^15.3.1" -metro-minify-uglify@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.66.2.tgz#6061dbee4f61e6d5bb3c100e4379ff6f2e16e42b" - integrity sha512-7TUK+L5CmB5x1PVnFbgmjzHW4CUadq9H5jgp0HfFoWT1skXAyEsx0DHkKDXwnot0khnNhBOEfl62ctQOnE110Q== +metro-minify-uglify@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.72.3.tgz#a9d4cd27933b29cfe95d8406b40d185567a93d39" + integrity sha512-dPXqtMI8TQcj0g7ZrdhC8X3mx3m3rtjtMuHKGIiEXH9CMBvrET8IwrgujQw2rkPcXiSiX8vFDbGMIlfxefDsKA== dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.66.2.tgz#fddebcf413ad4ea617d4f47f7c1da401052de734" - integrity sha512-H/nLBAz0MgfDloSe1FjyH4EnbokHFdncyERvLPXDACY3ROVRCeUyFNo70ywRGXW2NMbrV4H7KUyU4zkfWhC2HQ== +metro-react-native-babel-preset@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.72.3.tgz#e549199fa310fef34364fdf19bd210afd0c89432" + integrity sha512-uJx9y/1NIqoYTp6ZW1osJ7U5ZrXGAJbOQ/Qzl05BdGYvN1S7Qmbzid6xOirgK0EIT0pJKEEh1s8qbassYZe4cw== dependencies: "@babel/core" "^7.14.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" "@babel/plugin-proposal-class-properties" "^7.0.0" "@babel/plugin-proposal-export-default-from" "^7.0.0" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" @@ -5500,17 +5700,15 @@ metro-react-native-babel-preset@0.66.2: "@babel/plugin-transform-destructuring" "^7.0.0" "@babel/plugin-transform-exponentiation-operator" "^7.0.0" "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-for-of" "^7.0.0" "@babel/plugin-transform-function-name" "^7.0.0" "@babel/plugin-transform-literals" "^7.0.0" "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-object-assign" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" "@babel/plugin-transform-parameters" "^7.0.0" "@babel/plugin-transform-react-display-name" "^7.0.0" "@babel/plugin-transform-react-jsx" "^7.0.0" "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" - "@babel/plugin-transform-regenerator" "^7.0.0" "@babel/plugin-transform-runtime" "^7.0.0" "@babel/plugin-transform-shorthand-properties" "^7.0.0" "@babel/plugin-transform-spread" "^7.0.0" @@ -5521,61 +5719,64 @@ metro-react-native-babel-preset@0.66.2: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.66.2, metro-react-native-babel-transformer@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.66.2.tgz#768f341e7c3d3d1c38189799c9884b90d1c32eb7" - integrity sha512-z1ab7ihIT0pJrwgi9q2IH+LcW/xUWMQ0hH+Mrk7wbKQB0RnJdXFoxphrfoVHBHMUu+TBPetUcEkKawkK1e7Cng== +metro-react-native-babel-transformer@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.72.3.tgz#f8eda8c07c0082cbdbef47a3293edc41587c6b5a" + integrity sha512-Ogst/M6ujYrl/+9mpEWqE3zF7l2mTuftDTy3L8wZYwX1pWUQWQpfU1aJBeWiLxt1XlIq+uriRjKzKoRoIK57EA== dependencies: "@babel/core" "^7.14.0" babel-preset-fbjs "^3.4.0" - hermes-parser "0.4.7" - metro-babel-transformer "0.66.2" - metro-react-native-babel-preset "0.66.2" - metro-source-map "0.66.2" + hermes-parser "0.8.0" + metro-babel-transformer "0.72.3" + metro-react-native-babel-preset "0.72.3" + metro-source-map "0.72.3" nullthrows "^1.1.1" -metro-resolver@0.66.2, metro-resolver@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.66.2.tgz#f743ddbe7a12dd137d1f7a555732cafcaea421f8" - integrity sha512-pXQAJR/xauRf4kWFj2/hN5a77B4jLl0Fom5I3PHp6Arw/KxSBp0cnguXpGLwNQ6zQC0nxKCoYGL9gQpzMnN7Hw== +metro-resolver@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.72.3.tgz#c64ce160454ac850a15431509f54a587cb006540" + integrity sha512-wu9zSMGdxpKmfECE7FtCdpfC+vrWGTdVr57lDA0piKhZV6VN6acZIvqQ1yZKtS2WfKsngncv5VbB8Y5eHRQP3w== dependencies: absolute-path "^0.0.0" -metro-runtime@0.66.2, metro-runtime@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.66.2.tgz#3409ee957b949b6c7b72ef6ed2b9af9a4f4a910e" - integrity sha512-vFhKBk2ot9FS4b+2v0OTa/guCF/QDAOJubY0CNg7PzCS5+w4y3IvZIcPX4SSS1t8pYEZBLvtdtTDarlDl81xmg== +metro-runtime@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.72.3.tgz#1485ed7b5f06d09ebb40c83efcf8accc8d30b8b9" + integrity sha512-3MhvDKfxMg2u7dmTdpFOfdR71NgNNo4tzAyJumDVQKwnHYHN44f2QFZQqpPBEmqhWlojNeOxsqFsjYgeyMx6VA== + dependencies: + "@babel/runtime" "^7.0.0" + react-refresh "^0.4.0" -metro-source-map@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.66.2.tgz#b5304a282a5d55fa67b599265e9cf3217175cdd7" - integrity sha512-038tFmB7vSh73VQcDWIbr5O1m+WXWyYafDaOy+1A/2K308YP0oj33gbEgDnZsLZDwcJ+xt1x6KUEBIzlX4YGeQ== +metro-source-map@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.72.3.tgz#5efcf354413804a62ff97864e797f60ef3cc689e" + integrity sha512-eNtpjbjxSheXu/jYCIDrbNEKzMGOvYW6/ePYpRM7gDdEagUOqKOCsi3St8NJIQJzZCsxD2JZ2pYOiomUSkT1yQ== dependencies: "@babel/traverse" "^7.14.0" "@babel/types" "^7.0.0" invariant "^2.2.4" - metro-symbolicate "0.66.2" + metro-symbolicate "0.72.3" nullthrows "^1.1.1" - ob1 "0.66.2" + ob1 "0.72.3" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.66.2.tgz#addd095ce5f77e73ca21ddb5dfb396ff5d4fa041" - integrity sha512-u+DeQHyAFXVD7mVP+GST/894WHJ3i/U8oEJFnT7U3P52ZuLgX8n4tMNxhqZU12RcLR6etF8143aP0Ktx1gFLEQ== +metro-symbolicate@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.72.3.tgz#093d4f8c7957bcad9ca2ab2047caa90b1ee1b0c1" + integrity sha512-eXG0NX2PJzJ/jTG4q5yyYeN2dr1cUqUaY7worBB0SP5bRWRc3besfb+rXwfh49wTFiL5qR0oOawkU4ZiD4eHXw== dependencies: invariant "^2.2.4" - metro-source-map "0.66.2" + metro-source-map "0.72.3" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro-transform-plugins@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.66.2.tgz#39dd044a23b1343e4f2d2ec34d08128cdf255ed4" - integrity sha512-KTvqplh0ut7oDKovvDG6yzXM02R6X+9b2oVG+qYq8Zd3aCGTi51ASx4ThCNkAHyEvCuJdYg9fxXTL+j+wvhB5w== +metro-transform-plugins@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.72.3.tgz#b00e5a9f24bff7434ea7a8e9108eebc8386b9ee4" + integrity sha512-D+TcUvCKZbRua1+qujE0wV1onZvslW6cVTs7dLCyC2pv20lNHjFr1GtW01jN2fyKR2PcRyMjDCppFd9VwDKnSg== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" @@ -5583,29 +5784,29 @@ metro-transform-plugins@0.66.2: "@babel/traverse" "^7.14.0" nullthrows "^1.1.1" -metro-transform-worker@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.66.2.tgz#0a8455992132c479721accd52c9bd47deb77769e" - integrity sha512-dO4PtYOMGB7Vzte8aIzX39xytODhmbJrBYPu+zYzlDjyefJZT7BkZ0LkPIThtyJi96xWcGqi9JBSo0CeRupAHw== +metro-transform-worker@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.72.3.tgz#bdc6cc708ea114bc085e11d675b8ff626d7e6db7" + integrity sha512-WsuWj9H7i6cHuJuy+BgbWht9DK5FOgJxHLGAyULD5FJdTG9rSMFaHDO5WfC0OwQU5h4w6cPT40iDuEGksM7+YQ== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" "@babel/parser" "^7.14.0" "@babel/types" "^7.0.0" babel-preset-fbjs "^3.4.0" - metro "0.66.2" - metro-babel-transformer "0.66.2" - metro-cache "0.66.2" - metro-cache-key "0.66.2" - metro-hermes-compiler "0.66.2" - metro-source-map "0.66.2" - metro-transform-plugins "0.66.2" + metro "0.72.3" + metro-babel-transformer "0.72.3" + metro-cache "0.72.3" + metro-cache-key "0.72.3" + metro-hermes-compiler "0.72.3" + metro-source-map "0.72.3" + metro-transform-plugins "0.72.3" nullthrows "^1.1.1" -metro@0.66.2, metro@^0.66.1: - version "0.66.2" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.66.2.tgz#f21759bf00995470e7577b5b88a5277963f24492" - integrity sha512-uNsISfcQ3iKKSHoN5Q+LAh0l3jeeg7ZcNZ/4BAHGsk02erA0OP+l2m+b5qYVoPptHz9Oc3KyG5oGJoTu41pWjg== +metro@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.72.3.tgz#eb587037d62f48a0c33c8d88f26666b4083bb61e" + integrity sha512-Hb3xTvPqex8kJ1hutQNZhQadUKUwmns/Du9GikmWKBFrkiG3k3xstGAyO5t5rN9JSUEzQT6y9SWzSSOGogUKIg== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.14.0" @@ -5616,7 +5817,7 @@ metro@0.66.2, metro@^0.66.1: "@babel/types" "^7.0.0" absolute-path "^0.0.0" accepts "^1.3.7" - async "^2.4.0" + async "^3.2.2" chalk "^4.0.0" ci-info "^2.0.0" connect "^3.6.5" @@ -5624,31 +5825,29 @@ metro@0.66.2, metro@^0.66.1: denodeify "^1.2.1" error-stack-parser "^2.0.6" fs-extra "^1.0.0" - graceful-fs "^4.1.3" - hermes-parser "0.4.7" + graceful-fs "^4.2.4" + hermes-parser "0.8.0" image-size "^0.6.0" invariant "^2.2.4" - jest-haste-map "^26.5.2" - jest-worker "^26.0.0" + jest-worker "^27.2.0" lodash.throttle "^4.1.1" - metro-babel-register "0.66.2" - metro-babel-transformer "0.66.2" - metro-cache "0.66.2" - metro-cache-key "0.66.2" - metro-config "0.66.2" - metro-core "0.66.2" - metro-hermes-compiler "0.66.2" - metro-inspector-proxy "0.66.2" - metro-minify-uglify "0.66.2" - metro-react-native-babel-preset "0.66.2" - metro-resolver "0.66.2" - metro-runtime "0.66.2" - metro-source-map "0.66.2" - metro-symbolicate "0.66.2" - metro-transform-plugins "0.66.2" - metro-transform-worker "0.66.2" + metro-babel-transformer "0.72.3" + metro-cache "0.72.3" + metro-cache-key "0.72.3" + metro-config "0.72.3" + metro-core "0.72.3" + metro-file-map "0.72.3" + metro-hermes-compiler "0.72.3" + metro-inspector-proxy "0.72.3" + metro-minify-uglify "0.72.3" + metro-react-native-babel-preset "0.72.3" + metro-resolver "0.72.3" + metro-runtime "0.72.3" + metro-source-map "0.72.3" + metro-symbolicate "0.72.3" + metro-transform-plugins "0.72.3" + metro-transform-worker "0.72.3" mime-types "^2.1.27" - mkdirp "^0.5.1" node-fetch "^2.2.0" nullthrows "^1.1.1" rimraf "^2.5.4" @@ -5657,7 +5856,7 @@ metro@0.66.2, metro@^0.66.1: strip-ansi "^6.0.0" temp "0.8.3" throat "^5.0.0" - ws "^1.1.5" + ws "^7.5.1" yargs "^15.3.1" micromatch@^3.1.10, micromatch@^3.1.4: @@ -5709,11 +5908,6 @@ mime@^2.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -5819,10 +6013,10 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -nocache@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f" - integrity sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q== +nocache@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.4.tgz#5b37a56ec6e09fc7d401dceaed2eab40c8bfdf79" + integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== node-dir@^0.1.17: version "0.1.17" @@ -5921,10 +6115,10 @@ nwsapi@^2.2.0: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== -ob1@0.66.2: - version "0.66.2" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.66.2.tgz#8caf548202cf2688944bae47db405a08bca17a61" - integrity sha512-RFewnL/RjE0qQBOuM+2bbY96zmJPIge/aDtsiDbLSb+MOiK8CReAhBHDgL+zrA3F1hQk00lMWpUwYcep750plA== +ob1@0.72.3: + version "0.72.3" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.72.3.tgz#fc1efcfe156f12ed23615f2465a796faad8b91e4" + integrity sha512-OnVto25Sj7Ghp0vVm2THsngdze3tVq0LOg9LUHsAVXMecpqOP0Y8zaATW8M9gEgs2lNEAcCqV0P/hlmOPhVRvg== object-assign@^4.1.1: version "4.1.1" @@ -6035,13 +6229,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== - dependencies: - mimic-fn "^1.0.0" - onetime@^5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" @@ -6080,21 +6267,19 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - integrity sha512-bOj3L1ypm++N+n7CEbbe473A414AB7z+amKYshRb//iuL3MpdDCLhPnw6aVTdKB9g5ZRVHIEp8eUln6L2NUStg== - -ora@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" - integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== - dependencies: - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-spinners "^2.0.0" - log-symbols "^2.2.0" - strip-ansi "^5.2.0" +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" wcwidth "^1.0.1" os-tmpdir@^1.0.0: @@ -6239,7 +6424,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -6268,14 +6453,6 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -plist@^3.0.2, plist@^3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3" - integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== - dependencies: - base64-js "^1.5.1" - xmlbuilder "^15.1.1" - pod-install@^0.1.0: version "0.1.38" resolved "https://registry.yarnpkg.com/pod-install/-/pod-install-0.1.38.tgz#1c16a800a5fc1abea0cafcc0e190f376368c76ab" @@ -6343,7 +6520,7 @@ prompts@^2.0.1, prompts@^2.4.0, prompts@^2.4.2: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -6395,14 +6572,19 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -react-devtools-core@^4.13.0: - version "4.26.0" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.26.0.tgz#d3d0f59d62ccf1ac03017a7e92f0fe71455019cc" - integrity sha512-OO0Q+vXtHYCXvRQ6elLiOUph3MjsCpuYktGTLnBpizYm46f8tAPuJKihGkwsceitHSJNpzNIjJaYHgX96CyTUQ== +react-devtools-core@4.24.0: + version "4.24.0" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.0.tgz#7daa196bdc64f3626b3f54f2ff2b96f7c4fdf017" + integrity sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg== dependencies: shell-quote "^1.6.1" ws "^7" +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0": + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + react-is@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -6440,49 +6622,56 @@ react-native-builder-bob@^0.18.0: optionalDependencies: jetifier "^2.0.0" -react-native-codegen@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.7.tgz#86651c5c5fec67a8077ef7f4e36f7ed459043e14" - integrity sha512-dwNgR8zJ3ALr480QnAmpTiqvFo+rDtq6V5oCggKhYFlRjzOmVSFn3YD41u8ltvKS5G2nQ8gCs2vReFFnRGLYng== +react-native-codegen@^0.70.6: + version "0.70.6" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.70.6.tgz#2ce17d1faad02ad4562345f8ee7cbe6397eda5cb" + integrity sha512-kdwIhH2hi+cFnG5Nb8Ji2JwmcCxnaOOo9440ov7XDzSvGfmUStnCzl+MCW8jLjqHcE4icT7N9y+xx4f50vfBTw== dependencies: + "@babel/parser" "^7.14.0" flow-parser "^0.121.0" - jscodeshift "^0.11.0" + jscodeshift "^0.13.1" nullthrows "^1.1.1" -react-native@^0.66.3: - version "0.66.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.66.4.tgz#bf89a5fb18bd23046d889fb4de4ea2822a4d7805" - integrity sha512-9vx5dlSfQlKbbDtr8+xMon6qsmSu7jvjdXWZpEKh3XVKpUidbbODv7048gwVKX8YAel1egeR7hN8vzSeI6ssTw== +react-native-gradle-plugin@^0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.70.3.tgz#cbcf0619cbfbddaa9128701aa2d7b4145f9c4fc8" + integrity sha512-oOanj84fJEXUg9FoEAQomA8ISG+DVIrTZ3qF7m69VQUJyOGYyDZmPqKcjvRku4KXlEH6hWO9i4ACLzNBh8gC0A== + +react-native@>=0.66.3: + version "0.70.4" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.4.tgz#f2a3a7996431a47a45ce1f5097352c5721417516" + integrity sha512-1e4jWotS20AJ/4lGVkZQs2wE0PvCpIRmPQEQ1FyH7wdyuewFFIxbUHqy6vAj1JWVFfAzbDakOQofrIkkHWLqNA== dependencies: - "@jest/create-cache-key-function" "^27.0.1" - "@react-native-community/cli" "^6.0.0" - "@react-native-community/cli-platform-android" "^6.0.0" - "@react-native-community/cli-platform-ios" "^6.0.0" + "@jest/create-cache-key-function" "^29.0.3" + "@react-native-community/cli" "9.2.1" + "@react-native-community/cli-platform-android" "9.2.1" + "@react-native-community/cli-platform-ios" "9.2.1" "@react-native/assets" "1.0.0" - "@react-native/normalize-color" "1.0.0" + "@react-native/normalize-color" "2.0.0" "@react-native/polyfills" "2.0.0" abort-controller "^3.0.0" anser "^1.4.9" base64-js "^1.1.2" event-target-shim "^5.0.1" - hermes-engine "~0.9.0" invariant "^2.2.4" jsc-android "^250230.2.1" - metro-babel-register "0.66.2" - metro-react-native-babel-transformer "0.66.2" - metro-runtime "0.66.2" - metro-source-map "0.66.2" + memoize-one "^5.0.0" + metro-react-native-babel-transformer "0.72.3" + metro-runtime "0.72.3" + metro-source-map "0.72.3" + mkdirp "^0.5.1" nullthrows "^1.1.1" pretty-format "^26.5.2" promise "^8.0.3" - prop-types "^15.7.2" - react-devtools-core "^4.13.0" - react-native-codegen "^0.0.7" + react-devtools-core "4.24.0" + react-native-codegen "^0.70.6" + react-native-gradle-plugin "^0.70.3" react-refresh "^0.4.0" + react-shallow-renderer "^16.15.0" regenerator-runtime "^0.13.2" - scheduler "^0.20.2" + scheduler "^0.22.0" stacktrace-parser "^0.1.3" - use-subscription "^1.0.0" + use-sync-external-store "^1.0.0" whatwg-fetch "^3.0.0" ws "^6.1.4" @@ -6491,6 +6680,14 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53" integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== +react-shallow-renderer@^16.15.0: + version "16.15.0" + resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" + integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== + dependencies: + object-assign "^4.1.1" + react-is "^16.12.0 || ^17.0.0 || ^18.0.0" + react@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" @@ -6518,7 +6715,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@3, readable-stream@^3.0.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.4.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -6545,7 +6742,7 @@ readline@^1.3.0: resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== -recast@^0.20.3: +recast@^0.20.4: version "0.20.5" resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== @@ -6575,6 +6772,11 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== +regenerator-runtime@^0.13.10: + version "0.13.10" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz#ed07b19616bcbec5da6274ebc75ae95634bfc2ee" + integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== + regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" @@ -6720,12 +6922,12 @@ resolve@^2.0.0-next.3: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: - onetime "^2.0.0" + onetime "^5.1.0" signal-exit "^3.0.2" ret@~0.1.10: @@ -6822,11 +7024,6 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - saxes@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" @@ -6834,13 +7031,12 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== +scheduler@^0.22.0: + version "0.22.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.22.0.tgz#83a5d63594edf074add9a7198b1bae76c3db01b8" + integrity sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.1" @@ -6973,15 +7169,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -simple-plist@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017" - integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw== - dependencies: - bplist-creator "0.1.0" - bplist-parser "0.3.1" - plist "^3.0.5" - sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -7161,11 +7348,6 @@ statuses@~1.5.0: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -stream-buffers@2.2.x: - version "2.2.0" - resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" - integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== - string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -7294,6 +7476,13 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-hyperlinks@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" @@ -7331,7 +7520,7 @@ temp@0.8.3: os-tmpdir "^1.0.0" rimraf "~2.2.6" -temp@^0.8.1: +temp@^0.8.4: version "0.8.4" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== @@ -7550,11 +7739,6 @@ uglify-es@^3.1.9: commander "~2.13.0" source-map "~0.6.1" -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - integrity sha512-QMpnpVtYaWEeY+MwKDN/UdKlE/LsFZXM5lO1u7GaZzNgmIbGixHEmVMIKT+vqYOALu3m5GYQy9kz4Xu4IVn7Ow== - unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -7659,14 +7843,7 @@ url-parse@^1.5.3: querystringify "^2.1.1" requires-port "^1.0.0" -use-subscription@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.8.0.tgz#f118938c29d263c2bce12fc5585d3fe694d4dbce" - integrity sha512-LISuG0/TmmoDoCRmV5XAqYkd3UCBNM0ML3gGBndze65WITcsExCD3DTvXXTLyNcOC0heFQZzluW88bN/oC1DQQ== - dependencies: - use-sync-external-store "^1.2.0" - -use-sync-external-store@^1.2.0: +use-sync-external-store@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== @@ -7686,11 +7863,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - uuid@^8.3.0: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -7882,14 +8054,6 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^1.1.0, ws@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" - integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w== - dependencies: - options ">=0.0.5" - ultron "1.0.x" - ws@^6.1.4: version "6.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" @@ -7897,41 +8061,21 @@ ws@^6.1.4: dependencies: async-limiter "~1.0.0" -ws@^7, ws@^7.4.6: +ws@^7, ws@^7.4.6, ws@^7.5.1: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -xcode@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-2.1.0.tgz#bab64a7e954bb50ca8d19da7e09531c65a43ecfe" - integrity sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ== - dependencies: - simple-plist "^1.0.0" - uuid "^3.3.2" - xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== -xmlbuilder@^15.1.1: - version "15.1.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" - integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== - xmlchars@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmldoc@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-1.2.0.tgz#7554371bfd8c138287cff01841ae4566d26e5541" - integrity sha512-2eN8QhjBsMW2uVj7JHLHkMytpvGHLHxKXBy4J3fAT/HujsEtM6yU84iGjpESYGHg6XwK0Vu4l+KgqQ2dv2cCqg== - dependencies: - sax "^1.2.4" - xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" From bf8207ae944324b7a14de94049ea16dc8f6ceb01 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Tue, 1 Nov 2022 22:44:52 +0530 Subject: [PATCH 25/48] - Removed unwanted code from pod file --- example/ios/Podfile | 3 --- example/ios/Podfile.lock | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/example/ios/Podfile b/example/ios/Podfile index e4e69ce..34966e3 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -2,14 +2,11 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' platform :ios, '13.0' -install! 'cocoapods', :deterministic_uuids => false target 'KalturaPlayerExample' do use_frameworks! config = use_native_modules! -# Flags change depending on the env values. - flags = get_default_flags() use_modular_headers! diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 7e29311..c9dfda7 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -548,6 +548,6 @@ SPEC CHECKSUMS: Yoga: c926c8eec5c78a788b51e6c8a604825d00d694d7 YouboraLib: fc65b030ac93499f8beb3f5daa10deb3879fb2d2 -PODFILE CHECKSUM: 2ed87fffeeff1049487a58883027649fa87cba8f +PODFILE CHECKSUM: ced430bdad263ffa3f625ce2a914c6b45823fa7f COCOAPODS: 1.11.3 From 8b73d164baa84f82be0a27eef7dcec5afa356e54 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Wed, 2 Nov 2022 11:36:01 +0530 Subject: [PATCH 26/48] - Removed redundant module from android --- example/android/settings.gradle | 1 - 1 file changed, 1 deletion(-) diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 2e2efa1..3c9eeb6 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -1,7 +1,6 @@ rootProject.name = 'KalturaPlayerExample' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' -includeBuild('../node_modules/react-native-gradle-plugin') include ':kaltura-player-rn' project(':kaltura-player-rn').projectDir = new File(rootProject.projectDir, '../node_modules/kaltura-player-rn/android') From 1562d8e6312c700c49debb763082a03b9ba1975a Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Wed, 2 Nov 2022 12:30:14 +0530 Subject: [PATCH 27/48] - Fixed Ad UI for example app: Converting it to millis for iOS because android is also send it in millies --- ios/KalturaPlayerRN.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/KalturaPlayerRN.swift b/ios/KalturaPlayerRN.swift index 9ceb622..636dd3b 100644 --- a/ios/KalturaPlayerRN.swift +++ b/ios/KalturaPlayerRN.swift @@ -617,7 +617,7 @@ extension KalturaPlayerRN { KalturaPlayerEvents.emitter.sendEvent(withName: KalturaPlayerRNAdEvents.loaded.rawValue, body: [ "adDescription": adInfo.adDescription, - "adDuration": adInfo.duration, + "adDuration": (adInfo.duration * 1000), // Convert to milliseconds to make it similar as Android "adPlayHead": adInfo.adPlayHead, "adTitle": adInfo.title, "streamId": "", // iOS doesn't have this value. From 0e30afc2de6228ca98c0a7554e7c58ec22beff3d Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Wed, 2 Nov 2022 18:42:05 +0530 Subject: [PATCH 28/48] - Added BroadPeak error event on Android using reflection - Added `BROADPEAK_ERROR` on RN bridge - Upgraded player to v4.24.1 - Updated docs --- android/build.gradle | 2 +- .../KalturaPlayerRN.kt | 21 ++++++++ .../events/KalturaPlayerAnalyticsEvents.kt | 1 + .../model/PlayerPluginUtils.kt | 51 ++++++++++++++++++- docs/events.md | 11 ++-- docs/setup-dev-environment.md | 7 +++ example/src/screens/PlayerScreen.tsx | 8 +++ src/events/AnalyticsEvents.tsx | 3 +- 8 files changed, 96 insertions(+), 8 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 40cdebb..bba20ab 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -31,7 +31,7 @@ dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) - def kalturaPlayerVersion = '4.24.0' + def kalturaPlayerVersion = '4.24.1' implementation "com.kaltura.player:tvplayer:$kalturaPlayerVersion" implementation "com.kaltura.playkit:vrplugin:$kalturaPlayerVersion" diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index 7b20ed3..9d6bd39 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -1628,6 +1628,27 @@ class KalturaPlayerRN( ) } + val events = getEventUsingReflection(ReflectiveEvents.broadPeak) + events?.let { + if (it.isNotEmpty()) { + for (broadPeakEvent in it) { + player?.addListener(context, broadPeakEvent) { event -> + if (event.eventType().name == KalturaPlayerAnalyticsEvents.BROADPEAK_ERROR) { + val error: Pair? = getBroadPeakError(event) + error?.let { + sendPlayerEvent( + event.eventType().name, + ("{ \"errorCode\": \"" + error.first + "\" " + + ", \"errorMessage\": \"" + error.second + "\" " + + " }") + ) + } + } + } + } + } + } + log.d("Player listeners are added.") } diff --git a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt index 8771fdb..6c660cc 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt @@ -8,6 +8,7 @@ class KalturaPlayerAnalyticsEvents { const val PHOENIX_ERROR = "error" const val SOURCE_URL_SWITCHED = "sourceUrlSwitched" const val CDN_SWITCHED = "cdnSwitched" + const val BROADPEAK_ERROR = "BROADPEAK_ERROR" } } \ No newline at end of file diff --git a/android/src/main/java/com/reactnativekalturaplayer/model/PlayerPluginUtils.kt b/android/src/main/java/com/reactnativekalturaplayer/model/PlayerPluginUtils.kt index 7cd8309..b6fb177 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/model/PlayerPluginUtils.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/model/PlayerPluginUtils.kt @@ -2,6 +2,7 @@ package com.reactnativekalturaplayer.model import androidx.annotation.Nullable import com.google.gson.JsonObject +import com.kaltura.playkit.PKEvent import com.kaltura.playkit.PKLog import com.kaltura.playkit.PKPlugin import com.kaltura.playkit.plugins.kava.KavaAnalyticsConfig @@ -40,6 +41,10 @@ enum class PlayerPluginConfigs(val className: String) { broadpeak("com.kaltura.playkit.plugins.broadpeak.BroadpeakConfig") } +enum class ReflectiveEvents(val eventClass: String) { + broadPeak("com.kaltura.playkit.plugins.broadpeak.BroadpeakEvent\$Type") +} + val pkLog: PKLog = PKLog.get("PlayerPluginUtils") @Nullable @@ -82,6 +87,50 @@ fun getPluginConfig(pluginName: PlayerPluginClass): Class<*>? { } } +fun getEventUsingReflection(eventClassName: ReflectiveEvents?): List>? { + if (eventClassName == null) { + return null + } + + val events = mutableListOf>() + try { + val pluginClass = Class.forName(eventClassName.eventClass) + for (obj: Any in pluginClass.enumConstants) { + events.add(obj as Enum<*>) + } + } catch (classNotFoundException: ClassNotFoundException) { + pkLog.v("getEventUsingReflection classNotFoundException $eventClassName not found ") + } catch (noSuchFieldException: NoSuchFieldException) { + pkLog.v("getEventUsingReflection noSuchFieldException $eventClassName not found ") + } catch (illegalAccessException: IllegalAccessException) { + pkLog.v("getEventUsingReflection illegalAccessException $eventClassName not found ") + } catch (classCastException: ClassCastException) { + pkLog.v("getEventUsingReflection classCastException $eventClassName not found ") + } catch (runTimeException: RuntimeException) { + pkLog.v("getEventUsingReflection runTimeException $eventClassName not found ") + } + return events +} + +fun getBroadPeakError(event: PKEvent): Pair? { + try { + val errorCode = (event.javaClass).getDeclaredField("errorCode").get(event) + val errorMessage = (event.javaClass).getDeclaredField("errorMessage").get(event) + return Pair(errorCode as Int, errorMessage as String) + } catch (classNotFoundException: ClassNotFoundException) { + pkLog.v("getPluginFactory classNotFoundException $event not found ") + } catch (noSuchFieldException: NoSuchFieldException) { + pkLog.v("getPluginFactory noSuchFieldException $event not found ") + } catch (illegalAccessException: IllegalAccessException) { + pkLog.v("getPluginFactory illegalAccessException $event not found ") + } catch (classCastException: ClassCastException) { + pkLog.v("getPluginFactory classCastException $event not found ") + } catch (runTimeException: RuntimeException) { + pkLog.v("getPluginFactory runTimeException $event not found ") + } + return null +} + @Nullable private fun getPluginFactory(className: String): Field? { try { @@ -121,4 +170,4 @@ private fun getPluginConfig(className: String): Class<*>? { pkLog.v("getPluginConfig runTimeException $className not found ") } return null -} \ No newline at end of file +} diff --git a/docs/events.md b/docs/events.md index 2a505d3..9d9ea32 100644 --- a/docs/events.md +++ b/docs/events.md @@ -152,8 +152,9 @@ It talks about more about the concurrency level errors on the stream. These even |AnalyticsEvents |Data sent to RN | iOS | Android | |------------|--------|----------|----------| -|`PHOENIX_CONCURRENCY_ERROR`|**TODO**|✅ |✅ | -|`PHOENIX_BOOKMARK_ERROR`|**TODO**|✅ |✅ | -|`PHOENIX_ERROR`|**TODO**|✅ |✅ | -|`SOURCE_URL_SWITCHED`|   {
     "originalUrl": String,
     "updatedUrl": String
     }
|✅ |✅ | -|`CDN_SWITCHED`|   {
     "cdnCode": String
     }
|✅ |✅ | \ No newline at end of file +|`PHOENIX_CONCURRENCY_ERROR`|**TODO**|✅ |❌ | +|`PHOENIX_BOOKMARK_ERROR`|**TODO**|✅ |❌ | +|`PHOENIX_ERROR`|**TODO**|✅ |❌ | +|`SOURCE_URL_SWITCHED`|   {
     "originalUrl": String,
     "updatedUrl": String
     }
|✅ |❌ | +|`CDN_SWITCHED`|   {
     "cdnCode": String
     }
|✅ |❌ | +|`BROADPEAK_ERROR`|   {
     "errorMessage": String,
     "errorCode": String
     }
|✅ |❌ | \ No newline at end of file diff --git a/docs/setup-dev-environment.md b/docs/setup-dev-environment.md index 4aa47ba..88a2212 100644 --- a/docs/setup-dev-environment.md +++ b/docs/setup-dev-environment.md @@ -109,6 +109,13 @@ In case if you are want to develop Kaltura Player RN SDK then you can setup loca 1. If you want to change the Native Android code then inorder to show `kaltura-player-rn` in Android Studio. You need to open project level `settings.gradle` in Android Studio, add the following. + ```gradle + include ':kaltura-player-rn' + project(':kaltura-player-rn').projectDir = new File(rootProject.projectDir, '../../android') + ``` + + If you don't use the local `kaltura-player-rn` and instead you use package from `node_modules` as given below then your changes will not appear in your source control. If you want to raise a pull request then it will be difficult because your local changes are limited to the `node_modules`. + ```gradle include ':kaltura-player-rn' project(':kaltura-player-rn').projectDir = new File(rootProject.projectDir, '../node_modules/kaltura-player-rn/android') diff --git a/example/src/screens/PlayerScreen.tsx b/example/src/screens/PlayerScreen.tsx index 0a8143f..7954b07 100644 --- a/example/src/screens/PlayerScreen.tsx +++ b/example/src/screens/PlayerScreen.tsx @@ -701,6 +701,14 @@ export default class App extends React.Component { } }) ); + + eventsSubscriptionList.push( + playerEventEmitter.addListener(AnalyticsEvents.BROADPEAK_ERROR, (payload) => { + console.log('AnalyticsEvents BROADPEAK_ERROR is ' + JSON.stringify(payload)); + console.log('AnalyticsEvents BROADPEAK_ERROR errorCode is ' + payload.errorCode); + console.log('AnalyticsEvents BROADPEAK_ERROR errorMessage is ' + payload.errorMessage); + }) + ); }; render() { diff --git a/src/events/AnalyticsEvents.tsx b/src/events/AnalyticsEvents.tsx index dddc926..89363df 100644 --- a/src/events/AnalyticsEvents.tsx +++ b/src/events/AnalyticsEvents.tsx @@ -3,5 +3,6 @@ export const AnalyticsEvents = { PHOENIX_BOOKMARK_ERROR: 'bookmarkError', PHOENIX_ERROR: 'error', SOURCE_URL_SWITCHED: "sourceUrlSwitched", - CDN_SWITCHED: "cdnSwitched" + CDN_SWITCHED: "cdnSwitched", + BROADPEAK_ERROR: "BROADPEAK_ERROR" }; From 555331e730ea23292ed1d2fa398b18d0f413431e Mon Sep 17 00:00:00 2001 From: GouravSna <38206744+GouravSna@users.noreply.github.com> Date: Wed, 2 Nov 2022 18:43:32 +0530 Subject: [PATCH 29/48] Update setup-dev-environment.md --- docs/setup-dev-environment.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/setup-dev-environment.md b/docs/setup-dev-environment.md index 88a2212..902b5e1 100644 --- a/docs/setup-dev-environment.md +++ b/docs/setup-dev-environment.md @@ -113,13 +113,13 @@ In case if you are want to develop Kaltura Player RN SDK then you can setup loca include ':kaltura-player-rn' project(':kaltura-player-rn').projectDir = new File(rootProject.projectDir, '../../android') ``` - - If you don't use the local `kaltura-player-rn` and instead you use package from `node_modules` as given below then your changes will not appear in your source control. If you want to raise a pull request then it will be difficult because your local changes are limited to the `node_modules`. + + If you don't use the local `kaltura-player-rn` and instead you use package from `node_modules` as given below then your changes will not appear in your source control. If you want to raise a pull request then it will be difficult because your local changes are limited to the `node_modules`. - ```gradle - include ':kaltura-player-rn' - project(':kaltura-player-rn').projectDir = new File(rootProject.projectDir, '../node_modules/kaltura-player-rn/android') - ``` + ```gradle + include ':kaltura-player-rn' + project(':kaltura-player-rn').projectDir = new File(rootProject.projectDir, '../node_modules/kaltura-player-rn/android') + ``` 2. Please make sure that Android Studio Java version is on Java-11. You can check in **Preference -> Build,Execution,Deployment -> Build Tools -> Gradle**. Then choose Gradle SDK. Choose Java-11 from the dropdown if not selected then **press Apply and OK.**. In case if Java-11 is not installed in your machine, please try installing it from [here](https://www.oracle.com/downloads/). From 4c06bb12308a2bba03a4c7228a1a0be7cfee944b Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Thu, 3 Nov 2022 11:55:17 +0530 Subject: [PATCH 30/48] - Added Analytics events on iOS side without implementation to avoid crash - Renamed `error` to `phoenixError` to avoid name clash with player events on iOS, Android and bridge. This will not make any code change on client app side. --- .../events/KalturaPlayerAnalyticsEvents.kt | 2 +- .../KalturaPlayerRNAnalyticsEvents.swift | 23 +++++++++++++++++++ ios/KalturaPlayerModule.swift | 3 ++- src/events/AnalyticsEvents.tsx | 8 +++---- 4 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 ios/Events/KalturaPlayerRNAnalyticsEvents.swift diff --git a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt index 6c660cc..1e16e84 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt @@ -5,7 +5,7 @@ class KalturaPlayerAnalyticsEvents { companion object { const val PHOENIX_CONCURRENCY_ERROR = "concurrencyError" const val PHOENIX_BOOKMARK_ERROR = "bookmarkError" - const val PHOENIX_ERROR = "error" + const val PHOENIX_ERROR = "phoenixError" const val SOURCE_URL_SWITCHED = "sourceUrlSwitched" const val CDN_SWITCHED = "cdnSwitched" const val BROADPEAK_ERROR = "BROADPEAK_ERROR" diff --git a/ios/Events/KalturaPlayerRNAnalyticsEvents.swift b/ios/Events/KalturaPlayerRNAnalyticsEvents.swift new file mode 100644 index 0000000..3d402db --- /dev/null +++ b/ios/Events/KalturaPlayerRNAnalyticsEvents.swift @@ -0,0 +1,23 @@ +// +// KalturaPlayerRNAnalyticsEvents.swift +// RNKalturaPlayer +// +// Created by Gourav.saxena on 03/11/22. +// + +enum KalturaPlayerRNAnalyticsEvents: String, CaseIterable { + + // These events are not yet supported in iOS. + + case concurrencyError + + case bookmarkError + + case phoenixError + + case sourceUrlSwitched + + case cdnSwitched + + case BROADPEAK_ERROR +} diff --git a/ios/KalturaPlayerModule.swift b/ios/KalturaPlayerModule.swift index fca7483..1ebf644 100644 --- a/ios/KalturaPlayerModule.swift +++ b/ios/KalturaPlayerModule.swift @@ -33,11 +33,12 @@ class KalturaPlayerEvents: RCTEventEmitter { override func supportedEvents() -> [String] { let playerEvents: [String] = KalturaPlayerRNEvents.allCases.map { $0.rawValue } let adEvents: [String] = KalturaPlayerRNAdEvents.allCases.map { $0.rawValue } + let analyticsEvents: [String] = KalturaPlayerRNAnalyticsEvents.allCases.map { $0.rawValue } // If We don't return all supported Events in the lib, and the app listens to it, it will crash! let unsupportedPlayerEvents: [String] = KalturaPlayerUnsupportedRNEvents.allCases.map { $0.rawValue } let unsupportedAdEvents: [String] = KalturaPlayerUnsupportedRNAdEvents.allCases.map { $0.rawValue } - return playerEvents + adEvents + unsupportedPlayerEvents + unsupportedAdEvents + return playerEvents + adEvents + analyticsEvents + unsupportedPlayerEvents + unsupportedAdEvents } } diff --git a/src/events/AnalyticsEvents.tsx b/src/events/AnalyticsEvents.tsx index 89363df..0d0a01c 100644 --- a/src/events/AnalyticsEvents.tsx +++ b/src/events/AnalyticsEvents.tsx @@ -1,8 +1,8 @@ export const AnalyticsEvents = { PHOENIX_CONCURRENCY_ERROR: 'concurrencyError', PHOENIX_BOOKMARK_ERROR: 'bookmarkError', - PHOENIX_ERROR: 'error', - SOURCE_URL_SWITCHED: "sourceUrlSwitched", - CDN_SWITCHED: "cdnSwitched", - BROADPEAK_ERROR: "BROADPEAK_ERROR" + PHOENIX_ERROR: 'phoenixError', + SOURCE_URL_SWITCHED: 'sourceUrlSwitched', + CDN_SWITCHED: 'cdnSwitched', + BROADPEAK_ERROR: 'BROADPEAK_ERROR' // Keep it in the caps because it is coming using reflection }; From b19e84522fbf5004c34556a664db873b984e5376 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Thu, 3 Nov 2022 17:33:59 +0530 Subject: [PATCH 31/48] - Added Phoenix/Kava/Youbora Report Sending events. - Made reflection event payload parsing completely generic - Updated bridge and example as per the changes - Added no-op events on iOS side - Updated Documentation --- .../KalturaPlayerRN.kt | 65 +++++++++++++++---- .../events/KalturaPlayerAnalyticsEvents.kt | 8 ++- .../model/PlayerPluginUtils.kt | 45 +++++++++---- docs/events.md | 5 +- example/src/screens/PlayerScreen.tsx | 6 ++ .../KalturaPlayerRNAnalyticsEvents.swift | 8 ++- src/events/AnalyticsEvents.tsx | 5 +- 7 files changed, 112 insertions(+), 30 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index 9d6bd39..5cc6055 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -23,6 +23,7 @@ import com.kaltura.playkit.player.* import com.kaltura.playkit.player.thumbnail.ThumbnailInfo import com.kaltura.playkit.plugins.ads.AdCuePoints import com.kaltura.playkit.plugins.ads.AdEvent +import com.kaltura.playkit.plugins.kava.KavaAnalyticsEvent import com.kaltura.playkit.plugins.ott.PhoenixAnalyticsEvent import com.kaltura.playkit.utils.Consts import com.kaltura.tvplayer.* @@ -1612,6 +1613,20 @@ class KalturaPlayerRN( " }") ) } + player?.addListener(context, PhoenixAnalyticsEvent.reportSent) { event -> + sendPlayerEvent( + KalturaPlayerAnalyticsEvents.PHOENIX_REPORT_SENT, + ("{ \"reportedEventName\": \"" + event.reportedEventName + "\" " + + " }") + ) + } + player?.addListener(context, KavaAnalyticsEvent.reportSent) { event -> + sendPlayerEvent( + KalturaPlayerAnalyticsEvents.KAVA_REPORT_SENT, + ("{ \"reportedEventName\": \"" + event.reportedEventName + "\" " + + " }") + ) + } player?.addListener(context, InterceptorEvent.sourceUrlSwitched) { event -> sendPlayerEvent( KalturaPlayerAnalyticsEvents.SOURCE_URL_SWITCHED, @@ -1628,28 +1643,56 @@ class KalturaPlayerRN( ) } - val events = getEventUsingReflection(ReflectiveEvents.broadPeak) + val events = getEventUsingReflection() + registerKnownPluginsEvents(events) + + log.d("Player listeners are added.") + } + + private fun registerKnownPluginsEvents(events: List>?) { events?.let { if (it.isNotEmpty()) { for (broadPeakEvent in it) { player?.addListener(context, broadPeakEvent) { event -> - if (event.eventType().name == KalturaPlayerAnalyticsEvents.BROADPEAK_ERROR) { - val error: Pair? = getBroadPeakError(event) - error?.let { - sendPlayerEvent( - event.eventType().name, - ("{ \"errorCode\": \"" + error.first + "\" " + - ", \"errorMessage\": \"" + error.second + "\" " + - " }") - ) + when(event.eventType().name) { + Constants.BROADPEAK_EVENT_ERROR -> { + val errorMap: Map? = getEventPayloadMap(event) + errorMap?.let { + if (errorMap.isNotEmpty()) { + val jsonResponse = createJSONForKnownPluginEvents(errorMap) + sendPlayerEvent(KalturaPlayerAnalyticsEvents.BROADPEAK_ERROR, jsonResponse) + } + } + } + + Constants.YOUBORA_REPORT_SENT -> { + log.e("Gourav YOUBORA_REPORT_SENT") + val reportMap: Map? = getEventPayloadMap(event) + reportMap?.let { + if (reportMap.isNotEmpty()) { + val jsonResponse = createJSONForKnownPluginEvents(reportMap) + sendPlayerEvent(KalturaPlayerAnalyticsEvents.YOUBORA_REPORT_SENT, jsonResponse) + } + } } } } } } } + } + + private fun createJSONForKnownPluginEvents(eventsPayload: Map): String { + val payloadResponse = StringBuilder("{ ") + + eventsPayload.onEachIndexed { index, event -> + payloadResponse.append("\"${event.key}\"").append(":").append("\"${event.value}\"") + if (index + 1 < eventsPayload.size) { + payloadResponse.append(",") + } + } - log.d("Player listeners are added.") + return payloadResponse.append("}").toString() } /***************************************************** diff --git a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt index 1e16e84..1e3a13d 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/events/KalturaPlayerAnalyticsEvents.kt @@ -6,9 +6,11 @@ class KalturaPlayerAnalyticsEvents { const val PHOENIX_CONCURRENCY_ERROR = "concurrencyError" const val PHOENIX_BOOKMARK_ERROR = "bookmarkError" const val PHOENIX_ERROR = "phoenixError" + const val PHOENIX_REPORT_SENT = "phoenixReportSent" + const val KAVA_REPORT_SENT = "kavaReportSent" + const val YOUBORA_REPORT_SENT = "youboraReportSent" const val SOURCE_URL_SWITCHED = "sourceUrlSwitched" const val CDN_SWITCHED = "cdnSwitched" - const val BROADPEAK_ERROR = "BROADPEAK_ERROR" + const val BROADPEAK_ERROR = "broadPeakError" } - -} \ No newline at end of file +} diff --git a/android/src/main/java/com/reactnativekalturaplayer/model/PlayerPluginUtils.kt b/android/src/main/java/com/reactnativekalturaplayer/model/PlayerPluginUtils.kt index b6fb177..a4c1c6a 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/model/PlayerPluginUtils.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/model/PlayerPluginUtils.kt @@ -21,6 +21,13 @@ class RegisteredPlugins { var broadpeak: JsonObject? = null } +class Constants { + companion object { + const val BROADPEAK_EVENT_ERROR = "BROADPEAK_ERROR" + const val YOUBORA_REPORT_SENT = "REPORT_SENT" + } +} + data class UpdatePluginConfigJson(val pluginName: String?, val pluginConfig: Any?) enum class PlayerPluginClass(val className: String) { @@ -42,6 +49,7 @@ enum class PlayerPluginConfigs(val className: String) { } enum class ReflectiveEvents(val eventClass: String) { + youbora("com.kaltura.playkit.plugins.youbora.YouboraEvent\$Type"), broadPeak("com.kaltura.playkit.plugins.broadpeak.BroadpeakEvent\$Type") } @@ -87,16 +95,16 @@ fun getPluginConfig(pluginName: PlayerPluginClass): Class<*>? { } } -fun getEventUsingReflection(eventClassName: ReflectiveEvents?): List>? { - if (eventClassName == null) { - return null - } - +fun getEventUsingReflection(): List> { val events = mutableListOf>() + var eventClassName: String? = null try { - val pluginClass = Class.forName(eventClassName.eventClass) - for (obj: Any in pluginClass.enumConstants) { - events.add(obj as Enum<*>) + for (className in ReflectiveEvents.values()) { + eventClassName = className.eventClass + val pluginClass = Class.forName(eventClassName) + for (obj: Any in pluginClass.enumConstants) { + events.add(obj as Enum<*>) + } } } catch (classNotFoundException: ClassNotFoundException) { pkLog.v("getEventUsingReflection classNotFoundException $eventClassName not found ") @@ -112,23 +120,34 @@ fun getEventUsingReflection(eventClassName: ReflectiveEvents?): List>? { return events } -fun getBroadPeakError(event: PKEvent): Pair? { +fun getEventPayloadMap(event: PKEvent): Map { + val eventPayloadMap = mutableMapOf() try { - val errorCode = (event.javaClass).getDeclaredField("errorCode").get(event) - val errorMessage = (event.javaClass).getDeclaredField("errorMessage").get(event) - return Pair(errorCode as Int, errorMessage as String) + val fieldsList: Array? = (event.javaClass).declaredFields + fieldsList?.let { + if (it.isNotEmpty()) { + for (field in it) { + val fieldValue = (event.javaClass).getDeclaredField(field.name).get(event) + fieldValue?.let { value -> + eventPayloadMap[field.name] = value.toString() + } + } + } + } } catch (classNotFoundException: ClassNotFoundException) { pkLog.v("getPluginFactory classNotFoundException $event not found ") } catch (noSuchFieldException: NoSuchFieldException) { pkLog.v("getPluginFactory noSuchFieldException $event not found ") } catch (illegalAccessException: IllegalAccessException) { pkLog.v("getPluginFactory illegalAccessException $event not found ") + } catch (illegalArgumentException: IllegalArgumentException) { + pkLog.v("getPluginFactory illegalArgumentException $event not found ") } catch (classCastException: ClassCastException) { pkLog.v("getPluginFactory classCastException $event not found ") } catch (runTimeException: RuntimeException) { pkLog.v("getPluginFactory runTimeException $event not found ") } - return null + return eventPayloadMap } @Nullable diff --git a/docs/events.md b/docs/events.md index 9d9ea32..28c1f77 100644 --- a/docs/events.md +++ b/docs/events.md @@ -157,4 +157,7 @@ It talks about more about the concurrency level errors on the stream. These even |`PHOENIX_ERROR`|**TODO**|✅ |❌ | |`SOURCE_URL_SWITCHED`|   {
     "originalUrl": String,
     "updatedUrl": String
     }
|✅ |❌ | |`CDN_SWITCHED`|   {
     "cdnCode": String
     }
|✅ |❌ | -|`BROADPEAK_ERROR`|   {
     "errorMessage": String,
     "errorCode": String
     }
|✅ |❌ | \ No newline at end of file +|`BROADPEAK_ERROR`|   {
     "errorMessage": String,
     "errorCode": String
     }
|✅ |❌ | +|`PHOENIX_REPORT_SENT`|   {
     "eventName": String
     }
|✅ |❌ | +|`KAVA_REPORT_SENT`|   {
     "eventName": String
     }
|✅ |❌ | +|`YOUBORA_REPORT_SENT`|   {
     "eventName": String
     }
|✅ |❌ | \ No newline at end of file diff --git a/example/src/screens/PlayerScreen.tsx b/example/src/screens/PlayerScreen.tsx index 7954b07..9a43f1b 100644 --- a/example/src/screens/PlayerScreen.tsx +++ b/example/src/screens/PlayerScreen.tsx @@ -709,6 +709,12 @@ export default class App extends React.Component { console.log('AnalyticsEvents BROADPEAK_ERROR errorMessage is ' + payload.errorMessage); }) ); + + eventsSubscriptionList.push( + playerEventEmitter.addListener(AnalyticsEvents.YOUBORA_REPORT_SENT, (payload) => { + console.log('AnalyticsEvents YOUBORA_REPORT_SENT is ' + JSON.stringify(payload)); + }) + ); }; render() { diff --git a/ios/Events/KalturaPlayerRNAnalyticsEvents.swift b/ios/Events/KalturaPlayerRNAnalyticsEvents.swift index 3d402db..efd22ca 100644 --- a/ios/Events/KalturaPlayerRNAnalyticsEvents.swift +++ b/ios/Events/KalturaPlayerRNAnalyticsEvents.swift @@ -15,9 +15,15 @@ enum KalturaPlayerRNAnalyticsEvents: String, CaseIterable { case phoenixError + case phoenixReportSent + + case kavaReportSent + + case youboraReportSent + case sourceUrlSwitched case cdnSwitched - case BROADPEAK_ERROR + case broadPeakError } diff --git a/src/events/AnalyticsEvents.tsx b/src/events/AnalyticsEvents.tsx index 0d0a01c..8fdd06c 100644 --- a/src/events/AnalyticsEvents.tsx +++ b/src/events/AnalyticsEvents.tsx @@ -2,7 +2,10 @@ export const AnalyticsEvents = { PHOENIX_CONCURRENCY_ERROR: 'concurrencyError', PHOENIX_BOOKMARK_ERROR: 'bookmarkError', PHOENIX_ERROR: 'phoenixError', + PHOENIX_REPORT_SENT: 'phoenixReportSent', + KAVA_REPORT_SENT: 'kavaReportSent', + YOUBORA_REPORT_SENT: 'youboraReportSent', SOURCE_URL_SWITCHED: 'sourceUrlSwitched', CDN_SWITCHED: 'cdnSwitched', - BROADPEAK_ERROR: 'BROADPEAK_ERROR' // Keep it in the caps because it is coming using reflection + BROADPEAK_ERROR: 'broadPeakError' }; From fdb62a905e6555fde7a2a2f9491f8a5eff77dd95 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Thu, 3 Nov 2022 17:55:50 +0530 Subject: [PATCH 32/48] - Accept DrmData as an array in iOS --- ios/Basic/BasicKalturaPlayerRN.swift | 30 +++++++++++++++------------- ios/Basic/BasicMediaAsset.swift | 2 +- ios/KalturaPlayerRN.swift | 30 +++++++++++++++------------- 3 files changed, 33 insertions(+), 29 deletions(-) diff --git a/ios/Basic/BasicKalturaPlayerRN.swift b/ios/Basic/BasicKalturaPlayerRN.swift index 0158a21..d7149ef 100644 --- a/ios/Basic/BasicKalturaPlayerRN.swift +++ b/ios/Basic/BasicKalturaPlayerRN.swift @@ -43,20 +43,22 @@ class BasicKalturaPlayerRN: KalturaPlayerRN { var drmData:[PlayKit.DRMParams]? = nil if let assetDRMData = basicMediaAsset.drmData { - if let licenseUri = assetDRMData.licenseUri, !licenseUri.isEmpty, - let base64EncodedCertificate = assetDRMData.base64EncodedCertificate, !base64EncodedCertificate.isEmpty { - switch Scheme(string: assetDRMData.scheme ?? "") { - case .fairplay: - drmData = [FairPlayDRMParams(licenseUri: licenseUri, - base64EncodedCertificate: base64EncodedCertificate)] - case .widevineCenc: - break - case .playreadyCenc: - break - case .widevineClassic: - break - case .unknown: - break + if (!assetDRMData.isEmpty) { + if let licenseUri = assetDRMData[0].licenseUri, !licenseUri.isEmpty, + let base64EncodedCertificate = assetDRMData[0].base64EncodedCertificate, !base64EncodedCertificate.isEmpty { + switch Scheme(string: assetDRMData[0].scheme ?? "") { + case .fairplay: + drmData = [FairPlayDRMParams(licenseUri: licenseUri, + base64EncodedCertificate: base64EncodedCertificate)] + case .widevineCenc: + break + case .playreadyCenc: + break + case .widevineClassic: + break + case .unknown: + break + } } } } diff --git a/ios/Basic/BasicMediaAsset.swift b/ios/Basic/BasicMediaAsset.swift index 99a88b2..8febd0b 100644 --- a/ios/Basic/BasicMediaAsset.swift +++ b/ios/Basic/BasicMediaAsset.swift @@ -18,7 +18,7 @@ struct BasicMediaAsset: Codable { var duration: Double? var mediaEntryType: String? var mediaFormat: String? - var drmData: DRMParams? + var drmData: [DRMParams]? func getMediaOptions() -> MediaOptions { let mediaOptions = MediaOptions() diff --git a/ios/KalturaPlayerRN.swift b/ios/KalturaPlayerRN.swift index 636dd3b..bc5292c 100644 --- a/ios/KalturaPlayerRN.swift +++ b/ios/KalturaPlayerRN.swift @@ -265,20 +265,22 @@ extension KalturaPlayerRN { var drmData:[PlayKit.DRMParams]? = nil if let assetDRMData = basicMediaAsset.drmData { - if let licenseUri = assetDRMData.licenseUri, !licenseUri.isEmpty, - let base64EncodedCertificate = assetDRMData.base64EncodedCertificate, !base64EncodedCertificate.isEmpty { - switch Scheme(string: assetDRMData.scheme ?? "") { - case .fairplay: - drmData = [FairPlayDRMParams(licenseUri: licenseUri, - base64EncodedCertificate: base64EncodedCertificate)] - case .widevineCenc: - break - case .playreadyCenc: - break - case .widevineClassic: - break - case .unknown: - break + if (!assetDRMData.isEmpty) { + if let licenseUri = assetDRMData[0].licenseUri, !licenseUri.isEmpty, + let base64EncodedCertificate = assetDRMData[0].base64EncodedCertificate, !base64EncodedCertificate.isEmpty { + switch Scheme(string: assetDRMData[0].scheme ?? "") { + case .fairplay: + drmData = [FairPlayDRMParams(licenseUri: licenseUri, + base64EncodedCertificate: base64EncodedCertificate)] + case .widevineCenc: + break + case .playreadyCenc: + break + case .widevineClassic: + break + case .unknown: + break + } } } } From 3ddc967eea534e60211ca6e608f402d5a3a7198e Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Fri, 4 Nov 2022 12:04:33 +0530 Subject: [PATCH 33/48] - Show label for audio tracks --- example/src/components/TrackList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/src/components/TrackList.tsx b/example/src/components/TrackList.tsx index cf55e9a..62066ae 100644 --- a/example/src/components/TrackList.tsx +++ b/example/src/components/TrackList.tsx @@ -13,7 +13,7 @@ export default function TrackList(props) { labelFieldName = 'bitrate'; } else if (trackType === 'audio') { incomingTrackList.map((val, idx) => val.isAdaptive === true ? val.bitrate = 'Adaptive' : val); - labelFieldName = 'language'; + labelFieldName = 'label'; } else if (trackType === 'text') { labelFieldName = 'label'; } From c8d28579e124c9bdeaa1a6b1d13f14692d6fa383 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Fri, 4 Nov 2022 12:06:16 +0530 Subject: [PATCH 34/48] - Added multi language media --- example/src/test/PlayerTest.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/example/src/test/PlayerTest.json b/example/src/test/PlayerTest.json index 0ed11fa..d65072f 100644 --- a/example/src/test/PlayerTest.json +++ b/example/src/test/PlayerTest.json @@ -512,6 +512,18 @@ } } ] + }, + "multi-Audio": { + "hls": [ + { + "id": "empty_initoptions_mediaAsset_test", + "mediaList": [ + { + "mediaId": "https://d3rlna7iyyu8wu.cloudfront.net/skip_armstrong/skip_armstrong_multi_language_subs.m3u8" + } + ] + } + ] } }, "ovp": { From 23120f294ad7e7cd07987745b0c1d8a01bff8f23 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Fri, 4 Nov 2022 12:34:18 +0530 Subject: [PATCH 35/48] - Added logs for reflective events --- .../main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index 5cc6055..4057104 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -1654,6 +1654,8 @@ class KalturaPlayerRN( if (it.isNotEmpty()) { for (broadPeakEvent in it) { player?.addListener(context, broadPeakEvent) { event -> + log.d("registerKnownPluginsEvents incoming event: ${event.eventType().name}") + when(event.eventType().name) { Constants.BROADPEAK_EVENT_ERROR -> { val errorMap: Map? = getEventPayloadMap(event) @@ -1666,7 +1668,6 @@ class KalturaPlayerRN( } Constants.YOUBORA_REPORT_SENT -> { - log.e("Gourav YOUBORA_REPORT_SENT") val reportMap: Map? = getEventPayloadMap(event) reportMap?.let { if (reportMap.isNotEmpty()) { From bdbaa930fc442c5868decba12de354fd9e09d514 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Fri, 4 Nov 2022 14:43:50 +0530 Subject: [PATCH 36/48] - Updated missing documentation --- docs/player-functions.md | 40 ++++++++++++++++++++++++++++++++++------ docs/player-plugins.md | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 67 insertions(+), 7 deletions(-) diff --git a/docs/player-functions.md b/docs/player-functions.md index 1d6704d..cc0ea39 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -14,16 +14,16 @@ `setup = async (playerType: PLAYER_TYPE, options: string, id: number = 0)` -This method creates a Player instance internally (Basic, OVP/OTT Player) +This method creates a Player instance internally (Basic, OVP/OTT Player). With this, it take the PlayerInitOptions which are having essential Player settings values. `playerType`: **Mandatory** The Player Type, Basic/OVP/OTT. [Check Constants](#Constants) `options` : For PlayerType 'Basic', this is _**Optional**_. For OVP/OTT, it is **Mandatory**. `playerInitOptions` JSON String [Check playerInitOptions](./player-initoptions.md) - `id` : For PlayerType 'Basic', this is _**Not Required**_. For OVP/OTT, it is **Mandatory**. For OVP/OTT player this value should be always greater than 0 and should be valid; otherwise, we will not be able to featch the details for the mediaId or the entryId) + `id` : For PlayerType 'Basic', this is _**Not Required**_. For OVP/OTT, it is **Mandatory**. For OVP/OTT player this value should be always greater than 0 and should be valid; otherwise, we will not be able to featch the details for the `mediaId` or the `entryId`. -### Adding and removing the Player Listerners +### Adding and Removing the Player Listerners --- `addListeners()` @@ -34,7 +34,7 @@ Add the listners for the Kaltura Player. This will enable the Apps to listen to Remove the added Player listeners. -[Check PlayerEvents for more info](./player-event.md) +[Check Events for more info](./events.md) ### Load the Player --- @@ -68,7 +68,35 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ * `mediaFormat` *String* - **Mandatory** [Check Constants](#Constants) for media format. It can be Dash, HLS etc. * `startPosition` *Number* - _**Optional**_ If you want the player to start from a certain position. Default is 0. * `isVRMediaType` *Boolean* - _**Optional**_ Only to be passed while using VR media. -* `drmData` *JSON* - _**Optional**_ 🔴TODO +* `drmData` *JSON* - _**Optional**_ If app wants to play a DRM protected content then it is a mandatory param to pass. + [Check Constants](#Constants) for `DRM_SCHEME`. + + - For **Widevine** + + ```json + "drmData": [ + { + "scheme": "WidevineCENC", + "licenseUri": "" + } + ] + + ``` + + - For **Fariplay** + + ```json + + "drmData": [ + { + "scheme": "FairPlay", + "licenseUri": "", + "base64EncodedCertificate": "" + } + ] + + ``` + * `metadata` *JSON* - _**Optional**_ ```json @@ -197,7 +225,7 @@ By default Player view component is attached to the Player so no need to call `a |`isPlaying()` | ✅ | ✅ | **Async** function. Checks if Player is currently playing or not. Returns `boolean`. | |`isLive()` | ✅ | ✅ | **Async** function. Checks if the stream is Live or Not. Returns `boolean`. | |`requestThumbnailInfo(positionMs: number)` | ❌ | ✅ | **Async** function. Get the Information for a thumbnail image by position. Returns **ThumbnailInfo JSON** object. | -|`enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG)` | ✅ | ✅ | Enable the console logs for the JS bridge and Player. By default the logs are disabled. For logLevel options check [constants](#Constants#LOG_LEVEL). Just set `enabled` to `false` to disable all the logs. Default logLevel `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs. | +|`enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG)` | ✅ | ❌ | Enable the console logs for the JS bridge and Player. By default the logs are disabled. For logLevel options check [constants](#Constants#LOG_LEVEL). Just set `enabled` to `false` to disable all the logs. Default logLevel `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs. | ### Constants diff --git a/docs/player-plugins.md b/docs/player-plugins.md index f92696e..0378767 100644 --- a/docs/player-plugins.md +++ b/docs/player-plugins.md @@ -13,6 +13,7 @@ Kaltura Player allows the following plugins for Android and iOS. You can get the - **Android** - [Ad Plugin (IMA)](https://github.com/kaltura/playkit-android-ima) - [Youbora Plugin](https://github.com/kaltura/playkit-android-youbora) + - [Broadpeak Plugin](https://github.com/kaltura/playkit-android-broadpeak-smartlib/) - **Kaltura Player iOS contains following Native SDK** - [Ad Plugin (IMA)](https://github.com/kaltura/playkit-ios-ima) @@ -29,9 +30,11 @@ Kaltura Player allows the following plugins for Android and iOS. You can get the ```gradle implementation "com.kaltura.playkit:imaplugin:$latest_version" implementation "com.kaltura.playkit:youboraplugin:$latest_version" + implementation "com.kaltura.playkit:broadpeakplugin:$latest_version" ``` > Note: For Android, VR plugin is not required to be added. It is part of the package itself. + > Current Android Player version is v4.24.1. It is always recommended to use the same version for plugins like player. 2. For iOS @@ -109,7 +112,7 @@ This is it for the setup on the FE app side. To setup any plugin pass plugin con "adAttribution": Boolean, "adCountDown": Boolean, "enableDebugMode": Boolean, - "alwaysStartWithPreroll": Boolean, + "alwaysStartWithPreroll": Boolean, "enableFocusSkipButton": Boolean, "enableCustomTabs": Boolean, "adLoadTimeOut": Number, @@ -250,6 +253,35 @@ This is it for the setup on the FE app side. To setup any plugin pass plugin con } ``` +- **Broadpeak Configuration** + + ```js + + "plugins": { + "broadpeak": { + "analyticsAddress": String, + "nanoCDNHost": String, + "broadpeakDomainNames": String, // "*" for everything + "uuid": String, + "deviceType": String, + "userAgent": String, + "nanoCDNResolvingRetryDelay": 10000, // In Milliseconds + "nanoCDNHttpsEnabled": Boolean, + "adCustomReference": String, + "adParameters": json with Key/Value pairs, + "customParameters": json with Key/Value pairs, + "options": json with Key/Value pairs, + } + } + + + ``` + + More info about Broadpeak Plugin android integration in Android side can be found [here](https://github.com/kaltura/playkit-android-broadpeak-smartlib/#kaltura-plugin-for-broadpeak-smartlib-for-kaltura-player-on-android). + + > 🔴 Currently not available in iOS + + ### Update Plugin Config Updating the plugin config is handy while changing to another media. Suppose FE wants to play another 'Ad' for the next media then FE can pass another config with new Ad to the player. From e37028a74897c898f6433bf22fc6d46fee81ff63 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Fri, 4 Nov 2022 14:45:10 +0530 Subject: [PATCH 37/48] - Spelling fix --- docs/player-functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/player-functions.md b/docs/player-functions.md index cc0ea39..f072872 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -83,7 +83,7 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ ``` - - For **Fariplay** + - For **Fairplay** ```json From 2c0fca55867d772a0e5c536367ea12dbdce35a77 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 7 Nov 2022 12:52:10 +0530 Subject: [PATCH 38/48] - Fixed build issue start happening on 4th Nov, 2022 ( https://github.com/facebook/react-native/issues/35210) - `startPosition` bug fix. Give this value if FE passes it. - Fixed bridge issue for `setLogLevel`. --- .../reactnativekalturaplayer/KalturaPlayerRN.kt | 14 +++++++++++--- .../reactnativekalturaplayer/model/MediaAsset.java | 8 ++++++-- docs/player-functions.md | 6 +++--- docs/player-plugins.md | 8 ++++++++ example/android/build.gradle | 7 +++++++ example/src/screens/PlayerScreen.tsx | 1 + ios/KalturaPlayerModule.swift | 2 +- src/index.tsx | 7 ++++--- 8 files changed, 41 insertions(+), 12 deletions(-) diff --git a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt index 4057104..632c5e5 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt +++ b/android/src/main/java/com/reactnativekalturaplayer/KalturaPlayerRN.kt @@ -606,7 +606,11 @@ class KalturaPlayerRN( val mediaEntry = createMediaEntry(assetId, basicMediaAsset) runOnUiThread { - player?.setMedia(mediaEntry, basicMediaAsset.startPosition) + if (basicMediaAsset.startPosition > 0) { + player?.setMedia(mediaEntry, basicMediaAsset.startPosition) + } else { + player?.setMedia(mediaEntry) + } sendCallbackToJS(promise, gson.toJson(mediaEntry)) } } else if (getPlayerType() == KalturaPlayer.Type.ott || getPlayerType() == KalturaPlayer.Type.ovp) { @@ -629,7 +633,9 @@ class KalturaPlayerRN( if (mediaAsset.initialVolume >= 0 && mediaAsset.initialVolume < 1.0) { player?.setVolume(mediaAsset.initialVolume) } - player?.startPosition = mediaAsset.startPosition + if (mediaAsset.startPosition > 0) { + player?.startPosition = mediaAsset.startPosition + } } } } @@ -647,7 +653,9 @@ class KalturaPlayerRN( if (mediaAsset.initialVolume >= 0 && mediaAsset.initialVolume < 1.0) { player?.setVolume(mediaAsset.initialVolume) } - player?.startPosition = mediaAsset.startPosition + if (mediaAsset.startPosition > 0) { + player?.startPosition = mediaAsset.startPosition + } } } } diff --git a/android/src/main/java/com/reactnativekalturaplayer/model/MediaAsset.java b/android/src/main/java/com/reactnativekalturaplayer/model/MediaAsset.java index f45a542..714f34f 100644 --- a/android/src/main/java/com/reactnativekalturaplayer/model/MediaAsset.java +++ b/android/src/main/java/com/reactnativekalturaplayer/model/MediaAsset.java @@ -204,7 +204,9 @@ public OTTMediaOptions buildOttMediaOptions(String assetId, String playerKS) { ottMediaAsset.setMediaFileIds(fileId); } OTTMediaOptions ottMediaOptions = new OTTMediaOptions(ottMediaAsset); - ottMediaOptions.startPosition = startPosition; + if (startPosition > 0) { + ottMediaOptions.startPosition = startPosition; + } return ottMediaOptions; } @@ -233,7 +235,9 @@ public OVPMediaOptions buildOvpMediaOptions(String entryId, String referenceId, ovpMediaOptions.setUseApiCaptions(useApiCaptions); } - ovpMediaOptions.startPosition = startPosition; + if (startPosition > 0) { + ovpMediaOptions.startPosition = startPosition; + } return ovpMediaOptions; } diff --git a/docs/player-functions.md b/docs/player-functions.md index f072872..9e03429 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -65,8 +65,8 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ * `name` *String* - _**Optional**_ Name given to this media. * `duration`*Number* - _**Optional**_ Duration of this media content. * `mediaEntryType`*String* - _**Optional**_ [Check Constants](#Constants) for media type. It can be VOD, Live etc. -* `mediaFormat` *String* - **Mandatory** [Check Constants](#Constants) for media format. It can be Dash, HLS etc. -* `startPosition` *Number* - _**Optional**_ If you want the player to start from a certain position. Default is 0. +* `mediaFormat` *String* - **Mandatory** [Check Constants](#Constants) for media format. It can be Dash, HLS etc. In case if the FE is passing a playback URL without media extension then this value is important in `mediaAsset`. +* `startPosition` *Number* - _**Optional**_ If you want the player to start from a certain position. Default is 0. **Position is in seconds. If FE want to start the media from 2 mins then pass _120_** * `isVRMediaType` *Boolean* - _**Optional**_ Only to be passed while using VR media. * `drmData` *JSON* - _**Optional**_ If app wants to play a DRM protected content then it is a mandatory param to pass. [Check Constants](#Constants) for `DRM_SCHEME`. @@ -139,7 +139,7 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ ``` * `referrer` *String* - _**Optional for OTT/OVP.**_ Referer string. -* `startPosition` *Number* - _**Optional for OTT/OVP.**_ If you want the player to start from a certain position. Default is 0. +* `startPosition` *Number* - _**Optional for OTT/OVP.**_ If you want the player to start from a certain position. Default is 0. **Position is in seconds. If FE want to start the media from 2 mins then pass _120_** * `initialVolume` *Number* - _**Optional for OTT/OVP.**_ Default is 1.0f. Change the volume of the current audio track. It's a decimal value. Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume. If the volume parameter is higher then 1.0, it will be converted to 1.0. If the volume parameter is lower then 0.0, it be converted to 0.0. * `redirectFromEntryId` *Boolean* - _**Optional for OVP.**_ Default is `true`. **Only for OVP BE users** diff --git a/docs/player-plugins.md b/docs/player-plugins.md index 0378767..f3cef10 100644 --- a/docs/player-plugins.md +++ b/docs/player-plugins.md @@ -253,6 +253,14 @@ This is it for the setup on the FE app side. To setup any plugin pass plugin con } ``` + > **Note:** If FE app wants to show the logs of underlying Youbora plugin then for Android, it can add the following in the native Android app side. App can choose the log level from the Youbora plugin. + + ```java + + YouboraLog.setDebugLevel(YouboraLog.Level.DEBUG); + + ``` + - **Broadpeak Configuration** ```js diff --git a/example/android/build.gradle b/example/android/build.gradle index 5d6a8cf..50e3222 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -23,7 +23,14 @@ buildscript { } } +def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim()) + allprojects { + configurations.all { + resolutionStrategy { + force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION + } + } repositories { mavenLocal() maven { diff --git a/example/src/screens/PlayerScreen.tsx b/example/src/screens/PlayerScreen.tsx index 9a43f1b..3956ae0 100644 --- a/example/src/screens/PlayerScreen.tsx +++ b/example/src/screens/PlayerScreen.tsx @@ -26,6 +26,7 @@ import { VIDEO_CODEC, AUDIO_CODEC, VR_INTERACTION_MODE, + LOG_LEVEL, } from 'kaltura-player-rn'; import { NativeModules, NativeEventEmitter } from 'react-native'; import { diff --git a/ios/KalturaPlayerModule.swift b/ios/KalturaPlayerModule.swift index 1ebf644..1b016ea 100644 --- a/ios/KalturaPlayerModule.swift +++ b/ios/KalturaPlayerModule.swift @@ -74,7 +74,7 @@ class KalturaPlayerModule: NSObject, RCTBridgeModule { if playerType == .basic { if initOptions == nil { defaultOptions = "{}" - } else{ + } else { if let initOptions = initOptions, initOptions.isEmpty { defaultOptions = "{}" } diff --git a/src/index.tsx b/src/index.tsx index 6c52e43..0a9c501 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -463,10 +463,11 @@ export class KalturaPlayerAPI { debugLogs = enabled; - if (debugLogs && logLevel != LOG_LEVEL.OFF) { - KalturaPlayerModule.setLogLevel(logLevel); - } else { + if (debugLogs === false || logLevel == LOG_LEVEL.OFF) { + debugLogs = false; KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF); + } else { + KalturaPlayerModule.setLogLevel(logLevel); } }; } From b052af73932774217ad8b2d1e94af81684c67196 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 7 Nov 2022 13:29:46 +0530 Subject: [PATCH 39/48] - Added fix --- android/build.gradle | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/android/build.gradle b/android/build.gradle index bba20ab..8997306 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -19,6 +19,11 @@ buildscript { android { compileSdkVersion 31 + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + defaultConfig { minSdkVersion 21 targetSdkVersion 30 @@ -60,8 +65,14 @@ dependencies { } } +def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim()) allprojects { + configurations.all { + resolutionStrategy { + force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION + } + } repositories { google() From 56eb6acf0456efad0e10e49914e485033e896b4d Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 7 Nov 2022 16:14:06 +0530 Subject: [PATCH 40/48] - Upgrade react native version to 0.68.5 for the fix and reverted android gradle fixes which were in gradle files. - Renamed local package name --- android/build.gradle | 7 ------- example/android/app/build.gradle | 2 +- example/android/build.gradle | 7 ------- example/package.json | 2 +- example/yarn.lock | 8 ++++---- 5 files changed, 6 insertions(+), 20 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index 8997306..901785a 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -65,14 +65,7 @@ dependencies { } } -def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim()) - allprojects { - configurations.all { - resolutionStrategy { - force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION - } - } repositories { google() diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 4ff59e4..6e5c270 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -208,7 +208,7 @@ dependencies { } def kalturaPlayerVersion = '4.24.1' - //implementation project(':reactnativekalturaplayer') + //implementation project(':kaltura-player-rn') implementation "com.kaltura.playkit:imaplugin:$kalturaPlayerVersion" implementation "com.kaltura.playkit:youboraplugin:$kalturaPlayerVersion" // implementation "com.kaltura.playkit:broadpeakplugin:$kalturaPlayerVersion" diff --git a/example/android/build.gradle b/example/android/build.gradle index 50e3222..5d6a8cf 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -23,14 +23,7 @@ buildscript { } } -def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim()) - allprojects { - configurations.all { - resolutionStrategy { - force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION - } - } repositories { mavenLocal() maven { diff --git a/example/package.json b/example/package.json index b377cd1..ff7cfdf 100644 --- a/example/package.json +++ b/example/package.json @@ -15,7 +15,7 @@ "@react-native-community/netinfo": "^9.0.0", "kaltura-player-rn": "../../kaltura-player-rn", "react": "17.0.2", - "react-native": "^0.68.2", + "react-native": "^0.68.5", "react-native-element-dropdown": "^1.8.10", "react-native-expandable-listview": "^1.3.1", "react-native-navigation": "^7.28.0", diff --git a/example/yarn.lock b/example/yarn.lock index 1fb1add..ac73a10 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -4508,10 +4508,10 @@ react-native@>=0.66.3: whatwg-fetch "^3.0.0" ws "^6.1.4" -react-native@^0.68.2: - version "0.68.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.68.4.tgz#c52c590f93e9d115010e458650957824c0b1406e" - integrity sha512-Hp5qwztQ1XNnV43QTz1kUx33iZHmJqbbe7L19V9psaWtX/h9j6SEtZ3UHBrigIPlppkIP1E5x3CDr9FdD4d6CA== +react-native@^0.68.5: + version "0.68.5" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.68.5.tgz#8ba7389e00b757c59b6ea23bf38303d52367d155" + integrity sha512-t3kiQ/gumFV+0r/NRSIGtYxanjY4da0utFqHgkMcRPJVwXFWC0Fr8YiOeRGYO1dp8EfrSsOjtfWic/inqVYlbQ== dependencies: "@jest/create-cache-key-function" "^27.0.1" "@react-native-community/cli" "^7.0.3" From 40046417348e418d92cdf3f504e75c83e5f9afe8 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 7 Nov 2022 16:24:55 +0530 Subject: [PATCH 41/48] - Updated min RN version of lib to 0.66.5 to avoid build issues --- lib/commonjs/events/AnalyticsEvents.js | 10 +++++++--- lib/commonjs/events/AnalyticsEvents.js.map | 2 +- lib/commonjs/index.js | 7 ++++--- lib/commonjs/index.js.map | 2 +- lib/module/events/AnalyticsEvents.js | 10 +++++++--- lib/module/events/AnalyticsEvents.js.map | 2 +- lib/module/index.js | 7 ++++--- lib/module/index.js.map | 2 +- lib/typescript/events/AnalyticsEvents.d.ts | 4 ++++ package.json | 4 ++-- yarn.lock | 8 ++++---- 11 files changed, 36 insertions(+), 22 deletions(-) diff --git a/lib/commonjs/events/AnalyticsEvents.js b/lib/commonjs/events/AnalyticsEvents.js index 05897c4..6b92aaf 100644 --- a/lib/commonjs/events/AnalyticsEvents.js +++ b/lib/commonjs/events/AnalyticsEvents.js @@ -7,9 +7,13 @@ exports.AnalyticsEvents = void 0; const AnalyticsEvents = { PHOENIX_CONCURRENCY_ERROR: 'concurrencyError', PHOENIX_BOOKMARK_ERROR: 'bookmarkError', - PHOENIX_ERROR: 'error', - SOURCE_URL_SWITCHED: "sourceUrlSwitched", - CDN_SWITCHED: "cdnSwitched" + PHOENIX_ERROR: 'phoenixError', + PHOENIX_REPORT_SENT: 'phoenixReportSent', + KAVA_REPORT_SENT: 'kavaReportSent', + YOUBORA_REPORT_SENT: 'youboraReportSent', + SOURCE_URL_SWITCHED: 'sourceUrlSwitched', + CDN_SWITCHED: 'cdnSwitched', + BROADPEAK_ERROR: 'broadPeakError' }; exports.AnalyticsEvents = AnalyticsEvents; //# sourceMappingURL=AnalyticsEvents.js.map \ No newline at end of file diff --git a/lib/commonjs/events/AnalyticsEvents.js.map b/lib/commonjs/events/AnalyticsEvents.js.map index 682d7a1..1a2e3d1 100644 --- a/lib/commonjs/events/AnalyticsEvents.js.map +++ b/lib/commonjs/events/AnalyticsEvents.js.map @@ -1 +1 @@ -{"version":3,"names":["AnalyticsEvents","PHOENIX_CONCURRENCY_ERROR","PHOENIX_BOOKMARK_ERROR","PHOENIX_ERROR","SOURCE_URL_SWITCHED","CDN_SWITCHED"],"sources":["AnalyticsEvents.tsx"],"sourcesContent":["export const AnalyticsEvents = {\n PHOENIX_CONCURRENCY_ERROR: 'concurrencyError',\n PHOENIX_BOOKMARK_ERROR: 'bookmarkError',\n PHOENIX_ERROR: 'error',\n SOURCE_URL_SWITCHED: \"sourceUrlSwitched\",\n CDN_SWITCHED: \"cdnSwitched\"\n};\n"],"mappings":";;;;;;AAAO,MAAMA,eAAe,GAAG;EAC7BC,yBAAyB,EAAE,kBAAkB;EAC7CC,sBAAsB,EAAE,eAAe;EACvCC,aAAa,EAAE,OAAO;EACtBC,mBAAmB,EAAE,mBAAmB;EACxCC,YAAY,EAAE;AAChB,CAAC;AAAC"} \ No newline at end of file +{"version":3,"names":["AnalyticsEvents","PHOENIX_CONCURRENCY_ERROR","PHOENIX_BOOKMARK_ERROR","PHOENIX_ERROR","PHOENIX_REPORT_SENT","KAVA_REPORT_SENT","YOUBORA_REPORT_SENT","SOURCE_URL_SWITCHED","CDN_SWITCHED","BROADPEAK_ERROR"],"sources":["AnalyticsEvents.tsx"],"sourcesContent":["export const AnalyticsEvents = {\n PHOENIX_CONCURRENCY_ERROR: 'concurrencyError',\n PHOENIX_BOOKMARK_ERROR: 'bookmarkError',\n PHOENIX_ERROR: 'phoenixError',\n PHOENIX_REPORT_SENT: 'phoenixReportSent',\n KAVA_REPORT_SENT: 'kavaReportSent',\n YOUBORA_REPORT_SENT: 'youboraReportSent',\n SOURCE_URL_SWITCHED: 'sourceUrlSwitched',\n CDN_SWITCHED: 'cdnSwitched',\n BROADPEAK_ERROR: 'broadPeakError'\n};\n"],"mappings":";;;;;;AAAO,MAAMA,eAAe,GAAG;EAC7BC,yBAAyB,EAAE,kBAAkB;EAC7CC,sBAAsB,EAAE,eAAe;EACvCC,aAAa,EAAE,cAAc;EAC7BC,mBAAmB,EAAE,mBAAmB;EACxCC,gBAAgB,EAAE,gBAAgB;EAClCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,mBAAmB;EACxCC,YAAY,EAAE,aAAa;EAC3BC,eAAe,EAAE;AACnB,CAAC;AAAC"} \ No newline at end of file diff --git a/lib/commonjs/index.js b/lib/commonjs/index.js index 82932d2..ee87041 100644 --- a/lib/commonjs/index.js +++ b/lib/commonjs/index.js @@ -312,10 +312,11 @@ _defineProperty(KalturaPlayerAPI, "enableDebugLogs", function (enabled) { return; } debugLogs = enabled; - if (debugLogs && logLevel != _consts.LOG_LEVEL.OFF) { - KalturaPlayerModule.setLogLevel(logLevel); - } else { + if (debugLogs === false || logLevel == _consts.LOG_LEVEL.OFF) { + debugLogs = false; KalturaPlayerModule.setLogLevel(_consts.LOG_LEVEL.OFF); + } else { + KalturaPlayerModule.setLogLevel(logLevel); } }); async function setupKalturaPlayer(playerType, options, id) { diff --git a/lib/commonjs/index.js.map b/lib/commonjs/index.js.map index 9b215a1..b600750 100644 --- a/lib/commonjs/index.js.map +++ b/lib/commonjs/index.js.map @@ -1 +1 @@ -{"version":3,"names":["RNKalturaPlayer","requireNativeComponent","KalturaPlayerModule","NativeModules","POSITION_UNSET","debugLogs","KalturaPlayer","React","Component","componentDidMount","printConsoleLog","componentWillUnmount","render","props","nativeRef","nativeComponentRef","propTypes","style","PropTypes","object","KalturaPlayerAPI","playerType","options","id","LogType","ERROR","PLAYER_TYPE","BASIC","setupKalturaPlayer","asset","loadMediaKalturaPlayer","addPlayerView","removePlayerView","addKalturaPlayerListeners","removeKalturaPlayerListeners","onApplicationPaused","onApplicationResumed","configs","stringifiedJson","JSON","stringify","updatePluginConfigs","play","pause","stop","destroy","replay","position","seekTo","trackId","changeTrack","rate","changePlaybackRate","vol","setVolume","isAutoPlay","setAutoplay","KS","setKS","seekToLiveDefaultPosition","subtitleStyle","updateSubtitleStyle","mode","updateResizeMode","abrSettings","updateAbrSettings","resetAbrSettings","lowLatencyConfig","updateLLConfig","resetLLConfig","getCurrentPosition","isPlaying","isLive","positionMs","getThumbnailInfo","enabled","logLevel","LOG_LEVEL","DEBUG","OFF","setLogLevel","kalturaPlayerSetup","setUpPlayer","exception","Promise","reject","loadMedia","load","currentPosition","isPlayerPlaying","isPlayerLive","thumbnailInfo","requestThumbnailInfo","message","logType","LOG","console","log","WARN","warn","error"],"sources":["index.tsx"],"sourcesContent":["import { requireNativeComponent, NativeModules, ViewStyle } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PlayerEvents } from './events/PlayerEvents';\nimport { AdEvents } from './events/AdEvents';\nimport { AnalyticsEvents } from './events/AnalyticsEvents';\nimport {\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n} from './consts';\n\nexport {\n PlayerEvents,\n AdEvents,\n AnalyticsEvents,\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n};\n\nconst RNKalturaPlayer = requireNativeComponent('KalturaPlayerView');\nconst { KalturaPlayerModule } = NativeModules;\n\nconst POSITION_UNSET: number = -1;\nvar debugLogs = false;\n\ninterface KalturaPlayerProps {\n style: ViewStyle;\n}\n\nexport class KalturaPlayer extends React.Component {\n nativeComponentRef: any;\n\n static propTypes: {\n style: object;\n };\n\n componentDidMount() {\n printConsoleLog('componentDidMount from Library.');\n }\n\n componentWillUnmount() {\n printConsoleLog('componentWillUnmount from Library');\n }\n\n render() {\n return (\n (this.nativeComponentRef = nativeRef)}\n />\n );\n }\n}\n\nKalturaPlayer.propTypes = {\n style: PropTypes.object,\n};\n\nexport class KalturaPlayerAPI {\n /**\n * This method creates a Player instance internally (Basic, OVP/OTT Player)\n * With this, it take the PlayerInitOptions which are having essential Player settings values\n *\n * @param playerType The Player Type, Basic/OVP/OTT.\n * @param options PlayerInitOptions JSON String.\n * @param id PartnerId (Don't pass this parameter for BasicPlayer. For OVP/OTT player this value\n * should be always greater than 0 and should be valid otherwise, we will not be able to featch the details\n * for the mediaId or the entryId)\n */\n static setup = async (\n playerType: PLAYER_TYPE,\n options: string,\n id: number = 0\n ) => {\n if (playerType == null) {\n printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR);\n return;\n }\n\n if (!options && playerType != PLAYER_TYPE.BASIC) {\n printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Setting up the Player');\n return await setupKalturaPlayer(playerType, options, id);\n };\n\n /**\n * Load the media with the given\n *\n * assetId OR mediaId OR entryID for OVP/OTT Kaltura Player\n *\n * playbackURL for Basic Kaltura Player\n *\n * @param id Playback URL for Kaltura Basic Player OR\n * MediaId for Kaltura OTT Player OR\n * EntryId for Kaltura OVP Player\n * @param asset Media Asset JSON String\n */\n static loadMedia = async (id: string, asset: string) => {\n if (!id) {\n printConsoleLog(\n `loadMedia, invalid id = ${id}`,\n LogType.ERROR\n );\n return;\n }\n\n printConsoleLog(\n `Loading the media. assetId is: ${id} and media asset is: ${asset}`\n );\n\n return await loadMediaKalturaPlayer(id, asset);\n };\n\n /**\n * Adds the Native Player View to the Player if not attached\n * Ideally this API should be called after calling {@link removePlayerView}\n */\n static addPlayerView = () => {\n printConsoleLog('Calling Native method addPlayerView()');\n KalturaPlayerModule.addPlayerView();\n };\n\n /**\n * Removes the Native Player View from the Player if it is attached\n * Ideally this API should be called after calling {@link addPlayerView}\n */\n static removePlayerView = () => {\n printConsoleLog('Calling Native method removePlayerView()');\n KalturaPlayerModule.removePlayerView();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static addListeners = () => {\n printConsoleLog('Calling Native method addListeners()');\n KalturaPlayerModule.addKalturaPlayerListeners();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static removeListeners = () => {\n printConsoleLog('Calling Native method removeListeners()');\n KalturaPlayerModule.removeKalturaPlayerListeners();\n };\n\n /**\n * Should be called when the application is in background\n */\n static onApplicationPaused = () => {\n printConsoleLog('Calling Native method onApplicationPaused()');\n KalturaPlayerModule.onApplicationPaused();\n };\n\n /**\n * Should be called when the application comes back to\n * foreground\n */\n static onApplicationResumed = () => {\n printConsoleLog('Calling Native method onApplicationResumed()');\n KalturaPlayerModule.onApplicationResumed();\n };\n\n /**\n * Update Plugin Configs\n *\n * @param configs Updated Plugin Configs (YouboraConfig JSON, IMAConfig JSON etc)\n */\n static updatePluginConfigs = (configs: object) => {\n if (!configs) {\n printConsoleLog(\n `updatePluginConfig, config is invalid: ${configs}`,\n LogType.ERROR\n );\n return;\n }\n\n const stringifiedJson = JSON.stringify(configs);\n printConsoleLog(`Updated Plugin is: ${stringifiedJson}`);\n\n KalturaPlayerModule.updatePluginConfigs(stringifiedJson);\n };\n\n /**\n * Play the player if it is not playing\n */\n static play = () => {\n printConsoleLog('Calling Native method play()');\n KalturaPlayerModule.play();\n };\n\n /**\n * Pause the player if it is playing\n */\n static pause = () => {\n printConsoleLog('Calling Native method pause()');\n KalturaPlayerModule.pause();\n };\n\n /**\n * Stops the player to the initial state\n */\n static stop = () => {\n printConsoleLog('Calling Native method stop()');\n KalturaPlayerModule.stop();\n };\n\n /**\n * Destroy the Kaltura Player instance\n */\n static destroy = () => {\n printConsoleLog('Calling Native method destroy()');\n KalturaPlayerModule.destroy();\n };\n\n /**\n * Replays the media from the beginning\n */\n static replay = () => {\n printConsoleLog('Calling Native method replay()');\n KalturaPlayerModule.replay();\n };\n\n /**\n * Seek the player to the specified position\n * @param position in miliseconds (Ms)\n */\n static seekTo = (position: number) => {\n printConsoleLog(`Calling Native method seekTo() position is: ${position}`);\n KalturaPlayerModule.seekTo(position);\n };\n\n /**\n * Change a specific track (Video, Audio or Text track)\n * @param trackId Unique track ID which was sent in `tracksAvailable` event\n */\n static changeTrack = (trackId: string) => {\n if (!trackId) {\n printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method changeTrack()');\n KalturaPlayerModule.changeTrack(trackId);\n };\n\n /**\n * Change the playback rate (ff or slow motion). Default is 1.0f\n * @param rate Desired playback rate (Ex: 0.5f, 1.5f 2.0f etc)\n */\n static setPlaybackRate = (rate: number) => {\n printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`);\n KalturaPlayerModule.changePlaybackRate(rate);\n };\n\n /**\n * Change the volume of the current audio track.\n * Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume.\n * If the volume parameter is higher then 1.0, it will be converted to 1.0.\n * If the volume parameter is lower then 0.0, it be converted to 0.0.\n *\n * @param vol - volume to set.\n */\n static setVolume = (vol: number) => {\n printConsoleLog('Calling Native method setVolume()');\n KalturaPlayerModule.setVolume(vol);\n };\n\n /**\n * Set the media to play automatically at the start (load)\n * if `false`, user will have to click on UI play button\n *\n * @param isAutoPlay media should be autoplayed at the start or not\n */\n static setAutoPlay = (isAutoPlay: boolean) => {\n printConsoleLog('Calling Native method setAutoPlay()');\n KalturaPlayerModule.setAutoplay(isAutoPlay);\n };\n\n /**\n * Set the KS for the media (only for OVP/OTT users)\n * Call this before calling {@link loadMedia}\n * @param KS Kaltura Secret key\n */\n static setKS = (KS: string) => {\n if (!KS) {\n printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method setKS()');\n KalturaPlayerModule.setKS(KS);\n };\n\n /**\n * NOOP\n * @param index\n */\n //static setZIndex = (index: number) => {\n // printConsoleLog('Calling Native method setZIndex()');\n //};\n\n /**\n * Only for Live Media.\n * Seek player to Live Default Position.\n */\n static seekToLiveDefaultPosition = () => {\n printConsoleLog('Calling Native method seekToLiveDefaultPosition()');\n KalturaPlayerModule.seekToLiveDefaultPosition();\n };\n\n /**\n * Update the existing subtitle styling\n */\n static updateSubtitleStyle = (subtitleStyle: string) => {\n if (!subtitleStyle) {\n printConsoleLog(\n `subtitleStyle is invalid which is: ${subtitleStyle}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateSubtitleStyle()');\n KalturaPlayerModule.updateSubtitleStyle(subtitleStyle);\n };\n\n /**\n * Update the Resize Mode\n */\n static updateResizeMode = (mode: PLAYER_RESIZE_MODES) => {\n printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()');\n KalturaPlayerModule.updateResizeMode(mode);\n };\n\n /**\n * Update the ABR Settings\n */\n static updateAbrSettings = (abrSettings: string) => {\n if (!abrSettings) {\n printConsoleLog(\n `abrSettings is invalid which is: ${abrSettings}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateABRSettings()');\n KalturaPlayerModule.updateAbrSettings(abrSettings);\n };\n\n /**\n * Reset the ABR Settings\n */\n static resetAbrSettings = () => {\n printConsoleLog('Calling Native method resetABRSettings()');\n KalturaPlayerModule.resetAbrSettings();\n };\n\n /**\n * Update the Low Latency Config\n * Only for Live Media\n */\n static updateLowLatencyConfig = (lowLatencyConfig: string) => {\n if (!lowLatencyConfig) {\n printConsoleLog(\n `lowLatencyConfig is invalid which is: ${lowLatencyConfig}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateLowLatencyConfig()');\n KalturaPlayerModule.updateLLConfig(lowLatencyConfig);\n };\n\n /**\n * Reset the Low Latency Config\n * Only for Live Media\n */\n static resetLowLatencyConfig = () => {\n printConsoleLog('Calling Native method resetLowLatencyConfig()');\n KalturaPlayerModule.resetLLConfig();\n };\n\n /**\n * Get the current playback position for Content and Ad\n * @returns number: Position of the player or {@link POSITION_UNSET}\n */\n static getCurrentPosition = async () => {\n printConsoleLog('Calling Native method getCurrentPosition()');\n return await getCurrentPosition();\n };\n\n /**\n * Checks if Player is currently playing or not\n * @returns boolean\n */\n static isPlaying = async () => {\n printConsoleLog('Calling Native method isPlaying');\n return await isPlaying();\n };\n\n /**\n * Checks if the stream is Live or Not\n * @returns boolean\n */\n static isLive = async () => {\n printConsoleLog('Calling Native method isLive');\n return await isLive();\n };\n\n /**\n * Get the Information for a thumbnail image by position.\n *\n * @param positionMs - relevant image for given player position.\n * @returns ThumbnailInfo JSON object\n */\n static requestThumbnailInfo = async (positionMs: number) => {\n printConsoleLog('requestThumbnailInfo');\n if (positionMs < 0) {\n printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR);\n return;\n }\n return await getThumbnailInfo(positionMs);\n };\n\n /**\n * Enable the console logs for the JS bridge and Player.\n * By default it is disabled. \n * \n * For logLevel options {@link LOG_LEVEL}\n * \n * @param enabled enable the debug logs. Just set it to `false` to disable all the logs.\n * @param logLevel Default is `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs.\n * \n * @returns if `enabled` is `null` then don't do anything\n */\n static enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG) => {\n if (enabled == null || logLevel == null) {\n return;\n }\n\n debugLogs = enabled;\n\n if (debugLogs && logLevel != LOG_LEVEL.OFF) {\n KalturaPlayerModule.setLogLevel(logLevel);\n } else {\n KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF);\n }\n };\n}\n\nasync function setupKalturaPlayer(\n playerType: PLAYER_TYPE,\n options: string,\n id: number\n) {\n try {\n const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(\n playerType,\n id,\n options\n );\n printConsoleLog(`Player is created: ${kalturaPlayerSetup}`);\n return kalturaPlayerSetup;\n } catch (exception) {\n printConsoleLog(\n `setupKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function loadMediaKalturaPlayer(id: string, asset: string) {\n try {\n const loadMedia = await KalturaPlayerModule.load(id, asset);\n printConsoleLog(`Media Loaded ${loadMedia}`);\n return loadMedia;\n } catch (exception) {\n printConsoleLog(\n `loadMediaKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function getCurrentPosition() {\n try {\n const currentPosition = await KalturaPlayerModule.getCurrentPosition();\n printConsoleLog(`Current Position: ${currentPosition}`);\n return currentPosition;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return POSITION_UNSET;\n }\n}\n\nasync function isPlaying() {\n try {\n const isPlayerPlaying = await KalturaPlayerModule.isPlaying();\n printConsoleLog(`isPlayerPlaying ${isPlayerPlaying}`);\n return isPlayerPlaying;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function isLive() {\n try {\n const isPlayerLive = await KalturaPlayerModule.isLive();\n printConsoleLog(`isPlayerLive ${isPlayerLive}`);\n return isPlayerLive;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function getThumbnailInfo(position: number) {\n try {\n const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position);\n printConsoleLog(`getThumbnailInfo ${JSON.stringify(thumbnailInfo)}`);\n return thumbnailInfo;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return Promise.reject(exception);\n }\n}\n\nfunction printConsoleLog(message: String, logType: LogType = LogType.LOG) {\n if (debugLogs) {\n switch (logType) {\n case LogType.LOG: {\n console.log(message);\n break;\n }\n case LogType.WARN: {\n console.warn(message);\n break;\n }\n case LogType.ERROR: {\n console.error(message);\n break;\n }\n default: {\n console.log(message);\n }\n }\n }\n}\n\nenum LogType {\n LOG,\n WARN,\n ERROR,\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["RNKalturaPlayer","requireNativeComponent","KalturaPlayerModule","NativeModules","POSITION_UNSET","debugLogs","KalturaPlayer","React","Component","componentDidMount","printConsoleLog","componentWillUnmount","render","props","nativeRef","nativeComponentRef","propTypes","style","PropTypes","object","KalturaPlayerAPI","playerType","options","id","LogType","ERROR","PLAYER_TYPE","BASIC","setupKalturaPlayer","asset","loadMediaKalturaPlayer","addPlayerView","removePlayerView","addKalturaPlayerListeners","removeKalturaPlayerListeners","onApplicationPaused","onApplicationResumed","configs","stringifiedJson","JSON","stringify","updatePluginConfigs","play","pause","stop","destroy","replay","position","seekTo","trackId","changeTrack","rate","changePlaybackRate","vol","setVolume","isAutoPlay","setAutoplay","KS","setKS","seekToLiveDefaultPosition","subtitleStyle","updateSubtitleStyle","mode","updateResizeMode","abrSettings","updateAbrSettings","resetAbrSettings","lowLatencyConfig","updateLLConfig","resetLLConfig","getCurrentPosition","isPlaying","isLive","positionMs","getThumbnailInfo","enabled","logLevel","LOG_LEVEL","DEBUG","OFF","setLogLevel","kalturaPlayerSetup","setUpPlayer","exception","Promise","reject","loadMedia","load","currentPosition","isPlayerPlaying","isPlayerLive","thumbnailInfo","requestThumbnailInfo","message","logType","LOG","console","log","WARN","warn","error"],"sources":["index.tsx"],"sourcesContent":["import { requireNativeComponent, NativeModules, ViewStyle } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PlayerEvents } from './events/PlayerEvents';\nimport { AdEvents } from './events/AdEvents';\nimport { AnalyticsEvents } from './events/AnalyticsEvents';\nimport {\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n} from './consts';\n\nexport {\n PlayerEvents,\n AdEvents,\n AnalyticsEvents,\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n};\n\nconst RNKalturaPlayer = requireNativeComponent('KalturaPlayerView');\nconst { KalturaPlayerModule } = NativeModules;\n\nconst POSITION_UNSET: number = -1;\nvar debugLogs = false;\n\ninterface KalturaPlayerProps {\n style: ViewStyle;\n}\n\nexport class KalturaPlayer extends React.Component {\n nativeComponentRef: any;\n\n static propTypes: {\n style: object;\n };\n\n componentDidMount() {\n printConsoleLog('componentDidMount from Library.');\n }\n\n componentWillUnmount() {\n printConsoleLog('componentWillUnmount from Library');\n }\n\n render() {\n return (\n (this.nativeComponentRef = nativeRef)}\n />\n );\n }\n}\n\nKalturaPlayer.propTypes = {\n style: PropTypes.object,\n};\n\nexport class KalturaPlayerAPI {\n /**\n * This method creates a Player instance internally (Basic, OVP/OTT Player)\n * With this, it take the PlayerInitOptions which are having essential Player settings values\n *\n * @param playerType The Player Type, Basic/OVP/OTT.\n * @param options PlayerInitOptions JSON String.\n * @param id PartnerId (Don't pass this parameter for BasicPlayer. For OVP/OTT player this value\n * should be always greater than 0 and should be valid otherwise, we will not be able to featch the details\n * for the mediaId or the entryId)\n */\n static setup = async (\n playerType: PLAYER_TYPE,\n options: string,\n id: number = 0\n ) => {\n if (playerType == null) {\n printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR);\n return;\n }\n\n if (!options && playerType != PLAYER_TYPE.BASIC) {\n printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Setting up the Player');\n return await setupKalturaPlayer(playerType, options, id);\n };\n\n /**\n * Load the media with the given\n *\n * assetId OR mediaId OR entryID for OVP/OTT Kaltura Player\n *\n * playbackURL for Basic Kaltura Player\n *\n * @param id Playback URL for Kaltura Basic Player OR\n * MediaId for Kaltura OTT Player OR\n * EntryId for Kaltura OVP Player\n * @param asset Media Asset JSON String\n */\n static loadMedia = async (id: string, asset: string) => {\n if (!id) {\n printConsoleLog(\n `loadMedia, invalid id = ${id}`,\n LogType.ERROR\n );\n return;\n }\n\n printConsoleLog(\n `Loading the media. assetId is: ${id} and media asset is: ${asset}`\n );\n\n return await loadMediaKalturaPlayer(id, asset);\n };\n\n /**\n * Adds the Native Player View to the Player if not attached\n * Ideally this API should be called after calling {@link removePlayerView}\n */\n static addPlayerView = () => {\n printConsoleLog('Calling Native method addPlayerView()');\n KalturaPlayerModule.addPlayerView();\n };\n\n /**\n * Removes the Native Player View from the Player if it is attached\n * Ideally this API should be called after calling {@link addPlayerView}\n */\n static removePlayerView = () => {\n printConsoleLog('Calling Native method removePlayerView()');\n KalturaPlayerModule.removePlayerView();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static addListeners = () => {\n printConsoleLog('Calling Native method addListeners()');\n KalturaPlayerModule.addKalturaPlayerListeners();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static removeListeners = () => {\n printConsoleLog('Calling Native method removeListeners()');\n KalturaPlayerModule.removeKalturaPlayerListeners();\n };\n\n /**\n * Should be called when the application is in background\n */\n static onApplicationPaused = () => {\n printConsoleLog('Calling Native method onApplicationPaused()');\n KalturaPlayerModule.onApplicationPaused();\n };\n\n /**\n * Should be called when the application comes back to\n * foreground\n */\n static onApplicationResumed = () => {\n printConsoleLog('Calling Native method onApplicationResumed()');\n KalturaPlayerModule.onApplicationResumed();\n };\n\n /**\n * Update Plugin Configs\n *\n * @param configs Updated Plugin Configs (YouboraConfig JSON, IMAConfig JSON etc)\n */\n static updatePluginConfigs = (configs: object) => {\n if (!configs) {\n printConsoleLog(\n `updatePluginConfig, config is invalid: ${configs}`,\n LogType.ERROR\n );\n return;\n }\n\n const stringifiedJson = JSON.stringify(configs);\n printConsoleLog(`Updated Plugin is: ${stringifiedJson}`);\n\n KalturaPlayerModule.updatePluginConfigs(stringifiedJson);\n };\n\n /**\n * Play the player if it is not playing\n */\n static play = () => {\n printConsoleLog('Calling Native method play()');\n KalturaPlayerModule.play();\n };\n\n /**\n * Pause the player if it is playing\n */\n static pause = () => {\n printConsoleLog('Calling Native method pause()');\n KalturaPlayerModule.pause();\n };\n\n /**\n * Stops the player to the initial state\n */\n static stop = () => {\n printConsoleLog('Calling Native method stop()');\n KalturaPlayerModule.stop();\n };\n\n /**\n * Destroy the Kaltura Player instance\n */\n static destroy = () => {\n printConsoleLog('Calling Native method destroy()');\n KalturaPlayerModule.destroy();\n };\n\n /**\n * Replays the media from the beginning\n */\n static replay = () => {\n printConsoleLog('Calling Native method replay()');\n KalturaPlayerModule.replay();\n };\n\n /**\n * Seek the player to the specified position\n * @param position in miliseconds (Ms)\n */\n static seekTo = (position: number) => {\n printConsoleLog(`Calling Native method seekTo() position is: ${position}`);\n KalturaPlayerModule.seekTo(position);\n };\n\n /**\n * Change a specific track (Video, Audio or Text track)\n * @param trackId Unique track ID which was sent in `tracksAvailable` event\n */\n static changeTrack = (trackId: string) => {\n if (!trackId) {\n printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method changeTrack()');\n KalturaPlayerModule.changeTrack(trackId);\n };\n\n /**\n * Change the playback rate (ff or slow motion). Default is 1.0f\n * @param rate Desired playback rate (Ex: 0.5f, 1.5f 2.0f etc)\n */\n static setPlaybackRate = (rate: number) => {\n printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`);\n KalturaPlayerModule.changePlaybackRate(rate);\n };\n\n /**\n * Change the volume of the current audio track.\n * Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume.\n * If the volume parameter is higher then 1.0, it will be converted to 1.0.\n * If the volume parameter is lower then 0.0, it be converted to 0.0.\n *\n * @param vol - volume to set.\n */\n static setVolume = (vol: number) => {\n printConsoleLog('Calling Native method setVolume()');\n KalturaPlayerModule.setVolume(vol);\n };\n\n /**\n * Set the media to play automatically at the start (load)\n * if `false`, user will have to click on UI play button\n *\n * @param isAutoPlay media should be autoplayed at the start or not\n */\n static setAutoPlay = (isAutoPlay: boolean) => {\n printConsoleLog('Calling Native method setAutoPlay()');\n KalturaPlayerModule.setAutoplay(isAutoPlay);\n };\n\n /**\n * Set the KS for the media (only for OVP/OTT users)\n * Call this before calling {@link loadMedia}\n * @param KS Kaltura Secret key\n */\n static setKS = (KS: string) => {\n if (!KS) {\n printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method setKS()');\n KalturaPlayerModule.setKS(KS);\n };\n\n /**\n * NOOP\n * @param index\n */\n //static setZIndex = (index: number) => {\n // printConsoleLog('Calling Native method setZIndex()');\n //};\n\n /**\n * Only for Live Media.\n * Seek player to Live Default Position.\n */\n static seekToLiveDefaultPosition = () => {\n printConsoleLog('Calling Native method seekToLiveDefaultPosition()');\n KalturaPlayerModule.seekToLiveDefaultPosition();\n };\n\n /**\n * Update the existing subtitle styling\n */\n static updateSubtitleStyle = (subtitleStyle: string) => {\n if (!subtitleStyle) {\n printConsoleLog(\n `subtitleStyle is invalid which is: ${subtitleStyle}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateSubtitleStyle()');\n KalturaPlayerModule.updateSubtitleStyle(subtitleStyle);\n };\n\n /**\n * Update the Resize Mode\n */\n static updateResizeMode = (mode: PLAYER_RESIZE_MODES) => {\n printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()');\n KalturaPlayerModule.updateResizeMode(mode);\n };\n\n /**\n * Update the ABR Settings\n */\n static updateAbrSettings = (abrSettings: string) => {\n if (!abrSettings) {\n printConsoleLog(\n `abrSettings is invalid which is: ${abrSettings}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateABRSettings()');\n KalturaPlayerModule.updateAbrSettings(abrSettings);\n };\n\n /**\n * Reset the ABR Settings\n */\n static resetAbrSettings = () => {\n printConsoleLog('Calling Native method resetABRSettings()');\n KalturaPlayerModule.resetAbrSettings();\n };\n\n /**\n * Update the Low Latency Config\n * Only for Live Media\n */\n static updateLowLatencyConfig = (lowLatencyConfig: string) => {\n if (!lowLatencyConfig) {\n printConsoleLog(\n `lowLatencyConfig is invalid which is: ${lowLatencyConfig}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateLowLatencyConfig()');\n KalturaPlayerModule.updateLLConfig(lowLatencyConfig);\n };\n\n /**\n * Reset the Low Latency Config\n * Only for Live Media\n */\n static resetLowLatencyConfig = () => {\n printConsoleLog('Calling Native method resetLowLatencyConfig()');\n KalturaPlayerModule.resetLLConfig();\n };\n\n /**\n * Get the current playback position for Content and Ad\n * @returns number: Position of the player or {@link POSITION_UNSET}\n */\n static getCurrentPosition = async () => {\n printConsoleLog('Calling Native method getCurrentPosition()');\n return await getCurrentPosition();\n };\n\n /**\n * Checks if Player is currently playing or not\n * @returns boolean\n */\n static isPlaying = async () => {\n printConsoleLog('Calling Native method isPlaying');\n return await isPlaying();\n };\n\n /**\n * Checks if the stream is Live or Not\n * @returns boolean\n */\n static isLive = async () => {\n printConsoleLog('Calling Native method isLive');\n return await isLive();\n };\n\n /**\n * Get the Information for a thumbnail image by position.\n *\n * @param positionMs - relevant image for given player position.\n * @returns ThumbnailInfo JSON object\n */\n static requestThumbnailInfo = async (positionMs: number) => {\n printConsoleLog('requestThumbnailInfo');\n if (positionMs < 0) {\n printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR);\n return;\n }\n return await getThumbnailInfo(positionMs);\n };\n\n /**\n * Enable the console logs for the JS bridge and Player.\n * By default it is disabled. \n * \n * For logLevel options {@link LOG_LEVEL}\n * \n * @param enabled enable the debug logs. Just set it to `false` to disable all the logs.\n * @param logLevel Default is `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs.\n * \n * @returns if `enabled` is `null` then don't do anything\n */\n static enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG) => {\n if (enabled == null || logLevel == null) {\n return;\n }\n\n debugLogs = enabled;\n\n if (debugLogs === false || logLevel == LOG_LEVEL.OFF) {\n debugLogs = false;\n KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF);\n } else {\n KalturaPlayerModule.setLogLevel(logLevel);\n }\n };\n}\n\nasync function setupKalturaPlayer(\n playerType: PLAYER_TYPE,\n options: string,\n id: number\n) {\n try {\n const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(\n playerType,\n id,\n options\n );\n printConsoleLog(`Player is created: ${kalturaPlayerSetup}`);\n return kalturaPlayerSetup;\n } catch (exception) {\n printConsoleLog(\n `setupKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function loadMediaKalturaPlayer(id: string, asset: string) {\n try {\n const loadMedia = await KalturaPlayerModule.load(id, asset);\n printConsoleLog(`Media Loaded ${loadMedia}`);\n return loadMedia;\n } catch (exception) {\n printConsoleLog(\n `loadMediaKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function getCurrentPosition() {\n try {\n const currentPosition = await KalturaPlayerModule.getCurrentPosition();\n printConsoleLog(`Current Position: ${currentPosition}`);\n return currentPosition;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return POSITION_UNSET;\n }\n}\n\nasync function isPlaying() {\n try {\n const isPlayerPlaying = await KalturaPlayerModule.isPlaying();\n printConsoleLog(`isPlayerPlaying ${isPlayerPlaying}`);\n return isPlayerPlaying;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function isLive() {\n try {\n const isPlayerLive = await KalturaPlayerModule.isLive();\n printConsoleLog(`isPlayerLive ${isPlayerLive}`);\n return isPlayerLive;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function getThumbnailInfo(position: number) {\n try {\n const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position);\n printConsoleLog(`getThumbnailInfo ${JSON.stringify(thumbnailInfo)}`);\n return thumbnailInfo;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return Promise.reject(exception);\n }\n}\n\nfunction printConsoleLog(message: String, logType: LogType = LogType.LOG) {\n if (debugLogs) {\n switch (logType) {\n case LogType.LOG: {\n console.log(message);\n break;\n }\n case LogType.WARN: {\n console.warn(message);\n break;\n }\n case LogType.ERROR: {\n console.error(message);\n break;\n }\n default: {\n console.log(message);\n }\n }\n }\n}\n\nenum LogType {\n LOG,\n WARN,\n ERROR,\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAckB;AAAA;AAAA;AAqBlB,MAAMA,eAAe,GAAG,IAAAC,mCAAsB,EAAC,mBAAmB,CAAC;AACnE,MAAM;EAAEC;AAAoB,CAAC,GAAGC,0BAAa;AAE7C,MAAMC,cAAsB,GAAG,CAAC,CAAC;AACjC,IAAIC,SAAS,GAAG,KAAK;AAMd,MAAMC,aAAa,SAASC,cAAK,CAACC,SAAS,CAAqB;EAAA;IAAA;IAAA;EAAA;EAOrEC,iBAAiB,GAAG;IAClBC,eAAe,CAAC,iCAAiC,CAAC;EACpD;EAEAC,oBAAoB,GAAG;IACrBD,eAAe,CAAC,mCAAmC,CAAC;EACtD;EAEAE,MAAM,GAAG;IACP,oBACE,6BAAC,eAAe,eACV,IAAI,CAACC,KAAK;MACd,GAAG,EAAGC,SAAS,IAAM,IAAI,CAACC,kBAAkB,GAAGD;IAAW,GAC1D;EAEN;AACF;AAAC;AAAA,gBAvBYR,aAAa;AAyB1BA,aAAa,CAACU,SAAS,GAAG;EACxBC,KAAK,EAAEC,kBAAS,CAACC;AACnB,CAAC;AAEM,MAAMC,gBAAgB,CAAC;AAwY7B;AAAA,gBAxYYA,gBAAgB,WAWZ,gBACbC,UAAuB,EACvBC,OAAe,EAEZ;EAAA,IADHC,EAAU,uEAAG,CAAC;EAEd,IAAIF,UAAU,IAAI,IAAI,EAAE;IACtBX,eAAe,CAAE,wBAAuBW,UAAW,EAAC,EAAEG,OAAO,CAACC,KAAK,CAAC;IACpE;EACF;EAEA,IAAI,CAACH,OAAO,IAAID,UAAU,IAAIK,mBAAW,CAACC,KAAK,EAAE;IAC/CjB,eAAe,CAAE,4BAA2BY,OAAQ,EAAC,EAAEE,OAAO,CAACC,KAAK,CAAC;IACrE;EACF;EACAf,eAAe,CAAC,uBAAuB,CAAC;EACxC,OAAO,MAAMkB,kBAAkB,CAACP,UAAU,EAAEC,OAAO,EAAEC,EAAE,CAAC;AAC1D,CAAC;AAAA,gBA3BUH,gBAAgB,eAyCR,OAAOG,EAAU,EAAEM,KAAa,KAAK;EACtD,IAAI,CAACN,EAAE,EAAE;IACPb,eAAe,CACZ,2BAA0Ba,EAAG,EAAC,EAC/BC,OAAO,CAACC,KAAK,CACd;IACD;EACF;EAEAf,eAAe,CACZ,kCAAiCa,EAAG,wBAAuBM,KAAM,EAAC,CACpE;EAED,OAAO,MAAMC,sBAAsB,CAACP,EAAE,EAAEM,KAAK,CAAC;AAChD,CAAC;AAAA,gBAvDUT,gBAAgB,mBA6DJ,MAAM;EAC3BV,eAAe,CAAC,uCAAuC,CAAC;EACxDR,mBAAmB,CAAC6B,aAAa,EAAE;AACrC,CAAC;AAAA,gBAhEUX,gBAAgB,sBAsED,MAAM;EAC9BV,eAAe,CAAC,0CAA0C,CAAC;EAC3DR,mBAAmB,CAAC8B,gBAAgB,EAAE;AACxC,CAAC;AAAA,gBAzEUZ,gBAAgB,kBA8EL,MAAM;EAC1BV,eAAe,CAAC,sCAAsC,CAAC;EACvDR,mBAAmB,CAAC+B,yBAAyB,EAAE;AACjD,CAAC;AAAA,gBAjFUb,gBAAgB,qBAsFF,MAAM;EAC7BV,eAAe,CAAC,yCAAyC,CAAC;EAC1DR,mBAAmB,CAACgC,4BAA4B,EAAE;AACpD,CAAC;AAAA,gBAzFUd,gBAAgB,yBA8FE,MAAM;EACjCV,eAAe,CAAC,6CAA6C,CAAC;EAC9DR,mBAAmB,CAACiC,mBAAmB,EAAE;AAC3C,CAAC;AAAA,gBAjGUf,gBAAgB,0BAuGG,MAAM;EAClCV,eAAe,CAAC,8CAA8C,CAAC;EAC/DR,mBAAmB,CAACkC,oBAAoB,EAAE;AAC5C,CAAC;AAAA,gBA1GUhB,gBAAgB,yBAiHGiB,OAAe,IAAK;EAChD,IAAI,CAACA,OAAO,EAAE;IACZ3B,eAAe,CACZ,0CAAyC2B,OAAQ,EAAC,EACnDb,OAAO,CAACC,KAAK,CACd;IACD;EACF;EAEA,MAAMa,eAAe,GAAGC,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC;EAC/C3B,eAAe,CAAE,sBAAqB4B,eAAgB,EAAC,CAAC;EAExDpC,mBAAmB,CAACuC,mBAAmB,CAACH,eAAe,CAAC;AAC1D,CAAC;AAAA,gBA9HUlB,gBAAgB,UAmIb,MAAM;EAClBV,eAAe,CAAC,8BAA8B,CAAC;EAC/CR,mBAAmB,CAACwC,IAAI,EAAE;AAC5B,CAAC;AAAA,gBAtIUtB,gBAAgB,WA2IZ,MAAM;EACnBV,eAAe,CAAC,+BAA+B,CAAC;EAChDR,mBAAmB,CAACyC,KAAK,EAAE;AAC7B,CAAC;AAAA,gBA9IUvB,gBAAgB,UAmJb,MAAM;EAClBV,eAAe,CAAC,8BAA8B,CAAC;EAC/CR,mBAAmB,CAAC0C,IAAI,EAAE;AAC5B,CAAC;AAAA,gBAtJUxB,gBAAgB,aA2JV,MAAM;EACrBV,eAAe,CAAC,iCAAiC,CAAC;EAClDR,mBAAmB,CAAC2C,OAAO,EAAE;AAC/B,CAAC;AAAA,gBA9JUzB,gBAAgB,YAmKX,MAAM;EACpBV,eAAe,CAAC,gCAAgC,CAAC;EACjDR,mBAAmB,CAAC4C,MAAM,EAAE;AAC9B,CAAC;AAAA,gBAtKU1B,gBAAgB,YA4KV2B,QAAgB,IAAK;EACpCrC,eAAe,CAAE,+CAA8CqC,QAAS,EAAC,CAAC;EAC1E7C,mBAAmB,CAAC8C,MAAM,CAACD,QAAQ,CAAC;AACtC,CAAC;AAAA,gBA/KU3B,gBAAgB,iBAqLL6B,OAAe,IAAK;EACxC,IAAI,CAACA,OAAO,EAAE;IACZvC,eAAe,CAAE,gCAA+BuC,OAAQ,EAAC,EAAEzB,OAAO,CAACC,KAAK,CAAC;IACzE;EACF;EACAf,eAAe,CAAC,qCAAqC,CAAC;EACtDR,mBAAmB,CAACgD,WAAW,CAACD,OAAO,CAAC;AAC1C,CAAC;AAAA,gBA5LU7B,gBAAgB,qBAkMD+B,IAAY,IAAK;EACzCzC,eAAe,CAAE,oDAAmDyC,IAAK,EAAC,CAAC;EAC3EjD,mBAAmB,CAACkD,kBAAkB,CAACD,IAAI,CAAC;AAC9C,CAAC;AAAA,gBArMU/B,gBAAgB,eA+MPiC,GAAW,IAAK;EAClC3C,eAAe,CAAC,mCAAmC,CAAC;EACpDR,mBAAmB,CAACoD,SAAS,CAACD,GAAG,CAAC;AACpC,CAAC;AAAA,gBAlNUjC,gBAAgB,iBA0NLmC,UAAmB,IAAK;EAC5C7C,eAAe,CAAC,qCAAqC,CAAC;EACtDR,mBAAmB,CAACsD,WAAW,CAACD,UAAU,CAAC;AAC7C,CAAC;AAAA,gBA7NUnC,gBAAgB,WAoOXqC,EAAU,IAAK;EAC7B,IAAI,CAACA,EAAE,EAAE;IACP/C,eAAe,CAAC,0BAA0B,GAAG+C,EAAE,EAAEjC,OAAO,CAACC,KAAK,CAAC;IAC/D;EACF;EACAf,eAAe,CAAC,+BAA+B,CAAC;EAChDR,mBAAmB,CAACwD,KAAK,CAACD,EAAE,CAAC;AAC/B,CAAC;AAAA,gBA3OUrC,gBAAgB,+BAyPQ,MAAM;EACvCV,eAAe,CAAC,mDAAmD,CAAC;EACpER,mBAAmB,CAACyD,yBAAyB,EAAE;AACjD,CAAC;AAAA,gBA5PUvC,gBAAgB,yBAiQGwC,aAAqB,IAAK;EACtD,IAAI,CAACA,aAAa,EAAE;IAClBlD,eAAe,CACZ,sCAAqCkD,aAAc,EAAC,EACrDpC,OAAO,CAACC,KAAK,CACd;IACD;EACF;EACAf,eAAe,CAAC,6CAA6C,CAAC;EAC9DR,mBAAmB,CAAC2D,mBAAmB,CAACD,aAAa,CAAC;AACxD,CAAC;AAAA,gBA3QUxC,gBAAgB,sBAgRA0C,IAAyB,IAAK;EACvDpD,eAAe,CAAC,4DAA4D,CAAC;EAC7ER,mBAAmB,CAAC6D,gBAAgB,CAACD,IAAI,CAAC;AAC5C,CAAC;AAAA,gBAnRU1C,gBAAgB,uBAwRC4C,WAAmB,IAAK;EAClD,IAAI,CAACA,WAAW,EAAE;IAChBtD,eAAe,CACZ,oCAAmCsD,WAAY,EAAC,EACjDxC,OAAO,CAACC,KAAK,CACd;IACD;EACF;EACAf,eAAe,CAAC,2CAA2C,CAAC;EAC5DR,mBAAmB,CAAC+D,iBAAiB,CAACD,WAAW,CAAC;AACpD,CAAC;AAAA,gBAlSU5C,gBAAgB,sBAuSD,MAAM;EAC9BV,eAAe,CAAC,0CAA0C,CAAC;EAC3DR,mBAAmB,CAACgE,gBAAgB,EAAE;AACxC,CAAC;AAAA,gBA1SU9C,gBAAgB,4BAgTM+C,gBAAwB,IAAK;EAC5D,IAAI,CAACA,gBAAgB,EAAE;IACrBzD,eAAe,CACZ,yCAAwCyD,gBAAiB,EAAC,EAC3D3C,OAAO,CAACC,KAAK,CACd;IACD;EACF;EACAf,eAAe,CAAC,gDAAgD,CAAC;EACjER,mBAAmB,CAACkE,cAAc,CAACD,gBAAgB,CAAC;AACtD,CAAC;AAAA,gBA1TU/C,gBAAgB,2BAgUI,MAAM;EACnCV,eAAe,CAAC,+CAA+C,CAAC;EAChER,mBAAmB,CAACmE,aAAa,EAAE;AACrC,CAAC;AAAA,gBAnUUjD,gBAAgB,wBAyUC,YAAY;EACtCV,eAAe,CAAC,4CAA4C,CAAC;EAC7D,OAAO,MAAM4D,kBAAkB,EAAE;AACnC,CAAC;AAAA,gBA5UUlD,gBAAgB,eAkVR,YAAY;EAC7BV,eAAe,CAAC,iCAAiC,CAAC;EAClD,OAAO,MAAM6D,SAAS,EAAE;AAC1B,CAAC;AAAA,gBArVUnD,gBAAgB,YA2VX,YAAY;EAC1BV,eAAe,CAAC,8BAA8B,CAAC;EAC/C,OAAO,MAAM8D,MAAM,EAAE;AACvB,CAAC;AAAA,gBA9VUpD,gBAAgB,0BAsWI,MAAOqD,UAAkB,IAAK;EAC3D/D,eAAe,CAAC,sBAAsB,CAAC;EACvC,IAAI+D,UAAU,GAAG,CAAC,EAAE;IAClB/D,eAAe,CAAE,wBAAuB+D,UAAW,EAAC,EAAEjD,OAAO,CAACC,KAAK,CAAC;IACpE;EACF;EACA,OAAO,MAAMiD,gBAAgB,CAACD,UAAU,CAAC;AAC3C,CAAC;AAAA,gBA7WUrD,gBAAgB,qBA0XF,UAACuD,OAAgB,EAA4C;EAAA,IAA1CC,QAAmB,uEAAGC,iBAAS,CAACC,KAAK;EAC/E,IAAIH,OAAO,IAAI,IAAI,IAAIC,QAAQ,IAAI,IAAI,EAAE;IACvC;EACF;EAEAvE,SAAS,GAAGsE,OAAO;EAEnB,IAAItE,SAAS,KAAK,KAAK,IAAIuE,QAAQ,IAAIC,iBAAS,CAACE,GAAG,EAAE;IACpD1E,SAAS,GAAG,KAAK;IACjBH,mBAAmB,CAAC8E,WAAW,CAACH,iBAAS,CAACE,GAAG,CAAC;EAChD,CAAC,MAAM;IACL7E,mBAAmB,CAAC8E,WAAW,CAACJ,QAAQ,CAAC;EAC3C;AACF,CAAC;AAGH,eAAehD,kBAAkB,CAC/BP,UAAuB,EACvBC,OAAe,EACfC,EAAU,EACV;EACA,IAAI;IACF,MAAM0D,kBAAkB,GAAG,MAAM/E,mBAAmB,CAACgF,WAAW,CAC9D7D,UAAU,EACVE,EAAE,EACFD,OAAO,CACR;IACDZ,eAAe,CAAE,sBAAqBuE,kBAAmB,EAAC,CAAC;IAC3D,OAAOA,kBAAkB;EAC3B,CAAC,CAAC,OAAOE,SAAS,EAAE;IAClBzE,eAAe,CACZ,iCAAgCyE,SAAU,EAAC,EAC5C3D,OAAO,CAACC,KAAK,CACd;IACD,OAAO2D,OAAO,CAACC,MAAM,CAACF,SAAS,CAAC;EAClC;AACF;AAEA,eAAerD,sBAAsB,CAACP,EAAU,EAAEM,KAAa,EAAE;EAC/D,IAAI;IACF,MAAMyD,SAAS,GAAG,MAAMpF,mBAAmB,CAACqF,IAAI,CAAChE,EAAE,EAAEM,KAAK,CAAC;IAC3DnB,eAAe,CAAE,gBAAe4E,SAAU,EAAC,CAAC;IAC5C,OAAOA,SAAS;EAClB,CAAC,CAAC,OAAOH,SAAS,EAAE;IAClBzE,eAAe,CACZ,qCAAoCyE,SAAU,EAAC,EAChD3D,OAAO,CAACC,KAAK,CACd;IACD,OAAO2D,OAAO,CAACC,MAAM,CAACF,SAAS,CAAC;EAClC;AACF;AAEA,eAAeb,kBAAkB,GAAG;EAClC,IAAI;IACF,MAAMkB,eAAe,GAAG,MAAMtF,mBAAmB,CAACoE,kBAAkB,EAAE;IACtE5D,eAAe,CAAE,qBAAoB8E,eAAgB,EAAC,CAAC;IACvD,OAAOA,eAAe;EACxB,CAAC,CAAC,OAAOL,SAAS,EAAE;IAClBzE,eAAe,CAAE,cAAayE,SAAU,EAAC,EAAE3D,OAAO,CAACC,KAAK,CAAC;IACzD,OAAOrB,cAAc;EACvB;AACF;AAEA,eAAemE,SAAS,GAAG;EACzB,IAAI;IACF,MAAMkB,eAAe,GAAG,MAAMvF,mBAAmB,CAACqE,SAAS,EAAE;IAC7D7D,eAAe,CAAE,mBAAkB+E,eAAgB,EAAC,CAAC;IACrD,OAAOA,eAAe;EACxB,CAAC,CAAC,OAAON,SAAS,EAAE;IAClBzE,eAAe,CAAE,cAAayE,SAAU,EAAC,EAAE3D,OAAO,CAACC,KAAK,CAAC;IACzD,OAAO,KAAK;EACd;AACF;AAEA,eAAe+C,MAAM,GAAG;EACtB,IAAI;IACF,MAAMkB,YAAY,GAAG,MAAMxF,mBAAmB,CAACsE,MAAM,EAAE;IACvD9D,eAAe,CAAE,gBAAegF,YAAa,EAAC,CAAC;IAC/C,OAAOA,YAAY;EACrB,CAAC,CAAC,OAAOP,SAAS,EAAE;IAClBzE,eAAe,CAAE,cAAayE,SAAU,EAAC,EAAE3D,OAAO,CAACC,KAAK,CAAC;IACzD,OAAO,KAAK;EACd;AACF;AAEA,eAAeiD,gBAAgB,CAAC3B,QAAgB,EAAE;EAChD,IAAI;IACF,MAAM4C,aAAa,GAAG,MAAMzF,mBAAmB,CAAC0F,oBAAoB,CAAC7C,QAAQ,CAAC;IAC9ErC,eAAe,CAAE,oBAAmB6B,IAAI,CAACC,SAAS,CAACmD,aAAa,CAAE,EAAC,CAAC;IACpE,OAAOA,aAAa;EACtB,CAAC,CAAC,OAAOR,SAAS,EAAE;IAClBzE,eAAe,CAAE,cAAayE,SAAU,EAAC,EAAE3D,OAAO,CAACC,KAAK,CAAC;IACzD,OAAO2D,OAAO,CAACC,MAAM,CAACF,SAAS,CAAC;EAClC;AACF;AAEA,SAASzE,eAAe,CAACmF,OAAe,EAAkC;EAAA,IAAhCC,OAAgB,uEAAGtE,OAAO,CAACuE,GAAG;EACtE,IAAI1F,SAAS,EAAE;IACb,QAAQyF,OAAO;MACb,KAAKtE,OAAO,CAACuE,GAAG;QAAE;UAChBC,OAAO,CAACC,GAAG,CAACJ,OAAO,CAAC;UACpB;QACF;MACA,KAAKrE,OAAO,CAAC0E,IAAI;QAAE;UACjBF,OAAO,CAACG,IAAI,CAACN,OAAO,CAAC;UACrB;QACF;MACA,KAAKrE,OAAO,CAACC,KAAK;QAAE;UAClBuE,OAAO,CAACI,KAAK,CAACP,OAAO,CAAC;UACtB;QACF;MACA;QAAS;UACPG,OAAO,CAACC,GAAG,CAACJ,OAAO,CAAC;QACtB;IAAC;EAEL;AACF;AAAC,IAEIrE,OAAO;AAAA,WAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;AAAA,GAAPA,OAAO,KAAPA,OAAO"} \ No newline at end of file diff --git a/lib/module/events/AnalyticsEvents.js b/lib/module/events/AnalyticsEvents.js index e6cf0f1..13abe0d 100644 --- a/lib/module/events/AnalyticsEvents.js +++ b/lib/module/events/AnalyticsEvents.js @@ -1,8 +1,12 @@ export const AnalyticsEvents = { PHOENIX_CONCURRENCY_ERROR: 'concurrencyError', PHOENIX_BOOKMARK_ERROR: 'bookmarkError', - PHOENIX_ERROR: 'error', - SOURCE_URL_SWITCHED: "sourceUrlSwitched", - CDN_SWITCHED: "cdnSwitched" + PHOENIX_ERROR: 'phoenixError', + PHOENIX_REPORT_SENT: 'phoenixReportSent', + KAVA_REPORT_SENT: 'kavaReportSent', + YOUBORA_REPORT_SENT: 'youboraReportSent', + SOURCE_URL_SWITCHED: 'sourceUrlSwitched', + CDN_SWITCHED: 'cdnSwitched', + BROADPEAK_ERROR: 'broadPeakError' }; //# sourceMappingURL=AnalyticsEvents.js.map \ No newline at end of file diff --git a/lib/module/events/AnalyticsEvents.js.map b/lib/module/events/AnalyticsEvents.js.map index 7f1fb56..0afb5e9 100644 --- a/lib/module/events/AnalyticsEvents.js.map +++ b/lib/module/events/AnalyticsEvents.js.map @@ -1 +1 @@ -{"version":3,"names":["AnalyticsEvents","PHOENIX_CONCURRENCY_ERROR","PHOENIX_BOOKMARK_ERROR","PHOENIX_ERROR","SOURCE_URL_SWITCHED","CDN_SWITCHED"],"sources":["AnalyticsEvents.tsx"],"sourcesContent":["export const AnalyticsEvents = {\n PHOENIX_CONCURRENCY_ERROR: 'concurrencyError',\n PHOENIX_BOOKMARK_ERROR: 'bookmarkError',\n PHOENIX_ERROR: 'error',\n SOURCE_URL_SWITCHED: \"sourceUrlSwitched\",\n CDN_SWITCHED: \"cdnSwitched\"\n};\n"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG;EAC7BC,yBAAyB,EAAE,kBAAkB;EAC7CC,sBAAsB,EAAE,eAAe;EACvCC,aAAa,EAAE,OAAO;EACtBC,mBAAmB,EAAE,mBAAmB;EACxCC,YAAY,EAAE;AAChB,CAAC"} \ No newline at end of file +{"version":3,"names":["AnalyticsEvents","PHOENIX_CONCURRENCY_ERROR","PHOENIX_BOOKMARK_ERROR","PHOENIX_ERROR","PHOENIX_REPORT_SENT","KAVA_REPORT_SENT","YOUBORA_REPORT_SENT","SOURCE_URL_SWITCHED","CDN_SWITCHED","BROADPEAK_ERROR"],"sources":["AnalyticsEvents.tsx"],"sourcesContent":["export const AnalyticsEvents = {\n PHOENIX_CONCURRENCY_ERROR: 'concurrencyError',\n PHOENIX_BOOKMARK_ERROR: 'bookmarkError',\n PHOENIX_ERROR: 'phoenixError',\n PHOENIX_REPORT_SENT: 'phoenixReportSent',\n KAVA_REPORT_SENT: 'kavaReportSent',\n YOUBORA_REPORT_SENT: 'youboraReportSent',\n SOURCE_URL_SWITCHED: 'sourceUrlSwitched',\n CDN_SWITCHED: 'cdnSwitched',\n BROADPEAK_ERROR: 'broadPeakError'\n};\n"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG;EAC7BC,yBAAyB,EAAE,kBAAkB;EAC7CC,sBAAsB,EAAE,eAAe;EACvCC,aAAa,EAAE,cAAc;EAC7BC,mBAAmB,EAAE,mBAAmB;EACxCC,gBAAgB,EAAE,gBAAgB;EAClCC,mBAAmB,EAAE,mBAAmB;EACxCC,mBAAmB,EAAE,mBAAmB;EACxCC,YAAY,EAAE,aAAa;EAC3BC,eAAe,EAAE;AACnB,CAAC"} \ No newline at end of file diff --git a/lib/module/index.js b/lib/module/index.js index 905275c..37523f7 100644 --- a/lib/module/index.js +++ b/lib/module/index.js @@ -208,10 +208,11 @@ _defineProperty(KalturaPlayerAPI, "enableDebugLogs", function (enabled) { return; } debugLogs = enabled; - if (debugLogs && logLevel != LOG_LEVEL.OFF) { - KalturaPlayerModule.setLogLevel(logLevel); - } else { + if (debugLogs === false || logLevel == LOG_LEVEL.OFF) { + debugLogs = false; KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF); + } else { + KalturaPlayerModule.setLogLevel(logLevel); } }); async function setupKalturaPlayer(playerType, options, id) { diff --git a/lib/module/index.js.map b/lib/module/index.js.map index df9bcfb..d24f758 100644 --- a/lib/module/index.js.map +++ b/lib/module/index.js.map @@ -1 +1 @@ -{"version":3,"names":["requireNativeComponent","NativeModules","React","PropTypes","PlayerEvents","AdEvents","AnalyticsEvents","PLAYER_TYPE","MEDIA_FORMAT","MEDIA_ENTRY_TYPE","DRM_SCHEME","PLAYER_PLUGIN","PLAYER_RESIZE_MODES","WAKEMODE","SUBTITLE_STYLE","SUBTITLE_PREFERENCE","VIDEO_CODEC","AUDIO_CODEC","VR_INTERACTION_MODE","LOG_LEVEL","RNKalturaPlayer","KalturaPlayerModule","POSITION_UNSET","debugLogs","KalturaPlayer","Component","componentDidMount","printConsoleLog","componentWillUnmount","render","props","nativeRef","nativeComponentRef","propTypes","style","object","KalturaPlayerAPI","playerType","options","id","LogType","ERROR","BASIC","setupKalturaPlayer","asset","loadMediaKalturaPlayer","addPlayerView","removePlayerView","addKalturaPlayerListeners","removeKalturaPlayerListeners","onApplicationPaused","onApplicationResumed","configs","stringifiedJson","JSON","stringify","updatePluginConfigs","play","pause","stop","destroy","replay","position","seekTo","trackId","changeTrack","rate","changePlaybackRate","vol","setVolume","isAutoPlay","setAutoplay","KS","setKS","seekToLiveDefaultPosition","subtitleStyle","updateSubtitleStyle","mode","updateResizeMode","abrSettings","updateAbrSettings","resetAbrSettings","lowLatencyConfig","updateLLConfig","resetLLConfig","getCurrentPosition","isPlaying","isLive","positionMs","getThumbnailInfo","enabled","logLevel","DEBUG","OFF","setLogLevel","kalturaPlayerSetup","setUpPlayer","exception","Promise","reject","loadMedia","load","currentPosition","isPlayerPlaying","isPlayerLive","thumbnailInfo","requestThumbnailInfo","message","logType","LOG","console","log","WARN","warn","error"],"sources":["index.tsx"],"sourcesContent":["import { requireNativeComponent, NativeModules, ViewStyle } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PlayerEvents } from './events/PlayerEvents';\nimport { AdEvents } from './events/AdEvents';\nimport { AnalyticsEvents } from './events/AnalyticsEvents';\nimport {\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n} from './consts';\n\nexport {\n PlayerEvents,\n AdEvents,\n AnalyticsEvents,\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n};\n\nconst RNKalturaPlayer = requireNativeComponent('KalturaPlayerView');\nconst { KalturaPlayerModule } = NativeModules;\n\nconst POSITION_UNSET: number = -1;\nvar debugLogs = false;\n\ninterface KalturaPlayerProps {\n style: ViewStyle;\n}\n\nexport class KalturaPlayer extends React.Component {\n nativeComponentRef: any;\n\n static propTypes: {\n style: object;\n };\n\n componentDidMount() {\n printConsoleLog('componentDidMount from Library.');\n }\n\n componentWillUnmount() {\n printConsoleLog('componentWillUnmount from Library');\n }\n\n render() {\n return (\n (this.nativeComponentRef = nativeRef)}\n />\n );\n }\n}\n\nKalturaPlayer.propTypes = {\n style: PropTypes.object,\n};\n\nexport class KalturaPlayerAPI {\n /**\n * This method creates a Player instance internally (Basic, OVP/OTT Player)\n * With this, it take the PlayerInitOptions which are having essential Player settings values\n *\n * @param playerType The Player Type, Basic/OVP/OTT.\n * @param options PlayerInitOptions JSON String.\n * @param id PartnerId (Don't pass this parameter for BasicPlayer. For OVP/OTT player this value\n * should be always greater than 0 and should be valid otherwise, we will not be able to featch the details\n * for the mediaId or the entryId)\n */\n static setup = async (\n playerType: PLAYER_TYPE,\n options: string,\n id: number = 0\n ) => {\n if (playerType == null) {\n printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR);\n return;\n }\n\n if (!options && playerType != PLAYER_TYPE.BASIC) {\n printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Setting up the Player');\n return await setupKalturaPlayer(playerType, options, id);\n };\n\n /**\n * Load the media with the given\n *\n * assetId OR mediaId OR entryID for OVP/OTT Kaltura Player\n *\n * playbackURL for Basic Kaltura Player\n *\n * @param id Playback URL for Kaltura Basic Player OR\n * MediaId for Kaltura OTT Player OR\n * EntryId for Kaltura OVP Player\n * @param asset Media Asset JSON String\n */\n static loadMedia = async (id: string, asset: string) => {\n if (!id) {\n printConsoleLog(\n `loadMedia, invalid id = ${id}`,\n LogType.ERROR\n );\n return;\n }\n\n printConsoleLog(\n `Loading the media. assetId is: ${id} and media asset is: ${asset}`\n );\n\n return await loadMediaKalturaPlayer(id, asset);\n };\n\n /**\n * Adds the Native Player View to the Player if not attached\n * Ideally this API should be called after calling {@link removePlayerView}\n */\n static addPlayerView = () => {\n printConsoleLog('Calling Native method addPlayerView()');\n KalturaPlayerModule.addPlayerView();\n };\n\n /**\n * Removes the Native Player View from the Player if it is attached\n * Ideally this API should be called after calling {@link addPlayerView}\n */\n static removePlayerView = () => {\n printConsoleLog('Calling Native method removePlayerView()');\n KalturaPlayerModule.removePlayerView();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static addListeners = () => {\n printConsoleLog('Calling Native method addListeners()');\n KalturaPlayerModule.addKalturaPlayerListeners();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static removeListeners = () => {\n printConsoleLog('Calling Native method removeListeners()');\n KalturaPlayerModule.removeKalturaPlayerListeners();\n };\n\n /**\n * Should be called when the application is in background\n */\n static onApplicationPaused = () => {\n printConsoleLog('Calling Native method onApplicationPaused()');\n KalturaPlayerModule.onApplicationPaused();\n };\n\n /**\n * Should be called when the application comes back to\n * foreground\n */\n static onApplicationResumed = () => {\n printConsoleLog('Calling Native method onApplicationResumed()');\n KalturaPlayerModule.onApplicationResumed();\n };\n\n /**\n * Update Plugin Configs\n *\n * @param configs Updated Plugin Configs (YouboraConfig JSON, IMAConfig JSON etc)\n */\n static updatePluginConfigs = (configs: object) => {\n if (!configs) {\n printConsoleLog(\n `updatePluginConfig, config is invalid: ${configs}`,\n LogType.ERROR\n );\n return;\n }\n\n const stringifiedJson = JSON.stringify(configs);\n printConsoleLog(`Updated Plugin is: ${stringifiedJson}`);\n\n KalturaPlayerModule.updatePluginConfigs(stringifiedJson);\n };\n\n /**\n * Play the player if it is not playing\n */\n static play = () => {\n printConsoleLog('Calling Native method play()');\n KalturaPlayerModule.play();\n };\n\n /**\n * Pause the player if it is playing\n */\n static pause = () => {\n printConsoleLog('Calling Native method pause()');\n KalturaPlayerModule.pause();\n };\n\n /**\n * Stops the player to the initial state\n */\n static stop = () => {\n printConsoleLog('Calling Native method stop()');\n KalturaPlayerModule.stop();\n };\n\n /**\n * Destroy the Kaltura Player instance\n */\n static destroy = () => {\n printConsoleLog('Calling Native method destroy()');\n KalturaPlayerModule.destroy();\n };\n\n /**\n * Replays the media from the beginning\n */\n static replay = () => {\n printConsoleLog('Calling Native method replay()');\n KalturaPlayerModule.replay();\n };\n\n /**\n * Seek the player to the specified position\n * @param position in miliseconds (Ms)\n */\n static seekTo = (position: number) => {\n printConsoleLog(`Calling Native method seekTo() position is: ${position}`);\n KalturaPlayerModule.seekTo(position);\n };\n\n /**\n * Change a specific track (Video, Audio or Text track)\n * @param trackId Unique track ID which was sent in `tracksAvailable` event\n */\n static changeTrack = (trackId: string) => {\n if (!trackId) {\n printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method changeTrack()');\n KalturaPlayerModule.changeTrack(trackId);\n };\n\n /**\n * Change the playback rate (ff or slow motion). Default is 1.0f\n * @param rate Desired playback rate (Ex: 0.5f, 1.5f 2.0f etc)\n */\n static setPlaybackRate = (rate: number) => {\n printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`);\n KalturaPlayerModule.changePlaybackRate(rate);\n };\n\n /**\n * Change the volume of the current audio track.\n * Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume.\n * If the volume parameter is higher then 1.0, it will be converted to 1.0.\n * If the volume parameter is lower then 0.0, it be converted to 0.0.\n *\n * @param vol - volume to set.\n */\n static setVolume = (vol: number) => {\n printConsoleLog('Calling Native method setVolume()');\n KalturaPlayerModule.setVolume(vol);\n };\n\n /**\n * Set the media to play automatically at the start (load)\n * if `false`, user will have to click on UI play button\n *\n * @param isAutoPlay media should be autoplayed at the start or not\n */\n static setAutoPlay = (isAutoPlay: boolean) => {\n printConsoleLog('Calling Native method setAutoPlay()');\n KalturaPlayerModule.setAutoplay(isAutoPlay);\n };\n\n /**\n * Set the KS for the media (only for OVP/OTT users)\n * Call this before calling {@link loadMedia}\n * @param KS Kaltura Secret key\n */\n static setKS = (KS: string) => {\n if (!KS) {\n printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method setKS()');\n KalturaPlayerModule.setKS(KS);\n };\n\n /**\n * NOOP\n * @param index\n */\n //static setZIndex = (index: number) => {\n // printConsoleLog('Calling Native method setZIndex()');\n //};\n\n /**\n * Only for Live Media.\n * Seek player to Live Default Position.\n */\n static seekToLiveDefaultPosition = () => {\n printConsoleLog('Calling Native method seekToLiveDefaultPosition()');\n KalturaPlayerModule.seekToLiveDefaultPosition();\n };\n\n /**\n * Update the existing subtitle styling\n */\n static updateSubtitleStyle = (subtitleStyle: string) => {\n if (!subtitleStyle) {\n printConsoleLog(\n `subtitleStyle is invalid which is: ${subtitleStyle}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateSubtitleStyle()');\n KalturaPlayerModule.updateSubtitleStyle(subtitleStyle);\n };\n\n /**\n * Update the Resize Mode\n */\n static updateResizeMode = (mode: PLAYER_RESIZE_MODES) => {\n printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()');\n KalturaPlayerModule.updateResizeMode(mode);\n };\n\n /**\n * Update the ABR Settings\n */\n static updateAbrSettings = (abrSettings: string) => {\n if (!abrSettings) {\n printConsoleLog(\n `abrSettings is invalid which is: ${abrSettings}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateABRSettings()');\n KalturaPlayerModule.updateAbrSettings(abrSettings);\n };\n\n /**\n * Reset the ABR Settings\n */\n static resetAbrSettings = () => {\n printConsoleLog('Calling Native method resetABRSettings()');\n KalturaPlayerModule.resetAbrSettings();\n };\n\n /**\n * Update the Low Latency Config\n * Only for Live Media\n */\n static updateLowLatencyConfig = (lowLatencyConfig: string) => {\n if (!lowLatencyConfig) {\n printConsoleLog(\n `lowLatencyConfig is invalid which is: ${lowLatencyConfig}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateLowLatencyConfig()');\n KalturaPlayerModule.updateLLConfig(lowLatencyConfig);\n };\n\n /**\n * Reset the Low Latency Config\n * Only for Live Media\n */\n static resetLowLatencyConfig = () => {\n printConsoleLog('Calling Native method resetLowLatencyConfig()');\n KalturaPlayerModule.resetLLConfig();\n };\n\n /**\n * Get the current playback position for Content and Ad\n * @returns number: Position of the player or {@link POSITION_UNSET}\n */\n static getCurrentPosition = async () => {\n printConsoleLog('Calling Native method getCurrentPosition()');\n return await getCurrentPosition();\n };\n\n /**\n * Checks if Player is currently playing or not\n * @returns boolean\n */\n static isPlaying = async () => {\n printConsoleLog('Calling Native method isPlaying');\n return await isPlaying();\n };\n\n /**\n * Checks if the stream is Live or Not\n * @returns boolean\n */\n static isLive = async () => {\n printConsoleLog('Calling Native method isLive');\n return await isLive();\n };\n\n /**\n * Get the Information for a thumbnail image by position.\n *\n * @param positionMs - relevant image for given player position.\n * @returns ThumbnailInfo JSON object\n */\n static requestThumbnailInfo = async (positionMs: number) => {\n printConsoleLog('requestThumbnailInfo');\n if (positionMs < 0) {\n printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR);\n return;\n }\n return await getThumbnailInfo(positionMs);\n };\n\n /**\n * Enable the console logs for the JS bridge and Player.\n * By default it is disabled. \n * \n * For logLevel options {@link LOG_LEVEL}\n * \n * @param enabled enable the debug logs. Just set it to `false` to disable all the logs.\n * @param logLevel Default is `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs.\n * \n * @returns if `enabled` is `null` then don't do anything\n */\n static enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG) => {\n if (enabled == null || logLevel == null) {\n return;\n }\n\n debugLogs = enabled;\n\n if (debugLogs && logLevel != LOG_LEVEL.OFF) {\n KalturaPlayerModule.setLogLevel(logLevel);\n } else {\n KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF);\n }\n };\n}\n\nasync function setupKalturaPlayer(\n playerType: PLAYER_TYPE,\n options: string,\n id: number\n) {\n try {\n const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(\n playerType,\n id,\n options\n );\n printConsoleLog(`Player is created: ${kalturaPlayerSetup}`);\n return kalturaPlayerSetup;\n } catch (exception) {\n printConsoleLog(\n `setupKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function loadMediaKalturaPlayer(id: string, asset: string) {\n try {\n const loadMedia = await KalturaPlayerModule.load(id, asset);\n printConsoleLog(`Media Loaded ${loadMedia}`);\n return loadMedia;\n } catch (exception) {\n printConsoleLog(\n `loadMediaKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function getCurrentPosition() {\n try {\n const currentPosition = await KalturaPlayerModule.getCurrentPosition();\n printConsoleLog(`Current Position: ${currentPosition}`);\n return currentPosition;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return POSITION_UNSET;\n }\n}\n\nasync function isPlaying() {\n try {\n const isPlayerPlaying = await KalturaPlayerModule.isPlaying();\n printConsoleLog(`isPlayerPlaying ${isPlayerPlaying}`);\n return isPlayerPlaying;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function isLive() {\n try {\n const isPlayerLive = await KalturaPlayerModule.isLive();\n printConsoleLog(`isPlayerLive ${isPlayerLive}`);\n return isPlayerLive;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function getThumbnailInfo(position: number) {\n try {\n const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position);\n printConsoleLog(`getThumbnailInfo ${JSON.stringify(thumbnailInfo)}`);\n return thumbnailInfo;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return Promise.reject(exception);\n }\n}\n\nfunction printConsoleLog(message: String, logType: LogType = LogType.LOG) {\n if (debugLogs) {\n switch (logType) {\n case LogType.LOG: {\n console.log(message);\n break;\n }\n case LogType.WARN: {\n console.warn(message);\n break;\n }\n case LogType.ERROR: {\n console.error(message);\n break;\n }\n default: {\n console.log(message);\n }\n }\n }\n}\n\nenum LogType {\n LOG,\n WARN,\n ERROR,\n}\n"],"mappings":"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"} \ No newline at end of file +{"version":3,"names":["requireNativeComponent","NativeModules","React","PropTypes","PlayerEvents","AdEvents","AnalyticsEvents","PLAYER_TYPE","MEDIA_FORMAT","MEDIA_ENTRY_TYPE","DRM_SCHEME","PLAYER_PLUGIN","PLAYER_RESIZE_MODES","WAKEMODE","SUBTITLE_STYLE","SUBTITLE_PREFERENCE","VIDEO_CODEC","AUDIO_CODEC","VR_INTERACTION_MODE","LOG_LEVEL","RNKalturaPlayer","KalturaPlayerModule","POSITION_UNSET","debugLogs","KalturaPlayer","Component","componentDidMount","printConsoleLog","componentWillUnmount","render","props","nativeRef","nativeComponentRef","propTypes","style","object","KalturaPlayerAPI","playerType","options","id","LogType","ERROR","BASIC","setupKalturaPlayer","asset","loadMediaKalturaPlayer","addPlayerView","removePlayerView","addKalturaPlayerListeners","removeKalturaPlayerListeners","onApplicationPaused","onApplicationResumed","configs","stringifiedJson","JSON","stringify","updatePluginConfigs","play","pause","stop","destroy","replay","position","seekTo","trackId","changeTrack","rate","changePlaybackRate","vol","setVolume","isAutoPlay","setAutoplay","KS","setKS","seekToLiveDefaultPosition","subtitleStyle","updateSubtitleStyle","mode","updateResizeMode","abrSettings","updateAbrSettings","resetAbrSettings","lowLatencyConfig","updateLLConfig","resetLLConfig","getCurrentPosition","isPlaying","isLive","positionMs","getThumbnailInfo","enabled","logLevel","DEBUG","OFF","setLogLevel","kalturaPlayerSetup","setUpPlayer","exception","Promise","reject","loadMedia","load","currentPosition","isPlayerPlaying","isPlayerLive","thumbnailInfo","requestThumbnailInfo","message","logType","LOG","console","log","WARN","warn","error"],"sources":["index.tsx"],"sourcesContent":["import { requireNativeComponent, NativeModules, ViewStyle } from 'react-native';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { PlayerEvents } from './events/PlayerEvents';\nimport { AdEvents } from './events/AdEvents';\nimport { AnalyticsEvents } from './events/AnalyticsEvents';\nimport {\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n} from './consts';\n\nexport {\n PlayerEvents,\n AdEvents,\n AnalyticsEvents,\n PLAYER_TYPE,\n MEDIA_FORMAT,\n MEDIA_ENTRY_TYPE,\n DRM_SCHEME,\n PLAYER_PLUGIN,\n PLAYER_RESIZE_MODES,\n WAKEMODE,\n SUBTITLE_STYLE,\n SUBTITLE_PREFERENCE,\n VIDEO_CODEC,\n AUDIO_CODEC,\n VR_INTERACTION_MODE,\n LOG_LEVEL,\n};\n\nconst RNKalturaPlayer = requireNativeComponent('KalturaPlayerView');\nconst { KalturaPlayerModule } = NativeModules;\n\nconst POSITION_UNSET: number = -1;\nvar debugLogs = false;\n\ninterface KalturaPlayerProps {\n style: ViewStyle;\n}\n\nexport class KalturaPlayer extends React.Component {\n nativeComponentRef: any;\n\n static propTypes: {\n style: object;\n };\n\n componentDidMount() {\n printConsoleLog('componentDidMount from Library.');\n }\n\n componentWillUnmount() {\n printConsoleLog('componentWillUnmount from Library');\n }\n\n render() {\n return (\n (this.nativeComponentRef = nativeRef)}\n />\n );\n }\n}\n\nKalturaPlayer.propTypes = {\n style: PropTypes.object,\n};\n\nexport class KalturaPlayerAPI {\n /**\n * This method creates a Player instance internally (Basic, OVP/OTT Player)\n * With this, it take the PlayerInitOptions which are having essential Player settings values\n *\n * @param playerType The Player Type, Basic/OVP/OTT.\n * @param options PlayerInitOptions JSON String.\n * @param id PartnerId (Don't pass this parameter for BasicPlayer. For OVP/OTT player this value\n * should be always greater than 0 and should be valid otherwise, we will not be able to featch the details\n * for the mediaId or the entryId)\n */\n static setup = async (\n playerType: PLAYER_TYPE,\n options: string,\n id: number = 0\n ) => {\n if (playerType == null) {\n printConsoleLog(`Invalid playerType = ${playerType}`, LogType.ERROR);\n return;\n }\n\n if (!options && playerType != PLAYER_TYPE.BASIC) {\n printConsoleLog(`setup, invalid options = ${options}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Setting up the Player');\n return await setupKalturaPlayer(playerType, options, id);\n };\n\n /**\n * Load the media with the given\n *\n * assetId OR mediaId OR entryID for OVP/OTT Kaltura Player\n *\n * playbackURL for Basic Kaltura Player\n *\n * @param id Playback URL for Kaltura Basic Player OR\n * MediaId for Kaltura OTT Player OR\n * EntryId for Kaltura OVP Player\n * @param asset Media Asset JSON String\n */\n static loadMedia = async (id: string, asset: string) => {\n if (!id) {\n printConsoleLog(\n `loadMedia, invalid id = ${id}`,\n LogType.ERROR\n );\n return;\n }\n\n printConsoleLog(\n `Loading the media. assetId is: ${id} and media asset is: ${asset}`\n );\n\n return await loadMediaKalturaPlayer(id, asset);\n };\n\n /**\n * Adds the Native Player View to the Player if not attached\n * Ideally this API should be called after calling {@link removePlayerView}\n */\n static addPlayerView = () => {\n printConsoleLog('Calling Native method addPlayerView()');\n KalturaPlayerModule.addPlayerView();\n };\n\n /**\n * Removes the Native Player View from the Player if it is attached\n * Ideally this API should be called after calling {@link addPlayerView}\n */\n static removePlayerView = () => {\n printConsoleLog('Calling Native method removePlayerView()');\n KalturaPlayerModule.removePlayerView();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static addListeners = () => {\n printConsoleLog('Calling Native method addListeners()');\n KalturaPlayerModule.addKalturaPlayerListeners();\n };\n\n /**\n * Add the listners for the Kaltura Player\n */\n static removeListeners = () => {\n printConsoleLog('Calling Native method removeListeners()');\n KalturaPlayerModule.removeKalturaPlayerListeners();\n };\n\n /**\n * Should be called when the application is in background\n */\n static onApplicationPaused = () => {\n printConsoleLog('Calling Native method onApplicationPaused()');\n KalturaPlayerModule.onApplicationPaused();\n };\n\n /**\n * Should be called when the application comes back to\n * foreground\n */\n static onApplicationResumed = () => {\n printConsoleLog('Calling Native method onApplicationResumed()');\n KalturaPlayerModule.onApplicationResumed();\n };\n\n /**\n * Update Plugin Configs\n *\n * @param configs Updated Plugin Configs (YouboraConfig JSON, IMAConfig JSON etc)\n */\n static updatePluginConfigs = (configs: object) => {\n if (!configs) {\n printConsoleLog(\n `updatePluginConfig, config is invalid: ${configs}`,\n LogType.ERROR\n );\n return;\n }\n\n const stringifiedJson = JSON.stringify(configs);\n printConsoleLog(`Updated Plugin is: ${stringifiedJson}`);\n\n KalturaPlayerModule.updatePluginConfigs(stringifiedJson);\n };\n\n /**\n * Play the player if it is not playing\n */\n static play = () => {\n printConsoleLog('Calling Native method play()');\n KalturaPlayerModule.play();\n };\n\n /**\n * Pause the player if it is playing\n */\n static pause = () => {\n printConsoleLog('Calling Native method pause()');\n KalturaPlayerModule.pause();\n };\n\n /**\n * Stops the player to the initial state\n */\n static stop = () => {\n printConsoleLog('Calling Native method stop()');\n KalturaPlayerModule.stop();\n };\n\n /**\n * Destroy the Kaltura Player instance\n */\n static destroy = () => {\n printConsoleLog('Calling Native method destroy()');\n KalturaPlayerModule.destroy();\n };\n\n /**\n * Replays the media from the beginning\n */\n static replay = () => {\n printConsoleLog('Calling Native method replay()');\n KalturaPlayerModule.replay();\n };\n\n /**\n * Seek the player to the specified position\n * @param position in miliseconds (Ms)\n */\n static seekTo = (position: number) => {\n printConsoleLog(`Calling Native method seekTo() position is: ${position}`);\n KalturaPlayerModule.seekTo(position);\n };\n\n /**\n * Change a specific track (Video, Audio or Text track)\n * @param trackId Unique track ID which was sent in `tracksAvailable` event\n */\n static changeTrack = (trackId: string) => {\n if (!trackId) {\n printConsoleLog(`trackId is invalid which is: ${trackId}`, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method changeTrack()');\n KalturaPlayerModule.changeTrack(trackId);\n };\n\n /**\n * Change the playback rate (ff or slow motion). Default is 1.0f\n * @param rate Desired playback rate (Ex: 0.5f, 1.5f 2.0f etc)\n */\n static setPlaybackRate = (rate: number) => {\n printConsoleLog(`Calling Native method setPlaybackRate() rate is: ${rate}`);\n KalturaPlayerModule.changePlaybackRate(rate);\n };\n\n /**\n * Change the volume of the current audio track.\n * Accept values between 0.0 and 1.0. Where 0.0 is mute and 1.0 is maximum volume.\n * If the volume parameter is higher then 1.0, it will be converted to 1.0.\n * If the volume parameter is lower then 0.0, it be converted to 0.0.\n *\n * @param vol - volume to set.\n */\n static setVolume = (vol: number) => {\n printConsoleLog('Calling Native method setVolume()');\n KalturaPlayerModule.setVolume(vol);\n };\n\n /**\n * Set the media to play automatically at the start (load)\n * if `false`, user will have to click on UI play button\n *\n * @param isAutoPlay media should be autoplayed at the start or not\n */\n static setAutoPlay = (isAutoPlay: boolean) => {\n printConsoleLog('Calling Native method setAutoPlay()');\n KalturaPlayerModule.setAutoplay(isAutoPlay);\n };\n\n /**\n * Set the KS for the media (only for OVP/OTT users)\n * Call this before calling {@link loadMedia}\n * @param KS Kaltura Secret key\n */\n static setKS = (KS: string) => {\n if (!KS) {\n printConsoleLog('KS is invalid which is: ' + KS, LogType.ERROR);\n return;\n }\n printConsoleLog('Calling Native method setKS()');\n KalturaPlayerModule.setKS(KS);\n };\n\n /**\n * NOOP\n * @param index\n */\n //static setZIndex = (index: number) => {\n // printConsoleLog('Calling Native method setZIndex()');\n //};\n\n /**\n * Only for Live Media.\n * Seek player to Live Default Position.\n */\n static seekToLiveDefaultPosition = () => {\n printConsoleLog('Calling Native method seekToLiveDefaultPosition()');\n KalturaPlayerModule.seekToLiveDefaultPosition();\n };\n\n /**\n * Update the existing subtitle styling\n */\n static updateSubtitleStyle = (subtitleStyle: string) => {\n if (!subtitleStyle) {\n printConsoleLog(\n `subtitleStyle is invalid which is: ${subtitleStyle}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateSubtitleStyle()');\n KalturaPlayerModule.updateSubtitleStyle(subtitleStyle);\n };\n\n /**\n * Update the Resize Mode\n */\n static updateResizeMode = (mode: PLAYER_RESIZE_MODES) => {\n printConsoleLog('Calling Native method updateSurfaceAspectRatioResizeMode()');\n KalturaPlayerModule.updateResizeMode(mode);\n };\n\n /**\n * Update the ABR Settings\n */\n static updateAbrSettings = (abrSettings: string) => {\n if (!abrSettings) {\n printConsoleLog(\n `abrSettings is invalid which is: ${abrSettings}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateABRSettings()');\n KalturaPlayerModule.updateAbrSettings(abrSettings);\n };\n\n /**\n * Reset the ABR Settings\n */\n static resetAbrSettings = () => {\n printConsoleLog('Calling Native method resetABRSettings()');\n KalturaPlayerModule.resetAbrSettings();\n };\n\n /**\n * Update the Low Latency Config\n * Only for Live Media\n */\n static updateLowLatencyConfig = (lowLatencyConfig: string) => {\n if (!lowLatencyConfig) {\n printConsoleLog(\n `lowLatencyConfig is invalid which is: ${lowLatencyConfig}`,\n LogType.ERROR\n );\n return;\n }\n printConsoleLog('Calling Native method updateLowLatencyConfig()');\n KalturaPlayerModule.updateLLConfig(lowLatencyConfig);\n };\n\n /**\n * Reset the Low Latency Config\n * Only for Live Media\n */\n static resetLowLatencyConfig = () => {\n printConsoleLog('Calling Native method resetLowLatencyConfig()');\n KalturaPlayerModule.resetLLConfig();\n };\n\n /**\n * Get the current playback position for Content and Ad\n * @returns number: Position of the player or {@link POSITION_UNSET}\n */\n static getCurrentPosition = async () => {\n printConsoleLog('Calling Native method getCurrentPosition()');\n return await getCurrentPosition();\n };\n\n /**\n * Checks if Player is currently playing or not\n * @returns boolean\n */\n static isPlaying = async () => {\n printConsoleLog('Calling Native method isPlaying');\n return await isPlaying();\n };\n\n /**\n * Checks if the stream is Live or Not\n * @returns boolean\n */\n static isLive = async () => {\n printConsoleLog('Calling Native method isLive');\n return await isLive();\n };\n\n /**\n * Get the Information for a thumbnail image by position.\n *\n * @param positionMs - relevant image for given player position.\n * @returns ThumbnailInfo JSON object\n */\n static requestThumbnailInfo = async (positionMs: number) => {\n printConsoleLog('requestThumbnailInfo');\n if (positionMs < 0) {\n printConsoleLog(`Invalid positionMs = ${positionMs}`, LogType.ERROR);\n return;\n }\n return await getThumbnailInfo(positionMs);\n };\n\n /**\n * Enable the console logs for the JS bridge and Player.\n * By default it is disabled. \n * \n * For logLevel options {@link LOG_LEVEL}\n * \n * @param enabled enable the debug logs. Just set it to `false` to disable all the logs.\n * @param logLevel Default is `LOG_LEVEL.DEBUG` if set to `LOG_LEVEL.OFF` will turn off the logs.\n * \n * @returns if `enabled` is `null` then don't do anything\n */\n static enableDebugLogs = (enabled: boolean, logLevel: LOG_LEVEL = LOG_LEVEL.DEBUG) => {\n if (enabled == null || logLevel == null) {\n return;\n }\n\n debugLogs = enabled;\n\n if (debugLogs === false || logLevel == LOG_LEVEL.OFF) {\n debugLogs = false;\n KalturaPlayerModule.setLogLevel(LOG_LEVEL.OFF);\n } else {\n KalturaPlayerModule.setLogLevel(logLevel);\n }\n };\n}\n\nasync function setupKalturaPlayer(\n playerType: PLAYER_TYPE,\n options: string,\n id: number\n) {\n try {\n const kalturaPlayerSetup = await KalturaPlayerModule.setUpPlayer(\n playerType,\n id,\n options\n );\n printConsoleLog(`Player is created: ${kalturaPlayerSetup}`);\n return kalturaPlayerSetup;\n } catch (exception) {\n printConsoleLog(\n `setupKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function loadMediaKalturaPlayer(id: string, asset: string) {\n try {\n const loadMedia = await KalturaPlayerModule.load(id, asset);\n printConsoleLog(`Media Loaded ${loadMedia}`);\n return loadMedia;\n } catch (exception) {\n printConsoleLog(\n `loadMediaKalturaPlayer Exception: ${exception}`,\n LogType.ERROR\n );\n return Promise.reject(exception);\n }\n}\n\nasync function getCurrentPosition() {\n try {\n const currentPosition = await KalturaPlayerModule.getCurrentPosition();\n printConsoleLog(`Current Position: ${currentPosition}`);\n return currentPosition;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return POSITION_UNSET;\n }\n}\n\nasync function isPlaying() {\n try {\n const isPlayerPlaying = await KalturaPlayerModule.isPlaying();\n printConsoleLog(`isPlayerPlaying ${isPlayerPlaying}`);\n return isPlayerPlaying;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function isLive() {\n try {\n const isPlayerLive = await KalturaPlayerModule.isLive();\n printConsoleLog(`isPlayerLive ${isPlayerLive}`);\n return isPlayerLive;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return false;\n }\n}\n\nasync function getThumbnailInfo(position: number) {\n try {\n const thumbnailInfo = await KalturaPlayerModule.requestThumbnailInfo(position);\n printConsoleLog(`getThumbnailInfo ${JSON.stringify(thumbnailInfo)}`);\n return thumbnailInfo;\n } catch (exception) {\n printConsoleLog(`Exception: ${exception}`, LogType.ERROR);\n return Promise.reject(exception);\n }\n}\n\nfunction printConsoleLog(message: String, logType: LogType = LogType.LOG) {\n if (debugLogs) {\n switch (logType) {\n case LogType.LOG: {\n console.log(message);\n break;\n }\n case LogType.WARN: {\n console.warn(message);\n break;\n }\n case LogType.ERROR: {\n console.error(message);\n break;\n }\n default: {\n console.log(message);\n }\n }\n }\n}\n\nenum LogType {\n LOG,\n WARN,\n ERROR,\n}\n"],"mappings":"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"} \ No newline at end of file diff --git a/lib/typescript/events/AnalyticsEvents.d.ts b/lib/typescript/events/AnalyticsEvents.d.ts index 390f19b..2e4baab 100644 --- a/lib/typescript/events/AnalyticsEvents.d.ts +++ b/lib/typescript/events/AnalyticsEvents.d.ts @@ -2,6 +2,10 @@ export declare const AnalyticsEvents: { PHOENIX_CONCURRENCY_ERROR: string; PHOENIX_BOOKMARK_ERROR: string; PHOENIX_ERROR: string; + PHOENIX_REPORT_SENT: string; + KAVA_REPORT_SENT: string; + YOUBORA_REPORT_SENT: string; SOURCE_URL_SWITCHED: string; CDN_SWITCHED: string; + BROADPEAK_ERROR: string; }; diff --git a/package.json b/package.json index 4f54c54..893f582 100644 --- a/package.json +++ b/package.json @@ -51,12 +51,12 @@ "registry": "https://registry.npmjs.org/" }, "peerDependencies": { - "react-native": ">=0.66.3" + "react-native": ">=0.66.5" }, "dependencies": { "prop-types": "^15.8.1", "react": "17.0.2", - "react-native": ">=0.66.3" + "react-native": ">=0.66.5" }, "devDependencies": { "@babel/core": "^7.14.0", diff --git a/yarn.lock b/yarn.lock index 0f257a3..7b5ab50 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6637,10 +6637,10 @@ react-native-gradle-plugin@^0.70.3: resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.70.3.tgz#cbcf0619cbfbddaa9128701aa2d7b4145f9c4fc8" integrity sha512-oOanj84fJEXUg9FoEAQomA8ISG+DVIrTZ3qF7m69VQUJyOGYyDZmPqKcjvRku4KXlEH6hWO9i4ACLzNBh8gC0A== -react-native@>=0.66.3: - version "0.70.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.4.tgz#f2a3a7996431a47a45ce1f5097352c5721417516" - integrity sha512-1e4jWotS20AJ/4lGVkZQs2wE0PvCpIRmPQEQ1FyH7wdyuewFFIxbUHqy6vAj1JWVFfAzbDakOQofrIkkHWLqNA== +react-native@>=0.66.5: + version "0.70.5" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.5.tgz#f60540b21d338891086e0a834e331c124dd1f55c" + integrity sha512-5NZM80LC3L+TIgQX/09yiyy48S73wMgpIgN5cCv3XTMR394+KpDI3rBZGH4aIgWWuwijz31YYVF5504+9n2Zfw== dependencies: "@jest/create-cache-key-function" "^29.0.3" "@react-native-community/cli" "9.2.1" From 322c2e9f9147a4d57d93565bcb03aa079289f513 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 7 Nov 2022 16:38:46 +0530 Subject: [PATCH 42/48] - Added the previous fix for RN build issue in gradle files --- android/build.gradle | 7 +++++++ example/android/build.gradle | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/android/build.gradle b/android/build.gradle index 901785a..8997306 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -65,7 +65,14 @@ dependencies { } } +def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim()) + allprojects { + configurations.all { + resolutionStrategy { + force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION + } + } repositories { google() diff --git a/example/android/build.gradle b/example/android/build.gradle index 5d6a8cf..50e3222 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -23,7 +23,14 @@ buildscript { } } +def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim()) + allprojects { + configurations.all { + resolutionStrategy { + force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION + } + } repositories { mavenLocal() maven { From 68fac55c6648e65852eab1f5368f7e1d55bcbc72 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 7 Nov 2022 17:40:08 +0530 Subject: [PATCH 43/48] - Updated documentation --- docs/events.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/events.md b/docs/events.md index 28c1f77..a4e67ad 100644 --- a/docs/events.md +++ b/docs/events.md @@ -152,9 +152,9 @@ It talks about more about the concurrency level errors on the stream. These even |AnalyticsEvents |Data sent to RN | iOS | Android | |------------|--------|----------|----------| -|`PHOENIX_CONCURRENCY_ERROR`|**TODO**|✅ |❌ | +|`PHOENIX_CONCURRENCY_ERROR`|   {
     "code": 4001(Number) ,
     "extra": KalturaAPIException(String),
     "message": Concurrent play limitation(String)
    }


   {
     "code": ConcurrencyLimitation(String) ,
     "extra": KalturaAccessControlMessage(String),
     "message": Concurrency limitation(String)
     }
|✅ |❌ | |`PHOENIX_BOOKMARK_ERROR`|**TODO**|✅ |❌ | -|`PHOENIX_ERROR`|**TODO**|✅ |❌ | +|`PHOENIX_ERROR`|   {
     "code": 500015(Number) ,
     "extra": KalturaAPIException(String),
     "message": Invalid KS format(String),
     "name": OTTError(String)
     }


   {
     "code": 500016(Number) ,
     "extra": KalturaAPIException(String),
     "message": KS expired(String),
     "name": OTTError(String)
     }
|✅ |❌ | |`SOURCE_URL_SWITCHED`|   {
     "originalUrl": String,
     "updatedUrl": String
     }
|✅ |❌ | |`CDN_SWITCHED`|   {
     "cdnCode": String
     }
|✅ |❌ | |`BROADPEAK_ERROR`|   {
     "errorMessage": String,
     "errorCode": String
     }
|✅ |❌ | From ca358f751b5e56dbb686ca262539f5f15d843562 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 7 Nov 2022 19:10:15 +0530 Subject: [PATCH 44/48] - Updates example with external subtitles --- docs/player-functions.md | 19 ++++++++++++++++++- example/src/test/PlayerTest.json | 15 +++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/docs/player-functions.md b/docs/player-functions.md index 9e03429..4b970f3 100644 --- a/docs/player-functions.md +++ b/docs/player-functions.md @@ -105,7 +105,24 @@ Load the media with the given **assetId** OR **mediaId** OR **entryID** for OVP/ "key": "value" } ``` -* `externalSubtitleList` *JSONArray* - _**Optional**_ 🔴TODO +* `externalSubtitleList` *JSONArray* - _**Optional**_ + +```json + +"mediaAsset": { + "externalSubtitleList": [ + { + "url": "https://mkvtoolnix.download/samples/vsshort-en.srt", + "mimeType": "application/x-subrip", + "label": "External_English", + "language": "en", + "isDefault": true + } + ] + } + +``` + * `externalVttThumbnailUrl` - _**Optional**_ Pass the VTT thumbnail URL. These images will be shown when the user scrubs on the seekbar. To show the images logic should be handled by the FE app. You will recieve the additional information the `ImageTracks` of `TracksAvailable` event. [Check PlayerEvents](./player-event.md) [**`asset` for OVP/OTT Player**: _**Optional**_]() App can use the following config. Should only be used by the Kaltura BE users. diff --git a/example/src/test/PlayerTest.json b/example/src/test/PlayerTest.json index d65072f..5fe0a46 100644 --- a/example/src/test/PlayerTest.json +++ b/example/src/test/PlayerTest.json @@ -138,10 +138,21 @@ ], "dash": [ { - "id": "empty_initoptions_mediaAsset_test", + "id": "empty_initoptions_with_external_subtitles", "mediaList": [ { - "mediaId": "https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd" + "mediaId": "https://storage.googleapis.com/wvmedia/clear/h264/tears/tears.mpd", + "mediaAsset": { + "externalSubtitleList": [ + { + "url": "https://mkvtoolnix.download/samples/vsshort-en.srt", + "mimeType": "application/x-subrip", + "label": "External_English", + "language": "en", + "isDefault": true + } + ] + } } ] } From 4d8ae5c06b9369d69706515748570c5616b14e17 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Mon, 7 Nov 2022 19:19:37 +0530 Subject: [PATCH 45/48] - [Example app] If label is not there, take langauge for audio and text track --- example/src/components/TrackList.tsx | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/example/src/components/TrackList.tsx b/example/src/components/TrackList.tsx index 62066ae..1f3bf33 100644 --- a/example/src/components/TrackList.tsx +++ b/example/src/components/TrackList.tsx @@ -12,10 +12,23 @@ export default function TrackList(props) { incomingTrackList.map((val, idx) => val.isAdaptive === true ? val.bitrate = 'Adaptive' : val); labelFieldName = 'bitrate'; } else if (trackType === 'audio') { - incomingTrackList.map((val, idx) => val.isAdaptive === true ? val.bitrate = 'Adaptive' : val); - labelFieldName = 'label'; + incomingTrackList.map((val, idx) => { + val.isAdaptive === true ? val.bitrate = 'Adaptive' : val + if (val.label == null) { + labelFieldName = 'language'; + } else { + labelFieldName = 'label'; + } + }); + } else if (trackType === 'text') { - labelFieldName = 'label'; + incomingTrackList.map((val, idx) => { + if (val.label == null) { + labelFieldName = 'language'; + } else { + labelFieldName = 'label'; + } + }); } return ( From 6c4df9d0162e946f430a18010819ec22d7f715f9 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Wed, 9 Nov 2022 11:17:19 +0530 Subject: [PATCH 46/48] - Removed assigning platform version for ios which was 13.0 - Added lock file for example app --- example/ios/Podfile | 2 +- example/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/example/ios/Podfile b/example/ios/Podfile index 34966e3..4e2ee67 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,7 +1,7 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' -platform :ios, '13.0' +# platform :ios, '13.0' target 'KalturaPlayerExample' do use_frameworks! diff --git a/example/yarn.lock b/example/yarn.lock index ac73a10..b1cd1d0 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -3143,7 +3143,7 @@ kaltura-player-rn@../../kaltura-player-rn: dependencies: prop-types "^15.8.1" react "17.0.2" - react-native ">=0.66.3" + react-native ">=0.66.5" kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" @@ -4470,10 +4470,10 @@ react-native-svg@^12.1.0: css-select "^5.1.0" css-tree "^1.1.3" -react-native@>=0.66.3: - version "0.70.4" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.4.tgz#f2a3a7996431a47a45ce1f5097352c5721417516" - integrity sha512-1e4jWotS20AJ/4lGVkZQs2wE0PvCpIRmPQEQ1FyH7wdyuewFFIxbUHqy6vAj1JWVFfAzbDakOQofrIkkHWLqNA== +react-native@>=0.66.5: + version "0.70.5" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.70.5.tgz#f60540b21d338891086e0a834e331c124dd1f55c" + integrity sha512-5NZM80LC3L+TIgQX/09yiyy48S73wMgpIgN5cCv3XTMR394+KpDI3rBZGH4aIgWWuwijz31YYVF5504+9n2Zfw== dependencies: "@jest/create-cache-key-function" "^29.0.3" "@react-native-community/cli" "9.2.1" From 13d43ee9ca37b7a272fbf97d3afec14dc60f0f25 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Wed, 9 Nov 2022 11:19:25 +0530 Subject: [PATCH 47/48] - Reverted pod file changes --- example/ios/Podfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/ios/Podfile b/example/ios/Podfile index 4e2ee67..34966e3 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,7 +1,7 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' -# platform :ios, '13.0' +platform :ios, '13.0' target 'KalturaPlayerExample' do use_frameworks! From f85c38bc40ea1011c0de48c2d0af258cb69b7b35 Mon Sep 17 00:00:00 2001 From: Gourav Saxena Date: Wed, 9 Nov 2022 14:48:52 +0530 Subject: [PATCH 48/48] - Made logic more clear --- ios/Basic/BasicKalturaPlayerRN.swift | 13 +++++++------ ios/KalturaPlayerRN.swift | 12 ++++++------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/ios/Basic/BasicKalturaPlayerRN.swift b/ios/Basic/BasicKalturaPlayerRN.swift index d7149ef..a49739d 100644 --- a/ios/Basic/BasicKalturaPlayerRN.swift +++ b/ios/Basic/BasicKalturaPlayerRN.swift @@ -42,11 +42,12 @@ class BasicKalturaPlayerRN: KalturaPlayerRN { let mediaOptions = basicMediaAsset.getMediaOptions() var drmData:[PlayKit.DRMParams]? = nil - if let assetDRMData = basicMediaAsset.drmData { - if (!assetDRMData.isEmpty) { - if let licenseUri = assetDRMData[0].licenseUri, !licenseUri.isEmpty, - let base64EncodedCertificate = assetDRMData[0].base64EncodedCertificate, !base64EncodedCertificate.isEmpty { - switch Scheme(string: assetDRMData[0].scheme ?? "") { + if let assetDRMData = basicMediaAsset.drmData, !assetDRMData.isEmpty { + let assetDrmData = assetDRMData[0] + + if let licenseUri = assetDrmData.licenseUri, !licenseUri.isEmpty, + let base64EncodedCertificate = assetDrmData.base64EncodedCertificate, !base64EncodedCertificate.isEmpty { + switch Scheme(string: assetDrmData.scheme ?? "") { case .fairplay: drmData = [FairPlayDRMParams(licenseUri: licenseUri, base64EncodedCertificate: base64EncodedCertificate)] @@ -60,7 +61,7 @@ class BasicKalturaPlayerRN: KalturaPlayerRN { break } } - } + } kalturaBasicPlayer.setupMediaEntry(id: basicMediaAsset.id ?? basicMediaAsset.name ?? assetId, diff --git a/ios/KalturaPlayerRN.swift b/ios/KalturaPlayerRN.swift index bc5292c..86a3553 100644 --- a/ios/KalturaPlayerRN.swift +++ b/ios/KalturaPlayerRN.swift @@ -264,11 +264,12 @@ extension KalturaPlayerRN { let mediaOptions = basicMediaAsset.getMediaOptions() var drmData:[PlayKit.DRMParams]? = nil - if let assetDRMData = basicMediaAsset.drmData { - if (!assetDRMData.isEmpty) { - if let licenseUri = assetDRMData[0].licenseUri, !licenseUri.isEmpty, - let base64EncodedCertificate = assetDRMData[0].base64EncodedCertificate, !base64EncodedCertificate.isEmpty { - switch Scheme(string: assetDRMData[0].scheme ?? "") { + if let assetDRMData = basicMediaAsset.drmData, !assetDRMData.isEmpty { + let assetDrmData = assetDRMData[0] + + if let licenseUri = assetDrmData.licenseUri, !licenseUri.isEmpty, + let base64EncodedCertificate = assetDrmData.base64EncodedCertificate, !base64EncodedCertificate.isEmpty { + switch Scheme(string: assetDrmData.scheme ?? "") { case .fairplay: drmData = [FairPlayDRMParams(licenseUri: licenseUri, base64EncodedCertificate: base64EncodedCertificate)] @@ -282,7 +283,6 @@ extension KalturaPlayerRN { break } } - } } var mediaSource = [PKMediaSource]()