{"version":3,"file":"DIContext.mjs","sources":["../../../src/lib/contexts/DIContext.ts"],"sourcesContent":["/**\n * @file DI Context\n * @description Context for dependency injection (Fast Refresh compliant).\n */\n\nimport { createContext } from 'react';\n\n/**\n * Service contract\n */\nexport interface ServiceContract {\n  id: symbol;\n  name: string;\n}\n\n/**\n * Service registration\n */\nexport interface ServiceRegistration<T> {\n  contract: ServiceContract;\n  factory: () => T;\n  singleton?: boolean;\n  tags?: string[];\n}\n\n/**\n * Feature DI container\n */\nexport interface FeatureDIContainer {\n  register: <T>(registration: ServiceRegistration<T>) => void;\n  resolve: <T>(contract: ServiceContract) => T;\n  tryResolve: <T>(contract: ServiceContract) => T | undefined;\n  has: (contract: ServiceContract) => boolean;\n  resolveByTag: <T>(tag: string) => T[];\n  clear: () => void;\n}\n\n/**\n * DI context - extracted for Fast Refresh compliance\n */\nexport const DIContext = createContext<FeatureDIContainer | null>(null);\n\nDIContext.displayName = 'DIContext';\n"],"names":["DIContext","createContext"],"mappings":";AAwCO,MAAMA,IAAYC,EAAyC,IAAI;AAEtED,EAAU,cAAc;"}