mirror of
https://github.com/sern-handler/handler
synced 2026-06-27 18:22:14 +00:00
step 1
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
import { ClientEvents } from 'discord.js';
|
||||
import { EventType } from '../core/structures';
|
||||
import type {
|
||||
AnyEventPlugin,
|
||||
} from '../types/core-plugin';
|
||||
import type { AnyEventPlugin, } from '../types/core-plugin';
|
||||
import type {
|
||||
CommandModule,
|
||||
EventModule,
|
||||
@@ -11,18 +9,27 @@ import type {
|
||||
} from '../types/core-modules';
|
||||
import { partitionPlugins } from './_internal';
|
||||
import type { Awaitable } from '../types/utility';
|
||||
|
||||
import callsites from 'callsites';
|
||||
import * as Files from './module-loading'
|
||||
import path, { basename } from 'path';
|
||||
import * as Id from './id'
|
||||
/**
|
||||
* @since 1.0.0 The wrapper function to define command modules for sern
|
||||
* @param mod
|
||||
*/
|
||||
export function commandModule(mod: InputCommand): CommandModule {
|
||||
const [onEvent, plugins] = partitionPlugins(mod.plugins);
|
||||
const initCallsite = callsites()[1].getFileName()?.replace(/file:\\?/, "");
|
||||
if(!initCallsite) throw Error("initCallsite is null");
|
||||
const filename = Files.parseCallsite(initCallsite);
|
||||
mod.name ??= filename;
|
||||
const id = Id.create(mod.name, mod.type)
|
||||
return {
|
||||
...mod,
|
||||
__id: id,
|
||||
onEvent,
|
||||
plugins,
|
||||
} as CommandModule;
|
||||
} as unknown as CommandModule;
|
||||
}
|
||||
/**
|
||||
* @since 1.0.0
|
||||
@@ -31,6 +38,9 @@ export function commandModule(mod: InputCommand): CommandModule {
|
||||
*/
|
||||
export function eventModule(mod: InputEvent): EventModule {
|
||||
const [onEvent, plugins] = partitionPlugins(mod.plugins);
|
||||
const initCallsite = callsites()[1].getFileName();
|
||||
console.log(initCallsite?.replace(/file:\\?/, ""))
|
||||
|
||||
return {
|
||||
...mod,
|
||||
plugins,
|
||||
|
||||
Reference in New Issue
Block a user