This commit is contained in:
Jacob Nguyen
2024-05-13 16:06:02 -05:00
parent 6e2f4b616f
commit 0a05cbba3f
3 changed files with 16 additions and 17 deletions

View File

@@ -11,12 +11,11 @@ const once = (log: Logging | undefined) => pipe(
export function readyHandler(
[sEmitter, , log, client]: DependencyList,
allPaths: ObservableInput<string>,
) {
//Todo: add module manager on on ready
const ready$ = fromEvent(client!, 'ready').pipe(once(log));
return concat(ready$).pipe(callInitPlugins(sEmitter))
return concat(ready$).pipe(callInitPlugins(sEmitter)).subscribe()
// const validModuleType = module.type >= 0 && module.type <= 1 << 10;
// assert.ok(validModuleType,
// `Found ${module.name} at ${module.meta.fullPath}, which does not have a valid type`);

View File

@@ -1,13 +1,13 @@
import { ObservableInput } from 'rxjs';
import { ObservableInput, map, mergeAll } from 'rxjs';
import { EventType, SernError } from '../core/structures/enums';
import { eventDispatcher } from './event-utils'
import { callInitPlugins, eventDispatcher, handleCrash } from './event-utils'
import { Service } from '../core/ioc';
import type { DependencyList } from '../types/ioc';
import type { EventModule, Processed } from '../types/core-modules';
export function eventsHandler(
[emitter, err, log, client]: DependencyList,
allPaths: ObservableInput<string>,
//allPaths: ObservableInput<string>,
) {
//code smell
const intoDispatcher = (e: { module: Processed<EventModule> }) => {
@@ -22,14 +22,14 @@ export function eventsHandler(
throw Error(SernError.InvalidModuleType + ' while creating event handler');
}
};
buildModules<EventModule>(allPaths)
.pipe(
callInitPlugins(emitter),
map(intoDispatcher),
/**
* Where all events are turned on
*/
mergeAll(),
handleCrash(err, emitter, log))
.subscribe();
//buildModules<EventModule>(allPaths)
// pipe(
// callInitPlugins(emitter),
// map(intoDispatcher),
// /**
// * Where all events are turned on
// */
// mergeAll(),
// handleCrash(err, emitter, log))
// .subscribe();
}

View File

@@ -38,13 +38,13 @@ export function init(wrapper?: Wrapper) {
errorHandler = dependencies[1];
if (wrapper.events !== undefined) {
eventsHandler(dependencies, Files.getFullPathTree(wrapper.events));
eventsHandler(dependencies);
}
const initCallsite = callsites()[1].getFileName();
const presencePath = Files.shouldHandle(initCallsite!, "presence");
//Ready event: load all modules and when finished, time should be taken and logged
readyHandler(dependencies, Files.getFullPathTree(wrapper.commands))
readyHandler(dependencies)
.add(() => {
logger?.info({ message: "Client signaled ready, registering modules" });
const time = ((performance.now() - startTime) / 1000).toFixed(2);