react-web-native-sketch
Version:
[TODO: We need an overview of how this can be used via npm vs as a local package]
82 lines • 3.83 kB
JavaScript
;
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
var commonActions_1 = require("./commonActions");
var TypeKeys;
(function (TypeKeys) {
TypeKeys["SET_CODE_PUSH_CHECKED"] = "react-web-native-sketch/persisted/SET_CODE_PUSH_CHECKED";
TypeKeys["UPDATE_PERSIST"] = "react-web-native-sketch/persisted/UPDATE_PERSIST";
TypeKeys["SET_HEADERS"] = "react-web-native-sketch/persisted/SET_HEADERS";
TypeKeys["REHYDRATE"] = "persist/REHYDRATE";
})(TypeKeys = exports.TypeKeys || (exports.TypeKeys = {}));
exports.initialState = {
codePush: {
codePushChecked: false,
},
};
exports.persisted = function (state, action) {
if (state === void 0) { state = exports.initialState; }
switch (action.type) {
case commonActions_1.CommonTypeKeys.LOGIN_SUCCESS:
case commonActions_1.CommonTypeKeys.SIGNUP_SUCCESS:
// we'll store userData in persisted so that we only persist persisted
return __assign({}, state, { login: {
userData: action.response,
validated2FA: !action.response.uses2fa,
isLoggedIn: !action.response.uses2fa,
}, headers: __assign({}, (state.headers || {}), { Authorization: "Bearer " + action.response.accessToken }) });
case commonActions_1.CommonTypeKeys.LOGIN:
case commonActions_1.CommonTypeKeys.SIGNUP:
case commonActions_1.CommonTypeKeys.LOGIN_FAIL:
case commonActions_1.CommonTypeKeys.SIGNUP_FAIL:
case commonActions_1.CommonTypeKeys.LOGOUT_SUCCESS:
return __assign({}, state, { login: {}, headers: __assign({}, (state.headers || {}), { Authorization: undefined }) });
case commonActions_1.CommonTypeKeys.VALIDATE_2FA:
return __assign({}, state, { login: __assign({}, (state.login || {}), { validated2FA: undefined }) });
case commonActions_1.CommonTypeKeys.VALIDATE_2FA_SUCCESS:
return __assign({}, state, { login: __assign({}, (state.login || {}), { validated2FA: true, isLoggedIn: true }) });
case commonActions_1.CommonTypeKeys.VALIDATE_2FA_FAIL:
return __assign({}, state, { login: __assign({}, (state.login || {}), { validated2FA: false, isLoggedIn: false }) });
case TypeKeys.REHYDRATE:
if (action.payload.persisted) {
// setTheme(action.payload.persisted.params ? action.payload.persisted.params.theme : {});
// setTranslations(action.payload.persisted.params && action.payload.persisted.params.translations);
}
return __assign({}, (action.payload && action.payload.persisted), state, { persistComplete: true });
case TypeKeys.SET_CODE_PUSH_CHECKED:
return __assign({}, state, { codePush: {
codePushChecked: true
} });
case TypeKeys.UPDATE_PERSIST:
return __assign({}, state, { other: __assign({}, (state.other || {}), action.data) });
case TypeKeys.SET_HEADERS:
return __assign({}, state, { headers: action.headers });
default:
return state;
}
};
exports.updatePersist = function (data) {
return {
type: TypeKeys.UPDATE_PERSIST,
data: data,
};
};
exports.setCodePushChecked = function () {
return {
type: TypeKeys.SET_CODE_PUSH_CHECKED
};
};
exports.setHeaders = function (headers) {
return {
type: TypeKeys.SET_HEADERS,
headers: headers,
};
};
//# sourceMappingURL=persisted.js.map