feat: add new interfaces

This commit is contained in:
Jacob Nguyen
2023-07-17 09:59:50 -05:00
parent 7a80638a1b
commit f1917da3e6
3 changed files with 130 additions and 0 deletions

View File

@@ -19,6 +19,9 @@ tags: [release]
- Init Hooks
- implement starting behavior for dependencies
- To enforce and type check this, use the `Initializable` type when making your Dependencies type!
- Emitter interface
- More generic interface to define any event emitter
- You can now swap out the SernEmitter with whatever emitter now.
```ts
class DatabaseService implements Init {
//some hypothetical database

View File

@@ -0,0 +1,70 @@
---
id: "Emitter"
title: "Interface: Emitter"
sidebar_label: "Emitter"
sidebar_position: 0
custom_edit_url: null
---
## Methods
### addListener
**addListener**(`eventName`, `listener`): [`Emitter`](Emitter.md)
#### Parameters
| Name | Type |
| :------ | :------ |
| `eventName` | `string` \| `symbol` |
| `listener` | `AnyFunction` |
#### Returns
[`Emitter`](Emitter.md)
#### Defined in
[src/core/contracts/emitter.ts:4](https://github.com/sern-handler/handler/blob/5e3dcf8/src/core/contracts/emitter.ts#L4)
___
### emit
**emit**(`eventName`, `...payload`): `boolean`
#### Parameters
| Name | Type |
| :------ | :------ |
| `eventName` | `string` \| `symbol` |
| `...payload` | `any`[] |
#### Returns
`boolean`
#### Defined in
[src/core/contracts/emitter.ts:6](https://github.com/sern-handler/handler/blob/5e3dcf8/src/core/contracts/emitter.ts#L6)
___
### removeListener
**removeListener**(`eventName`, `listener`): [`Emitter`](Emitter.md)
#### Parameters
| Name | Type |
| :------ | :------ |
| `eventName` | `string` \| `symbol` |
| `listener` | `AnyFunction` |
#### Returns
[`Emitter`](Emitter.md)
#### Defined in
[src/core/contracts/emitter.ts:5](https://github.com/sern-handler/handler/blob/5e3dcf8/src/core/contracts/emitter.ts#L5)

View File

@@ -0,0 +1,57 @@
---
id: "SernEventsMapping"
title: "Interface: SernEventsMapping"
sidebar_label: "SernEventsMapping"
sidebar_position: 0
custom_edit_url: null
---
## Properties
### error
**error**: [[`Payload`](../modules.md#payload)]
#### Defined in
[src/types/utility.ts:21](https://github.com/sern-handler/handler/blob/5e3dcf8/src/types/utility.ts#L21)
___
### module.activate
**module.activate**: [[`Payload`](../modules.md#payload)]
#### Defined in
[src/types/utility.ts:20](https://github.com/sern-handler/handler/blob/5e3dcf8/src/types/utility.ts#L20)
___
### module.register
**module.register**: [[`Payload`](../modules.md#payload)]
#### Defined in
[src/types/utility.ts:19](https://github.com/sern-handler/handler/blob/5e3dcf8/src/types/utility.ts#L19)
___
### modulesLoaded
**modulesLoaded**: [undefined?]
#### Defined in
[src/types/utility.ts:23](https://github.com/sern-handler/handler/blob/5e3dcf8/src/types/utility.ts#L23)
___
### warning
**warning**: [[`Payload`](../modules.md#payload)]
#### Defined in
[src/types/utility.ts:22](https://github.com/sern-handler/handler/blob/5e3dcf8/src/types/utility.ts#L22)