all files / src/reducers/ bundler.js

42.86% Statements 6/14
23.08% Branches 3/13
100% Functions 1/1
38.46% Lines 5/13
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 8213×                                           140× 35×                                                                                                       35×          
import {
    CLEAR_BROADCASTER_PREPARATIONS,
    CLEAR_BUNDLER_INITIAL_UPDATE_PREPARATIONS,
    SET_BUNDLER_UPDATE_PREPARATIONS,
    CLEAR_BUNDLER_UPDATE_PREPARATIONS,
    CLEAR_NEWLY_MODIFIED_FILE_FLAG,
    SET_WATCHER_MODIFIED_FILE,
    SET_BUNDLER_NODE_ONLY_FILE_MODIFIED,
    SET_BUNDLER_INVALID_FILE,
    CLEAR_BUNDLER_INVALID_FILE,
    CLEAR_BUNDLER_PENDING_REQUEST
} from '../constants/actionTypes.js'
 
const initialState = {
    initial: true,
    update: false,
    updating: false,
    invalidFile: null,
    filesInvalidated: false,
    modifiedFile: null,
    pendingRequest: true
}
 
const bundler = (bundler = initialState, { type, payload }) => {
    switch (type) {
        case CLEAR_BROADCASTER_PREPARATIONS:
            return  {
                ...bundler,
                update: true
            }
        case SET_BUNDLER_INVALID_FILE:
            return  {
                ...bundler,
                invalidFile: payload,
                updating: false
            }
        case CLEAR_BUNDLER_INVALID_FILE:
            return  {
                ...bundler,
                invalidFile: null,
                modifiedFile: null,
                pendingRequest: true
            }
        case SET_BUNDLER_NODE_ONLY_FILE_MODIFIED:
        case CLEAR_NEWLY_MODIFIED_FILE_FLAG:
            return  {
                ...bundler,
                modifiedFile: null,
                pendingRequest: true
            }
        case CLEAR_BUNDLER_PENDING_REQUEST:
            return  {
                ...bundler,
                filesInvalidated: true,
                pendingRequest: false
            }
        case SET_WATCHER_MODIFIED_FILE:
            return  {
                ...bundler,
                filesInvalidated: false,
                modifiedFile: { ...payload }
            }
        case SET_BUNDLER_UPDATE_PREPARATIONS:
            return  {
                ...bundler,
                updating: true
            }
        case CLEAR_BUNDLER_INITIAL_UPDATE_PREPARATIONS:
        case CLEAR_BUNDLER_UPDATE_PREPARATIONS:
            return  {
                ...bundler,
                initial: false,
                updating: false,
                filesInvalidated: false
            }
        default:
            return bundler
    }
}
 
export default bundler