just-paja/radio-drama-queen

View on GitHub
src/soundCategories/sagas/categoryLoopToggle.js

Summary

Maintainability
A
0 mins
Test Coverage
import { categoryRoutines } from '../actions'
import { categoryStore } from '../store'
import { put, select, takeEvery } from 'redux-saga/effects'
import { soundRoutines } from '../../sounds'

function * handleCategoryLoopToggle () {
  yield takeEvery(categoryRoutines.toggleLoop.TRIGGER, function * ({ payload: categoryUuid }) {
    const category = yield select(categoryStore.getObject, categoryUuid)
    if (category) {
      yield put(category.loop
        ? soundRoutines.loopOff(category.sounds)
        : soundRoutines.loopOn(category.sounds))
      yield put(categoryRoutines.toggleLoop.success(categoryUuid))
    }
    yield put(categoryRoutines.toggleLoop.fulfill(categoryUuid))
  })
}

export default [
  handleCategoryLoopToggle
]