import { SYMBOL_LOOKUP } from '../constants/symbol-lookup.constant'; import type { UsecaseSymbolModel } from '../types/usecase-symbol-model.interface'; import type { UsecaseSymbolId } from '../types/utility.type'; import { createSymbolId } from './create-symbol-id.function'; export function getSymbolById( type: Type, name: Name, ): UsecaseSymbolModel | null; export function getSymbolById( id: UsecaseSymbolId, ): UsecaseSymbolModel | null; export function getSymbolById(typeOrId: string, name?: string) { const fullId = typeof name === 'string' ? createSymbolId(typeOrId, name) : createSymbolId(typeOrId); if (SYMBOL_LOOKUP.has(fullId)) { return SYMBOL_LOOKUP.get(fullId); } return null; }