@helenejs/react
Version:
Real-time Web Apps for Node.js
28 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useAuth = useAuth;
const react_1 = require("react");
const use_client_1 = require("./use-client");
const use_object_1 = require("./use-object");
const use_throttled_events_1 = require("./use-throttled-events");
const utils_1 = require("@helenejs/utils");
function useAuth() {
const client = (0, use_client_1.useClient)();
const [authenticated, setAuthenticated] = (0, react_1.useState)(() => client.authenticated);
const [context, setContext] = (0, react_1.useState)(() => client.context);
const updateState = (0, react_1.useCallback)(() => {
setAuthenticated(client.authenticated);
setContext(client.context);
}, []);
(0, use_throttled_events_1.useThrottledEvents)(client, [
utils_1.ClientEvents.INITIALIZED,
utils_1.ClientEvents.LOGOUT,
utils_1.ClientEvents.CONTEXT_CHANGED,
], updateState, [updateState], 16);
return (0, use_object_1.useObject)({
client,
authenticated,
context,
});
}
//# sourceMappingURL=use-auth.js.map