| export function resolveGlobalSingleton<T>(key: symbol, create: () => T): T { | |
| const globalStore = globalThis as Record<PropertyKey, unknown>; | |
| if (Object.prototype.hasOwnProperty.call(globalStore, key)) { | |
| return globalStore[key] as T; | |
| } | |
| const created = create(); | |
| globalStore[key] = created; | |
| return created; | |
| } | |
| export function resolveGlobalMap<TKey, TValue>(key: symbol): Map<TKey, TValue> { | |
| return resolveGlobalSingleton(key, () => new Map<TKey, TValue>()); | |
| } | |