UNPKG

@twreporter/redux

Version:

redux actions and reducers for twreporter website

75 lines (74 loc) 2.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = bookmarkWidget; var _actionTypes = _interopRequireDefault(require("../constants/action-types")); var _get = _interopRequireDefault(require("lodash/get")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var _ = { get: _get["default"] }; var initState = { actionType: null, isRequesting: false, bookmark: null, errorMessage: null }; function bookmarkWidget() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initState; var action = arguments.length > 1 ? arguments[1] : undefined; switch (action.type) { case _actionTypes["default"].singleBookmark.read.request: case _actionTypes["default"].singleBookmark["delete"].request: case _actionTypes["default"].singleBookmark.create.request: { return { actionType: action.type, isRequesting: true, bookmark: _.get(state, 'bookmark'), errorMessage: null }; } case _actionTypes["default"].singleBookmark.read.success: { return { actionType: action.type, isRequesting: false, bookmark: _.get(action, 'payload.data.record'), errorMessage: null }; } case _actionTypes["default"].singleBookmark["delete"].success: { return { actionType: action.type, isRequesting: false, bookmark: null, errorMessage: null }; } case _actionTypes["default"].singleBookmark.create.success: { return { actionType: action.type, isRequesting: false, bookmark: _.get(action, 'payload.data.record'), errorMessage: null }; } case _actionTypes["default"].singleBookmark.read.failure: case _actionTypes["default"].singleBookmark["delete"].failure: case _actionTypes["default"].singleBookmark.create.failure: { return { actionType: action.type, isRequesting: false, bookmark: _.get(state, 'bookmark'), errorMessage: _.get(action, 'payload.error.message') }; } default: return state; } }