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
|