UNPKG

@wener/console

Version:
65 lines (64 loc) 2 kB
import { getGlobalStates, setGlobalStates } from "@wener/utils"; import { useStore } from "zustand"; import { getSiteStore as _getSiteStore } from "../foundation/site/SiteStore.js"; import { getConsoleEmitter as _getConsoleEmitter, ConsoleEventType } from "./ConsoleEmitter.js"; import { createRouteStore } from "./store/RouteStore.js"; import { createUserStore } from "./store/UserStore.js"; export { ConsoleEventType }; function createConsoleContext(param) { var emitter = param.emitter; emitter || (emitter = _getConsoleEmitter()); var routeStore = createRouteStore(); var userStore = createUserStore(); var ctx = { getAccessToken: function () { return undefined; }, getEmitter: function () { return emitter; }, getRouteStore: function () { return routeStore; }, getSiteStore: _getSiteStore, getUserStore: function () { return userStore; }, useUserId: function () { return useStore(getUserStore(), function (s) { return s.id; }); } }; return { emitter: emitter, context: ctx }; } var ConsoleContextKey = "ConsoleContext"; export function getConsoleContext() { return getGlobalStates(ConsoleContextKey, function () { return createConsoleContext({}).context; }); } export function setConsoleContext(context) { setGlobalStates(ConsoleContextKey, context); } export function getAccessToken() { return getConsoleContext().getAccessToken(); } export function useUserId() { return getConsoleContext().useUserId(); } export function getRouteStore() { return getConsoleContext().getRouteStore(); } export function getSiteStore() { return getConsoleContext().getSiteStore(); } export function getUserStore() { return getConsoleContext().getUserStore(); } export function getConsoleEmitter() { return getConsoleContext().getEmitter(); }