feat: move new things to top level import

This commit is contained in:
Jacob Nguyen
2022-06-24 15:53:49 -05:00
parent 106d3d61f9
commit 27be769228
4 changed files with 15 additions and 13 deletions

View File

@@ -1,16 +1,7 @@
import { EventEmitter } from 'events';
import type { Module } from './structures/module';
import type { SernEventsMapping } from '../types/handler';
export type Payload =
| { type: 'success'; module: Module }
| { type: 'failure'; module: Module | undefined; reason: string | Error };
export type SernEventsMapping = {
['module.register']: [Payload];
['module.activate']: [Payload];
['error']: [Error | string];
};
export default class SernEmitter extends EventEmitter {
class SernEmitter extends EventEmitter {
/**
* Listening to sern events with on. This event stays on until a crash or a normal exit
* @param eventName
@@ -45,3 +36,5 @@ export default class SernEmitter extends EventEmitter {
return super.emit(eventName, ...args);
}
}
export default SernEmitter;

View File

@@ -1,4 +1,4 @@
import type { Override } from '../../types/handler';
import type { Override, SernEventsMapping } from '../../types/handler';
import type { BaseModule } from './module';
import type {
CommandPlugin,
@@ -7,7 +7,6 @@ import type {
SernEmitterPlugin,
} from '../plugins/plugin';
import type { CommandType } from './enums';
import type { SernEventsMapping } from '../sernEmitter';
import type { Awaitable, ClientEvents } from 'discord.js';
export type SernEventCommand<T extends keyof SernEventsMapping = keyof SernEventsMapping> =

View File

@@ -1,4 +1,6 @@
import SernEmitter from './handler/sernEmitter';
export * as Sern from './handler/sern';
export * from './types/handler';
export * from './handler/structures/structxports';
export * from './handler/plugins/plugin';
export { SernEmitter };

View File

@@ -41,3 +41,11 @@ export type SpreadParams<T extends (...args: any) => unknown> = (
export type DefinedModule = DefinitelyDefined<Module, 'name' | 'description'>;
export type DefinedCommandModule = DefinitelyDefined<CommandModule, 'name' | 'description'>;
export type DefinedEventModule = DefinitelyDefined<EventModule, 'name' | 'description'>;
export type Payload =
| { type: 'success'; module: Module }
| { type: 'failure'; module: Module | undefined; reason: string | Error };
export type SernEventsMapping = {
['module.register']: [Payload];
['module.activate']: [Payload];
['error']: [Error | string];
};