Refactorings

This commit is contained in:
Jacob Nguyen
2024-04-28 14:14:51 -05:00
parent 30230d49c3
commit 6228f53244
5 changed files with 14 additions and 23 deletions

View File

@@ -14,7 +14,6 @@ export function makePlugin<V extends unknown[]>(
}
/**
* @since 2.5.0
* @__PURE__
*/
export function EventInitPlugin<I extends EventType>(
execute: (...args: EventArgs<I, PluginType.Init>) => PluginResult,
@@ -23,7 +22,6 @@ export function EventInitPlugin<I extends EventType>(
}
/**
* @since 2.5.0
* @__PURE__
*/
export function CommandInitPlugin<I extends CommandType>(
execute: (...args: CommandArgs<I, PluginType.Init>) => PluginResult,
@@ -32,7 +30,6 @@ export function CommandInitPlugin<I extends CommandType>(
}
/**
* @since 2.5.0
* @__PURE__
*/
export function CommandControlPlugin<I extends CommandType>(
execute: (...args: CommandArgs<I, PluginType.Control>) => PluginResult,
@@ -41,7 +38,6 @@ export function CommandControlPlugin<I extends CommandType>(
}
/**
* @since 2.5.0
* @__PURE__
*/
export function EventControlPlugin<I extends EventType>(
execute: (...args: EventArgs<I, PluginType.Control>) => PluginResult,

View File

@@ -50,14 +50,12 @@ const createResult = createResultResolver<
export function eventDispatcher(module: Processed<Module>, source: unknown) {
assert.ok(source instanceof EventEmitter, `${source} is not an EventEmitter`);
const execute: OperatorFunction<unknown[], unknown> = concatMap(async args =>
module.execute(...args),
);
return fromEvent(source, module.name).pipe(
intoPayload(module),
concatMap(createResult),
execute,
);
const execute: OperatorFunction<unknown[], unknown> =
concatMap(async args => module.execute(...args));
return fromEvent(source, module.name)
.pipe(intoPayload(module),
concatMap(createResult),
execute);
}
export function createDispatcher(payload: {

View File

@@ -169,7 +169,6 @@ export function executeModule(
}
/**
* A higher order function that
* - creates a stream of {@link VoidResult} { config.createStream }
@@ -235,15 +234,13 @@ export function makeModuleExecutor<
module,
args
});
return concatMap(
createResultResolver({
return createResultResolver({
onStop,
createStream: ({ args, module }) =>
from(module.onEvent)
.pipe(callPlugin(args)),
onNext,
}),
);
})
}
export const handleCrash = (err: ErrorHandling,sernemitter: Emitter, log?: Logging) =>

View File

@@ -1,5 +1,5 @@
import { Interaction } from 'discord.js';
import { mergeMap, merge } from 'rxjs';
import { mergeMap, merge, concatMap } from 'rxjs';
import { PayloadType } from '../core';
import {
isAutocomplete,
@@ -27,7 +27,7 @@ export function interactionHandler([emitter, err, log, modules, client]: Depende
return interactionHandler$
.pipe(
filterTap(e => emitter.emit('warning', resultPayload(PayloadType.Warning, undefined, e))),
makeModuleExecutor(module =>
emitter.emit('module.activate', resultPayload(PayloadType.Failure, module, SernError.PluginFailure))),
concatMap(makeModuleExecutor(module =>
emitter.emit('module.activate', resultPayload(PayloadType.Failure, module, SernError.PluginFailure)))),
mergeMap(payload => executeModule(emitter, log, err, payload)));
}

View File

@@ -1,4 +1,4 @@
import { mergeMap, EMPTY } from 'rxjs';
import { mergeMap, EMPTY, concatMap } from 'rxjs';
import type { Message } from 'discord.js';
import { PayloadType } from '../core';
import { sharedEventStream, SernError, filterTap, resultPayload } from '../core/_internal';
@@ -39,9 +39,9 @@ export function messageHandler(
return msgCommands$.pipe(
filterTap((e) => emitter.emit('warning', resultPayload(PayloadType.Warning, undefined, e))),
makeModuleExecutor(module => {
concatMap(makeModuleExecutor(module => {
const result = resultPayload(PayloadType.Failure, module, SernError.PluginFailure);
emitter.emit('module.activate', result);
}),
})),
mergeMap(payload => executeModule(emitter, log, err, payload)));
}