UNPKG

@wener/console

Version:

Base console UI toolkit

43 lines (42 loc) 931 B
import { useMemo } from "react"; import { createStore } from "zustand"; export function useLogger(name) { return useMemo(()=>getLogger(name), [ name ]); } const Store = createStore(()=>{ return { loggers: {} }; }); export function getLogger(name) { const state = Store.getState(); let { loggers: { [name]: log } } = state; if (!log) { log = createLogger(name); Store.setState({ loggers: { ...state.loggers, [name]: log } }); } return log; } function createLogger(name) { const log = (...args)=>{ if (!name) { return console.log(...args); } return console.log(`[${name}]`, ...args); }; return Object.assign(log, { log, debug: log, info: log, error: log, warn: log }); } //# sourceMappingURL=useLogger.js.map