all files / src/reducers/ bundle.js

87.5% Statements 14/16
85.71% Branches 12/14
100% Functions 1/1
86.67% Lines 13/15
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 82 83 84 85 86 87 88 89 90 91 9214×                                             142× 71×                                                                                                         58×          
import {
    CLEAR_PACKAGER_INSTALLATION_PREPARATION,
    SET_BUNDLES_INITIALIZED_FLAG,
    SET_BUNDLES_UPDATING_FLAG,
    CLEAR_BUNDLES_UPDATING_FLAG,
    CLEAR_NEWLY_MODIFIED_FILE_FLAG,
    SET_MODIFIED_ENV_FILE,
    SET_NODE_ONLY_FILE_CHANGE_FLAG,
    SET_FILES_INVALIDATED_FLAG,
    SET_INVALID_BUNDLE_FILE,
    CLEAR_INVALID_BUNDLE_FILE,
    CLEAR_PENDING_BUNDLE_FLAG
} from '../constants/actionTypes.js'
 
const initialState = {
    bundle: false,
    bundlesInitialized: null,
    updating: null,
    newlyModifiedFile: null,
    invalidFile: null,
    filesInvalidated: null,
    pending: null
}
 
const bundle = (bundle = initialState, action) => {
    switch (action.type) {
        case CLEAR_PACKAGER_INSTALLATION_PREPARATION:
            return  {
                ...bundle,
                bundle: true
            }
        case SET_INVALID_BUNDLE_FILE:
            return  {
                ...bundle,
                invalidFile: action.payload,
                updating: false
            }
        case CLEAR_INVALID_BUNDLE_FILE:
            return  {
                ...bundle,
                invalidFile: false,
                newlyModifiedFile: false,
                pending: true
            }
        case SET_BUNDLES_INITIALIZED_FLAG:
            return  {
                ...bundle,
                updating: false,
                bundlesInitialized: !bundle.bundlesInitialized
            }
        case SET_NODE_ONLY_FILE_CHANGE_FLAG:
        case CLEAR_NEWLY_MODIFIED_FILE_FLAG:
            return  {
                ...bundle,
                newlyModifiedFile: false,
                pending: true
            }
        case CLEAR_PENDING_BUNDLE_FLAG:
            return  {
                ...bundle,
                filesInvalidated: true,
                pending: false
            }
        case SET_FILES_INVALIDATED_FLAG:
            return  {
                ...bundle,
                filesInvalidated: true
            }
        case SET_MODIFIED_ENV_FILE:
            return  {
                ...bundle,
                filesInvalidated: false,
                newlyModifiedFiles: true
            }
        case SET_BUNDLES_UPDATING_FLAG:
            return  {
                ...bundle,
                updating: true
            }
        case CLEAR_BUNDLES_UPDATING_FLAG:
            return  {
                ...bundle,
                updating: false,
                filesInvalidated: false
            }
        default:
            return bundle
    }
}
 
export default bundle