@rtbjs/use-state
Version:
`@rtbjs/use-state` is a state management tool that can act as a local state and be easily turned into a global redux state. It is an innovative approach to state management that combines the advantages of both React's useState and Redux's state management
42 lines • 1.73 kB
JavaScript
import { __awaiter, __generator } from "tslib";
import { setLoggedIn, setUser } from '../features/user-slice';
import { mainApi } from './main-api';
export var userApi = mainApi.injectEndpoints({
endpoints: function (builder) { return ({
getMe: builder.query({
query: function () {
return {
url: 'users/me',
credentials: 'same-origin'
};
},
transformResponse: function (result) {
return result.data.user;
},
onQueryStarted: function (_args, _a) {
var dispatch = _a.dispatch, queryFulfilled = _a.queryFulfilled;
return __awaiter(this, void 0, void 0, function () {
var data, error_1;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
_b.trys.push([0, 2, , 3]);
return [4 /*yield*/, queryFulfilled];
case 1:
data = (_b.sent()).data;
dispatch(setLoggedIn(true));
dispatch(setUser(data));
return [3 /*break*/, 3];
case 2:
error_1 = _b.sent();
return [3 /*break*/, 3];
case 3: return [2 /*return*/];
}
});
});
},
providesTags: [{ type: 'Users' }]
})
}); }
});
//# sourceMappingURL=user-api.js.map