{"file":"/home/diablo/dev/dbl-utils/__tests__/event-handler.test.ts","mappings":";;;;;;;;;;;AAAA,wDAAoD;AAEpD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAE5B,IAAI,YAA0B,CAAC;IAE/B,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,GAAG,IAAI,4BAAY,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAS,EAAE;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACtE,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE7E,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACnD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAS,EAAE;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/B,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE5D,8BAA8B;QAC9B,MAAM,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE9C,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEhD,6BAA6B;QAC7B,MAAM,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACtE,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAE5D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEnF,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1E,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACnD,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/B,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC5D,MAAM,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEzC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEhD,4DAA4D;QAC5D,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,WAAW,IAAK,YAAoB,CAAC,KAAK,CAAC;QACvE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAA,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC","names":[],"sources":["/home/diablo/dev/dbl-utils/__tests__/event-handler.test.ts"],"sourcesContent":["import { EventHandler } from '../src/event-handler';\r\n\r\ndescribe('EventHandler', () => {\r\n\r\n  let eventHandler: EventHandler;\r\n\r\n  beforeEach(() => {\r\n    eventHandler = new EventHandler();\r\n  });\r\n\r\n  it('should subscribe to and dispatch an event', async () => {\r\n    const mockCallback = jest.fn().mockResolvedValue('callback response');\r\n    eventHandler.subscribe('testEvent', mockCallback, 'testId');\r\n\r\n    const responses = await eventHandler.dispatch('testEvent', 'data1', 'data2');\r\n\r\n    expect(mockCallback).toHaveBeenCalledWith('data1', 'data2', 'testId');\r\n    expect(responses).toEqual(['callback response']);\r\n  });\r\n\r\n  it('should unsubscribe from an event', async () => {\r\n    const mockCallback = jest.fn();\r\n    eventHandler.subscribe('testEvent', mockCallback, 'testId');\r\n\r\n    // Dispatch before unsubscribe\r\n    await eventHandler.dispatch('testEvent');\r\n    expect(mockCallback).toHaveBeenCalledTimes(1);\r\n\r\n    eventHandler.unsubscribe('testEvent', 'testId');\r\n\r\n    // Dispatch after unsubscribe\r\n    await eventHandler.dispatch('testEvent');\r\n    expect(mockCallback).toHaveBeenCalledTimes(1);\r\n  });\r\n\r\n  it('should handle wildcards in subscriptions', async () => {\r\n    const mockCallback = jest.fn().mockResolvedValue('wildcard response');\r\n    eventHandler.subscribe('test*', mockCallback, 'wildcardId');\r\n\r\n    const responses = await eventHandler.dispatch('testWildCard___', 'data1', 'data2');\r\n\r\n    expect(mockCallback).toHaveBeenCalledWith('data1', 'data2', 'wildcardId');\r\n    expect(responses).toEqual(['wildcard response']);\r\n  });\r\n\r\n  it('should update cache correctly when unsubscribing', async () => {\r\n    const mockCallback = jest.fn();\r\n    eventHandler.subscribe('testEvent', mockCallback, 'testId');\r\n    await eventHandler.dispatch('testEvent');\r\n\r\n    eventHandler.unsubscribe('testEvent', 'testId');\r\n\r\n    // Manually checking cache should not have testEvent anymore\r\n    const cacheKeyExist = () => 'testEvent' in (eventHandler as any).cache;\r\n    expect(cacheKeyExist()).toBe(false);\r\n  });\r\n\r\n});\n\n"],"version":3}