@taraai/read-write
Version:
Synchronous NoSQL/Firestore for React
98 lines (80 loc) • 2.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
exports.requestedReducer = requestedReducer;
exports.requestingReducer = requestingReducer;
exports.timestampsReducer = timestampsReducer;
var _constants = require("../constants");
var _reducers = require("../utils/reducers");
var _query = require("../utils/query");
const {
SET_LISTENER,
UNSET_LISTENER,
LISTENER_ERROR,
LISTENER_RESPONSE
} = _constants.actionTypes;
function requestingReducer() {
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
let {
type,
meta
} = arguments.length > 1 ? arguments[1] : undefined;
switch (type) {
case SET_LISTENER:
return { ...state,
[(0, _reducers.getSlashStrPath)((0, _query.getQueryName)(meta))]: true
};
case LISTENER_ERROR:
case LISTENER_RESPONSE:
case UNSET_LISTENER:
return { ...state,
[(0, _reducers.getSlashStrPath)((0, _query.getQueryName)(meta))]: false
};
default:
return state;
}
}
function requestedReducer() {
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
let {
type,
meta
} = arguments.length > 1 ? arguments[1] : undefined;
switch (type) {
case SET_LISTENER:
case UNSET_LISTENER:
return { ...state,
[(0, _query.getQueryName)(meta)]: false
};
case LISTENER_ERROR:
case LISTENER_RESPONSE:
return { ...state,
[(0, _query.getQueryName)(meta)]: true
};
default:
return state;
}
}
function timestampsReducer() {
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
let {
type,
meta
} = arguments.length > 1 ? arguments[1] : undefined;
switch (type) {
case SET_LISTENER:
return { ...state,
[(0, _query.getQueryName)(meta)]: Date.now()
};
default:
return state;
}
}
var _default = (0, _reducers.combineReducers)({
requesting: requestingReducer,
requested: requestedReducer,
timestamps: timestampsReducer
});
exports.default = _default;