@taraai/read-write
Version:
Synchronous NoSQL/Firestore for React
78 lines (62 loc) • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _constants = require("../constants");
var _query = require("../utils/query");
var _reducers = require("../utils/reducers");
const {
CLEAR_ERRORS,
CLEAR_ERROR,
LISTENER_ERROR,
ERROR
} = _constants.actionTypes;
function errorsAllIds() {
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
let {
meta,
type
} = arguments.length > 1 ? arguments[1] : undefined;
switch (type) {
case LISTENER_ERROR:
case ERROR:
if (state.indexOf((0, _query.getQueryName)(meta)) !== -1) {
return state;
}
return [...state, (0, _query.getQueryName)(meta)];
case CLEAR_ERRORS:
return [];
case CLEAR_ERROR:
return state.filter(lId => lId !== (0, _query.getQueryName)(meta));
default:
return state;
}
}
function errorsByQuery() {
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
let {
meta,
payload,
type
} = arguments.length > 1 ? arguments[1] : undefined;
switch (type) {
case ERROR:
case LISTENER_ERROR:
return { ...state,
[(0, _query.getQueryName)(meta)]: payload
};
case CLEAR_ERROR:
return { ...state,
[(0, _query.getQueryName)(meta)]: null
};
default:
return state;
}
}
const errorsReducer = (0, _reducers.combineReducers)({
byQuery: errorsByQuery,
allIds: errorsAllIds
});
var _default = errorsReducer;
exports.default = _default;