UNPKG

@corvu/utils

Version:

Utilities for corvu

26 lines (25 loc) 701 B
// src/create/keyedContext.ts import { createContext, useContext } from "solid-js"; var keyedContexts = /* @__PURE__ */ new Map(); var createKeyedContext = (key, defaultValue) => { if (keyedContexts.has(key)) { return keyedContexts.get(key); } const keyedContext = createContext(defaultValue); keyedContexts.set(key, keyedContext); return keyedContext; }; var getKeyedContext = (key) => { const keyedContext = keyedContexts.get(key); return keyedContext; }; var useKeyedContext = (key) => { const keyedContext = keyedContexts.get(key); if (!keyedContext) return void 0; return useContext(keyedContext); }; export { createKeyedContext, getKeyedContext, useKeyedContext };