All files / State/Concurrency/Subscribers subscribeToPlaybackApiResponse.js

88.89% Statements 8/9
75% Branches 3/4
100% Functions 2/2
87.5% Lines 7/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 371x   1x   6x           1x 1x                     6x   1x                        
import isEmpty from '../../../Shared/Utils/isEmpty';
 
const ONE_SECOND_IN_MS = 1000;
 
const subscribeToPlaybackApiResponse = (
    playbackApiResponse$,
    concurrencyStore,
) =>
    playbackApiResponse$
        .subscribe(playbackResponse => {
            const playbackLock = playbackResponse && playbackResponse.playbackLock;
            Iif (isEmpty(playbackLock))  {
                return concurrencyStore.actions.disableFeature();
            }
 
            const {
                concurrencyServiceUrl,
                encryptedLock,
                lockId,
                playerId,
                sequenceToken,
                updateLockIntervalSeconds,
            } = playbackLock;
 
            concurrencyStore.actions.updateConcurrency({
                partialServiceUrl: concurrencyServiceUrl,
                encryptedLock,
                lockId,
                playerId,
                sequenceToken,
                updateIntervalMs: updateLockIntervalSeconds * ONE_SECOND_IN_MS,
                isEnabled: true,
            });
        });
 
export default subscribeToPlaybackApiResponse;