@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
45 lines • 1.83 kB
JavaScript
exports.__esModule = true;
exports.userApi = void 0;
var tslib_1 = require("tslib");
var user_slice_1 = require("../features/user-slice");
var main_api_1 = require("./main-api");
exports.userApi = main_api_1.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 tslib_1.__awaiter(this, void 0, void 0, function () {
var data, error_1;
return tslib_1.__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((0, user_slice_1.setLoggedIn)(true));
dispatch((0, user_slice_1.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
;