All files / Api/ResumePoints/Streams createResumePointsTriggerStream.js

75% Statements 6/8
100% Branches 0/0
33.33% Functions 1/3
85.71% Lines 6/7

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 37 38 39 40 41 42 431x 1x   1x                           1x             5x           5x                        
import { filter, withLatestFrom, map } from 'rxjs/operators';
import { combineLatest, merge } from 'rxjs';
 
const flattenStream = ([
    currentTime,
    [
        latestConfig,
        latestPlayback,
        latestPlayerPlayback,
    ],
]) => [
    currentTime,
    latestConfig,
    latestPlayback,
    latestPlayerPlayback,
];
 
const createResumePointsTriggerStream = (
    resumePointsInterval$,
    playbackSeek$,
    configStoreUpdate$,
    playbackUpdate$,
    playerPlaybackUpdate$,
) => {
    const configPlaybackAndPlayer$ = combineLatest(
        configStoreUpdate$,
        playbackUpdate$,
        playerPlaybackUpdate$,
    );
 
    return merge(
        resumePointsInterval$,
        playbackSeek$,
    )
        .pipe(
            filter(currentTime => currentTime > 0),
            withLatestFrom(configPlaybackAndPlayer$),
            map(flattenStream),
        );
};
 
export default createResumePointsTriggerStream;