@wener/console
Version:
Base console UI toolkit
65 lines (64 loc) • 2 kB
JavaScript
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();
}