(nodeData: INodeData, options: ICommonObject)
| 708 | } |
| 709 | |
| 710 | static getInstance(nodeData: INodeData, options: ICommonObject): AnalyticHandler { |
| 711 | const chatId = options.chatId |
| 712 | if (!chatId) throw new Error('ChatId is required for analytics') |
| 713 | |
| 714 | // Reset instance if analytics config changed for this chat |
| 715 | const instance = AnalyticHandler.instances.get(chatId) |
| 716 | if (instance?.analyticsConfig !== options.analytic) { |
| 717 | AnalyticHandler.resetInstance(chatId) |
| 718 | } |
| 719 | |
| 720 | if (!AnalyticHandler.instances.get(chatId)) { |
| 721 | AnalyticHandler.instances.set(chatId, new AnalyticHandler(nodeData, options)) |
| 722 | } |
| 723 | return AnalyticHandler.instances.get(chatId)! |
| 724 | } |
| 725 | |
| 726 | static resetInstance(chatId: string): void { |
| 727 | AnalyticHandler.instances.delete(chatId) |
no test coverage detected