UNPKG

@stackend/api

Version:

JS bindings to api.stackend.com

35 lines 1.6 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.loginReducer = exports.REQUEST_LOGIN_DATA = exports.UPDATE_LOGIN_DATA = exports.LOGOUT = exports.LOGIN = void 0; var get_1 = __importDefault(require("lodash/get")); var AccessToken_1 = require("../api/AccessToken"); exports.LOGIN = 'LOGIN'; exports.LOGOUT = 'LOGOUT'; exports.UPDATE_LOGIN_DATA = 'UPDATE_LOGIN_DATA'; exports.REQUEST_LOGIN_DATA = 'REQUEST_LOGIN_DATA'; var loginReducer = function (state, action) { if (state === void 0) { state = { isLoggedIn: false, lastUpdated: 0, user: null }; } var now = new Date().getTime(); switch (action.type) { case exports.LOGIN: return Object.assign({}, state, { isLoggedIn: true, lastUpdated: now }); case exports.LOGOUT: (0, AccessToken_1.clearPersistentData)(); return Object.assign({}, state, { isLoggedIn: false, lastUpdated: now }); case exports.REQUEST_LOGIN_DATA: return state; case exports.UPDATE_LOGIN_DATA: if ((0, get_1.default)(action, 'json.user')) { return Object.assign({}, { isLoggedIn: true, lastUpdate: now }, action.json); } return Object.assign({}, state, { isLoggedIn: false, lastUpdated: now }); default: return state; } }; exports.loginReducer = loginReducer; exports.default = exports.loginReducer; //# sourceMappingURL=loginReducer.js.map