UNPKG

@daiso-tech/core

Version:

The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.

21 lines (20 loc) 908 B
/** * @module EventBus */ import type { IEventBus } from "../../event-bus/contracts/event-bus.contract.js"; import type { BaseEvent } from "../../event-bus/contracts/_shared.js"; /** * The `IEventBusFactory` contract makes it easy to configure and switch between different {@link IEventBus | `IEventBus`} dynamically. * * IMPORT_PATH: `"@daiso-tech/core/event-bus/contracts"` * @group Contracts */ export type IEventBusFactory<TAdapters extends string = string> = { /** * The `use` method will throw an error if you provide it unregisted adapter. * If no default adapter is defined an error will be thrown by `use` method. * @throws {UnregisteredAdapterError} {@link UnregisteredAdapterError} * @throws {DefaultAdapterNotDefinedError} {@link DefaultAdapterNotDefinedError} */ use<TEvents extends BaseEvent = BaseEvent>(adapterName?: TAdapters): IEventBus<TEvents>; };