3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-07-07 19:17:19 +00:00

feat: update knub; update public interfaces for new knub

This commit is contained in:
Dragory 2024-03-30 13:31:30 +00:00
parent c2ae6d53d8
commit c89c5ea430
No known key found for this signature in database
15 changed files with 193 additions and 241 deletions

View file

@ -10,7 +10,7 @@ import {
PermissionsBitField,
TextBasedChannel,
} from "discord.js";
import { AnyPluginData, CommandContext, ExtendedMatchParams, GuildPluginData, helpers } from "knub";
import { AnyPluginData, BasePluginData, CommandContext, ExtendedMatchParams, GuildPluginData, helpers } from "knub";
import { logger } from "./logger";
import { isStaff } from "./staff";
import { TZeppelinKnub } from "./types";
@ -124,3 +124,16 @@ export function mapToPublicFn<T extends AnyFn>(inputFn: T) {
};
};
}
type FnWithPluginData<TPluginData> = (pluginData: TPluginData, ...args: any[]) => any;
export function makePublicFn<TPluginData extends BasePluginData<any>, T extends FnWithPluginData<TPluginData>>(
pluginData: TPluginData,
fn: T,
) {
return (...args: Tail<Parameters<T>>): ReturnType<T> => {
return fn(pluginData, ...args);
};
}
// ???