All files / Player connectPlayerSubscriptions.js

86.67% Statements 13/15
100% Branches 0/0
50% Functions 1/2
92.31% Lines 12/13

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 43 44 45 46 47 481x   1x 1x 1x 1x 1x 1x   20x           5x   10x   5x             5x                                          
import { filter } from 'rxjs/operators';
 
import createPlayerLoadStream from './Streams/createPlayerLoadStream';
import createPlayerInteractionsStream from './Streams/createPlayerInteractionsStream';
import subscribeToPlayerInteractions from './Subscribers/subscribeToPlayerInteractions';
import createLoadManifestStream from './Streams/createLoadManifestStream';
import subscribeToManifestLoadStream from './Subscribers/subscribeToManifestLoadStream';
import subscribeToPlayerErrors from './Subscribers/subscribeToPlayerErrors';
 
const connectPlayerSubscriptions = middleware => {
    const {
        playback,
        resumePoints,
        config,
        asset,
    } = middleware.state.stores;
 
    const { player, consumerOutput } = middleware;
 
    const playerLoad$ = createPlayerLoadStream(
        playback.update$.pipe(filter(({ isEnabled }) => isEnabled)),
        resumePoints.update$,
        config.update$,
        asset.update$,
    );
 
    return [
        subscribeToManifestLoadStream(
            createLoadManifestStream(
                playerLoad$,
                middleware.player,
                middleware.errorsHandler.handleError,
            ),
            middleware.player,
        ),
        subscribeToPlayerInteractions(
            createPlayerInteractionsStream(player.interactions$),
            consumerOutput.playerInteractions$,
        ),
        subscribeToPlayerErrors(
            middleware.player.errors$,
            middleware.errorsHandler.handleError,
        ),
    ];
};
 
export default connectPlayerSubscriptions;