@empathyco/x-components
Version:
Empathy X Components
22 lines (13 loc) • 1.6 kB
Markdown
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@empathyco/x-components](./x-components.md) > [XBus](./x-components.xbus.md)
## XBus interface
Event bus to emit and subscribe to events.
**Signature:**
```typescript
export interface XBus<SomeEvents extends Dictionary, SomeEventMetadata extends Dictionary>
```
## Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [emit](./x-components.xbus.emit.md) | | (<SomeEvent extends keyof SomeEvents>(event: SomeEvent) => Promise<[EmittedData](./x-components.emitteddata.md)<!-- --><SomeEvents, SomeEvent, SomeEventMetadata>>) \| (<SomeEvent extends keyof SomeEvents>(event: SomeEvent, payload: [EventPayload](./x-components.eventpayload.md)<!-- --><SomeEvents, SomeEvent>, metadata?: SomeEventMetadata) => Promise<[EmittedData](./x-components.emitteddata.md)<!-- --><SomeEvents, SomeEvent, SomeEventMetadata>>) | Emits an event with the <code>void</code> type associated as payload. |
| [on](./x-components.xbus.on.md) | | <SomeEvent extends keyof SomeEvents>(event: SomeEvent, withMetadata?: boolean) => typeof withMetadata extends true ? Observable<[SubjectPayload](./x-components.subjectpayload.md)<!-- --><[EventPayload](./x-components.eventpayload.md)<!-- --><SomeEvents, SomeEvent>, SomeEventMetadata>> : Observable<[EventPayload](./x-components.eventpayload.md)<!-- --><SomeEvents, SomeEvent>> | Retrieves an observable for an event. |